Beispiel #1
0
        public object GetGiftOrderDetail(long id)
        {
            CheckUserLogin();
            var orderdata = GiftsOrderApplication.GetOrder(id, CurrentUser.Id);

            if (orderdata == null)
            {
                return(Json(ErrorResult <dynamic>("错误的订单编号!")));
            }
            //Mapper.CreateMap<GiftOrderInfo, GiftsOrderDtoModel>();
            // Mapper.CreateMap<GiftOrderItemInfo, GiftOrderItemDtoModel>();
            //_iGiftsOrderService.OrderAddUserInfo(orderlist);
            orderdata.Address     = ClearHtmlString(orderdata.Address);
            orderdata.CloseReason = ClearHtmlString(orderdata.CloseReason);
            orderdata.UserRemark  = ClearHtmlString(orderdata.UserRemark);

            var result = orderdata.Map <GiftsOrderDtoModel>();

            result.Items        = new List <GiftOrderItemDtoModel>();
            result.OrderDateStr = result.OrderDate.ToString("yyyy-MM-dd HH:mm:ss");
            var items = GiftsOrderApplication.GetOrderItemByOrder(orderdata.Id);

            foreach (var subitem in items)
            {
                var tmporditemobj = subitem.Map <GiftOrderItemDtoModel>();
                tmporditemobj.DefaultImage = MallIO.GetRomoteProductSizeImage(tmporditemobj.ImagePath, 1, ImageSize.Size_150.GetHashCode());
                result.Items.Add(tmporditemobj);
            }
            return(Json(result));
        }
Beispiel #2
0
        public object GetGiftExpressInfo(long orderId)
        {
            CheckUserLogin();
            var order = GiftsOrderApplication.GetOrder(orderId, CurrentUser.Id);


            List <object> TracesList = new List <object>();

            //取订单物流信息
            if (!string.IsNullOrWhiteSpace(order.ShipOrderNumber))
            {
                var expressData = ExpressApplication.GetExpressData(order.ExpressCompanyName, order.ShipOrderNumber);
                if (expressData.Success)
                {
                    expressData.ExpressDataItems = expressData.ExpressDataItems.OrderByDescending(item => item.Time);//按时间逆序排列
                    foreach (var item in expressData.ExpressDataItems)
                    {
                        var traces = new
                        {
                            acceptStation = item.Content,
                            acceptTime    = item.Time.ToString("yyyy-MM-dd HH:mm:ss")
                        };
                        TracesList.Add(traces);
                    }
                }
            }
            var data = new
            {
                LogisticsData = new
                {
                    success = TracesList.Count > 0,
                    traces  = TracesList
                },
                ExpressCompanyName = order.ExpressCompanyName,
                ShipOrderNumber    = order.ShipOrderNumber,
                ShipTo             = order.ShipTo,
                CellPhone          = order.CellPhone,
                Address            = order.RegionFullName + order.Address
            };

            //var expressData = ExpressApplication.GetExpressData(order.ExpressCompanyName, order.ShipOrderNumber);
            //if (expressData == null)
            //{
            //    return Json(ErrorResult<dynamic>("没有物流记录!",data:new { ExpressNum = order.ShipOrderNumber, ExpressCompanyName = order.ExpressCompanyName, Comment = "" }));
            //}
            //if (expressData.Success)
            //    expressData.ExpressDataItems = expressData.ExpressDataItems.OrderByDescending(item => item.Time);//按时间逆序排列
            //var json = new
            //{
            //    Success = expressData.Success,
            //    Msg = expressData.Message,
            //    Data = expressData.ExpressDataItems.Select(item => new
            //    {
            //        time = item.Time.ToString("yyyy-MM-dd HH:mm:ss"),
            //        content = item.Content
            //    })
            //};
            return(Json(data));
        }
Beispiel #3
0
        public object GetOrderCount()
        {
            CheckUserLogin();
            dynamic result = new System.Dynamic.ExpandoObject();
            long    curid  = CurrentUser.Id;

            result.AllCount           = GiftsOrderApplication.GetOrderCount(null, curid);
            result.WaitDeliveryCount  = GiftsOrderApplication.GetOrderCount(Mall.Entities.GiftOrderInfo.GiftOrderStatus.WaitDelivery, curid);
            result.WaitReceivingCount = GiftsOrderApplication.GetOrderCount(Mall.Entities.GiftOrderInfo.GiftOrderStatus.WaitReceiving, curid);
            result.FinishCount        = GiftsOrderApplication.GetOrderCount(Mall.Entities.GiftOrderInfo.GiftOrderStatus.Finish, curid);
            return(Json(result));
        }
Beispiel #4
0
        public object PostConfirmOrderOver(GiftConfirmOrderOver value)
        {
            CheckUserLogin();
            long id = value.OrderId;

            if (id < 1)
            {
                return(Json(ErrorResult <bool>("错误的订单编号!")));
            }
            Result result = new Result();

            GiftsOrderApplication.ConfirmOrder(id, CurrentUser.Id);

            return(Json(new { msg = "订单完成", code = 1 }));
        }
Beispiel #5
0
        public object GetCanBuy(long id, int count)
        {
            CheckUserLogin();
            var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id);
            //礼品信息
            var giftdata = GiftApplication.GetById(id);

            if (giftdata == null)
            {
                return(Json(ErrorResult <bool>("礼品不存在!", code: -2)));
            }
            if (giftdata.GetSalesStatus != Mall.Entities.GiftInfo.GiftSalesStatus.Normal)
            {
                return(Json(ErrorResult <bool>("礼品已失效!", code: -2)));
            }
            //库存判断
            if (count > giftdata.StockQuantity)
            {
                return(Json(ErrorResult <bool>("礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!", code: -3)));
            }
            //积分数
            if (giftdata.NeedIntegral < 1)
            {
                return(Json(ErrorResult <bool>("礼品关联等级信息有误或礼品积分数据有误!", code: -5)));
            }
            //限购数量
            if (giftdata.LimtQuantity > 0)
            {
                int ownbuynumber = GiftsOrderApplication.GetOwnBuyQuantity(CurrentUser.Id, id);
                if (ownbuynumber + count > giftdata.LimtQuantity)
                {
                    return(Json(ErrorResult <bool>("超过礼品限兑数量!", code: -4)));
                }
            }
            if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals)
            {
                return(Json(ErrorResult <bool>("积分不足!", code: -6)));
            }
            //等级判定
            if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade))
            {
                return(Json(ErrorResult <bool>("用户等级不足!", code: -6)));
            }
            return(Json(new { success = true, msg = "可以购买!", code = 1 }));
        }
Beispiel #6
0
        /// <summary>
        /// 获取礼品订单列表
        /// </summary>
        /// <param name="skey"></param>
        /// <param name="status"></param>
        /// <param name="page"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        public JsonResult <Result <dynamic> > GetMyOrderList(string skey = "", Himall.Entities.GiftOrderInfo.GiftOrderStatus?status = null, int pageNo = 1, int pageSize = 10)
        {
            CheckUserLogin();
            GiftsOrderQuery query = new GiftsOrderQuery();

            query.Skey = skey;
            if (status != null)
            {
                if ((int)status != 0)
                {
                    query.Status = status;
                }
            }
            query.UserId   = CurrentUser.Id;
            query.PageSize = pageSize;
            query.PageNo   = pageNo;
            var orderdata = GiftsOrderApplication.GetOrders(query);
            List <Himall.Entities.GiftOrderInfo> orderlist = orderdata.Models.ToList();
            var result = orderlist.ToList();

            Mapper.CreateMap <GiftOrderInfo, GiftsOrderDtoModel>();
            Mapper.CreateMap <GiftOrderItemInfo, GiftOrderItemDtoModel>();
            List <GiftsOrderDtoModel> pagedata = new List <GiftsOrderDtoModel>();

            foreach (var order in result)
            {
                order.Address     = ClearHtmlString(order.Address);
                order.CloseReason = ClearHtmlString(order.CloseReason);
                order.UserRemark  = ClearHtmlString(order.UserRemark);

                var tmpordobj = Mapper.Map <GiftsOrderDtoModel>(order);
                tmpordobj.Items = new List <GiftOrderItemDtoModel>();
                var orderitems = GiftsOrderApplication.GetOrderItemByOrder(order.Id);
                foreach (var subitem in orderitems)
                {
                    var tmporditemobj = Mapper.Map <GiftOrderItemDtoModel>(subitem);
                    tmporditemobj.DefaultImage = HimallIO.GetRomoteProductSizeImage(tmporditemobj.ImagePath, 1, ImageSize.Size_150.GetHashCode());
                    tmpordobj.Items.Add(tmporditemobj);
                }
                pagedata.Add(tmpordobj);
            }

            return(JsonResult <dynamic>(new { Total = orderdata.Total, GiftOrders = pagedata }));
        }
Beispiel #7
0
        public object PostSubmitOrder(GiftConfirmOrderModel value)
        {
            CheckUserLogin();
            long id        = value.ID;
            var  addressId = value.AddressId;

            if (addressId < 1)
            {
                return(Json(ErrorResult <bool>("错误的收货地址!", code: -8)));
            }
            int count = value.Count;

            if (count < 1)
            {
                return(Json(ErrorResult <bool>("错误的兑换数量!", code: -8)));
            }
            List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>();
            var curUser = MemberApplication.GetMember(CurrentUser.Id);

            if (curUser == null)
            {
                return(Json(ErrorResult <bool>("用户登录错误!", code: -6)));
            }
            var userInte = MemberIntegralApplication.GetMemberIntegral(curUser.Id);

            //礼品信息
            var giftdata = GiftApplication.GetById(id);

            if (giftdata == null)
            {
                return(Json(ErrorResult <bool>("礼品不存在!", code: -2)));
            }

            if (giftdata.GetSalesStatus != Entities.GiftInfo.GiftSalesStatus.Normal)
            {
                return(Json(ErrorResult <bool>("礼品已失效!", code: -2)));
            }

            //库存判断
            if (count > giftdata.StockQuantity)
            {
                return(Json(ErrorResult <bool>("礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!", code: -3)));
            }

            //积分数
            if (giftdata.NeedIntegral < 1)
            {
                return(Json(ErrorResult <bool>("礼品关联等级信息有误或礼品积分数据有误!", code: -5)));
            }
            //限购数量
            if (giftdata.LimtQuantity > 0)
            {
                int ownbuynumber = GiftsOrderApplication.GetOwnBuyQuantity(CurrentUser.Id, id);
                if (ownbuynumber + count > giftdata.LimtQuantity)
                {
                    return(Json(ErrorResult <bool>("超过礼品限兑数量!", code: -4)));
                }
            }
            if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals)
            {
                return(Json(ErrorResult <bool>("积分不足!", code: -6)));
            }

            //等级判定
            if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade))
            {
                return(Json(ErrorResult <bool>("用户等级不足!", code: -6)));
            }
            Entities.ShippingAddressInfo shipdata = GetShippingAddress(addressId);
            if (shipdata == null)
            {
                return(Json(ErrorResult <bool>("错误的收货人地址信息!", code: -6)));
            }
            gorditemlist.Add(new GiftOrderItemModel {
                GiftId = giftdata.Id, Counts = count
            });
            GiftOrderModel createorderinfo = new GiftOrderModel();

            createorderinfo.Gifts          = gorditemlist;
            createorderinfo.CurrentUser    = curUser;
            createorderinfo.ReceiveAddress = shipdata;
            var orderdata = GiftsOrderApplication.CreateOrder(createorderinfo);

            return(Json(new { success = true, msg = orderdata.Id.ToString(), code = 1 }));
        }
Beispiel #8
0
        public object GetGiftDetail(long id)
        {
            GiftsDetailModel result = new GiftsDetailModel();
            var data = GiftApplication.GetById(id);

            // Mapper.CreateMap<Entities.GiftInfo, GiftsDetailModel>();
            result = data.Map <GiftsDetailModel>();
            if (data == null)
            {
                throw new Exception("礼品信息无效!");
            }
            result.EndDateStr = data.EndDate.ToString("yyyy-MM-dd HH:mm:ss");
            string tmpdefaultimg = result.GetImage(ImageSize.Size_100);

            result.DefaultShowImage = MallIO.GetRomoteImagePath(tmpdefaultimg);
            result.Images           = new List <string>();
            result.Description      = result.Description.Replace("src=\"/Storage/", "src=\"" + Core.MallIO.GetRomoteImagePath("/Storage/") + "/");

            //补充图片信息
            for (var _n = 1; _n < 6; _n++)
            {
                string _imgpath = data.ImagePath + "/" + _n.ToString() + ".png";
                if (MallIO.ExistFile(_imgpath))
                {
                    var tmp = MallIO.GetRomoteImagePath(result.GetImage(ImageSize.Size_500, _n));
                    result.Images.Add(tmp);
                }
            }

            #region 礼品是否可兑
            result.CanBuy = true;
            //礼品信息
            if (result.CanBuy)
            {
                if (result.GetSalesStatus != Mall.Entities.GiftInfo.GiftSalesStatus.Normal)
                {
                    result.CanBuy       = false;
                    result.CanNotBuyDes = "礼品" + result.ShowSalesStatus;
                }
            }

            if (result.CanBuy)
            {
                //库存判断
                if (result.StockQuantity < 1)
                {
                    result.CanBuy       = false;
                    result.CanNotBuyDes = "已兑完";
                }
            }

            if (result.CanBuy)
            {
                //积分数
                if (result.NeedIntegral < 1)
                {
                    result.CanBuy       = false;
                    result.CanNotBuyDes = "礼品信息错误";
                }
            }
            #endregion

            #region 用户信息判断

            if (result.CanBuy && CurrentUser != null)
            {
                //限购数量
                if (result.LimtQuantity > 0)
                {
                    int ownbuynumber = GiftsOrderApplication.GetOwnBuyQuantity(CurrentUser.Id, id);
                    if (ownbuynumber >= result.LimtQuantity)
                    {
                        result.CanBuy       = false;
                        result.CanNotBuyDes = "限兑数量已满";
                    }
                }
                if (result.CanBuy)
                {
                    var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId);
                    if (userInte.AvailableIntegrals < result.NeedIntegral)
                    {
                        result.CanBuy       = false;
                        result.CanNotBuyDes = "积分不足";
                    }
                }
            }
            #endregion
            return(Json(result));
        }