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)); }
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)); }
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)); }
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 })); }
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 })); }
/// <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 })); }
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 })); }
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)); }