private void ShowOrderInfo(string orderId) { GiftOrderBll bll = new GiftOrderBll(); GiftOrderModel order = bll.GetModel(orderId, this.CurrentUser.UserId); if (order != null) { gvProducts.DataSource = bll.GetOrderItems(orderId); gvProducts.DataBind(); gvActionLog.DataSource = bll.GetChangeLogs(orderId); gvActionLog.DataBind(); lblOrderId.Text = order.OrderId; lblUserId.Text = order.UserId; lblOrderStatus.Text = order.OrderStatus.ToString(); lblCreateTime.Text = order.CreateTime.ToString("yyyy-MM-dd HH:mm"); lblShipMethod.Text = order.ShipMethod.ToString(); lblAddress.Text = order.RecieverProvince + order.RecieverCity + order.RecieverCounty + " " + order.AddressDetial; lblPostcode.Text = order.Postalcode; lblUserNotes.Text = order.UserNotes; lblTelePhone.Text = order.RecieverPhone; lblReceName.Text = order.RecieverName; lblEmail.Text = order.RecieverEmail; lblTotalScore.Text = order.TotalScore.ToString(); } }
/// <summary> /// 显示允许管理员操作的按钮 /// 支付成功,—— 审核通过,开始备货 /// 支付成功,—— 退还积分给买家,交易失败 /// 开始备货,—— 发货 /// 开始备货 —— 退还积分给买家,交易失败 /// 已发货,—— 物流确认到货,交易完成 /// 已发货,—— 买家拒收,退还积分给买家,交易失败 /// </summary> /// <param name="order"></param> private void ShowActions(GiftOrderModel order) { btnPrepareGoods.Visible = false; btnFail.Visible = false; btnSend.Visible = false; btnFinish.Visible = false; txtActionRemark.Visible = false; //if (order.OrderStatus == OrderStatus.交易完成 || order.OrderStatus == OrderStatus.交易失败) //{ // txtActionRemark.Visible = false; //} if (order.OrderStatus == OrderStatus.已创建) { btnFail.Visible = true; btnPrepareGoods.Visible = true; txtActionRemark.Visible = true; } else if (order.OrderStatus == OrderStatus.备货中) { btnFail.Visible = true; btnSend.Visible = true; txtActionRemark.Visible = true; } else if (order.OrderStatus == OrderStatus.已发货) { btnFail.Visible = true; btnFinish.Visible = true; txtActionRemark.Visible = true; } }
/// <summary> /// 置为订单完成,前置条件:物流已到货,且支付成功 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnFinish_Click(object sender, EventArgs e) { GiftOrderBll obll = new GiftOrderBll(); OrderChangeLogBll lbll = new OrderChangeLogBll(); GiftOrderModel order = obll.GetModel(lblOrderId.Text); if (order != null && order.OrderStatus == OrderStatus.已发货) { obll.ChangeOrderStatus(order.OrderId, OrderStatus.交易完成); lbll.Add(order.OrderId, txtActionRemark.Text.Trim(), OrderStatus.交易完成.ToString(), Context.User.Identity.Name); } ShowOrderInfo(lblOrderId.Text); }
/// <summary> /// 置为交易失败,前置条件为:货到付款订单,已发货;其他订单,已退款 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnFail_Click(object sender, EventArgs e) { GiftOrderBll obll = new GiftOrderBll(); OrderChangeLogBll lbll = new OrderChangeLogBll(); GiftOrderModel order = obll.GetModel(lblOrderId.Text); if (order != null && (order.OrderStatus == OrderStatus.已创建 || order.OrderStatus == OrderStatus.备货中 || order.OrderStatus == OrderStatus.已发货)) { obll.ChangeOrderStatus(order.OrderId, OrderStatus.交易失败); lbll.Add(order.OrderId, txtActionRemark.Text.Trim(), OrderStatus.交易失败.ToString(), Context.User.Identity.Name); MemberInfo.LogScore(order.UserId, NoName.NetShop.Common.ScoreType.Gift, order.TotalScore, order.OrderId, "订单失败,归还积分"); } ShowOrderInfo(lblOrderId.Text); }
public JsonResult OrderSubmit(long id, long regionId, int count) { Result result = new Result() { success = false, msg = "未知错误", status = 0 }; bool isdataok = true; if (count < 1) { isdataok = false; result.success = false; result.msg = "错误的兑换数量!"; result.status = -8; return(Json(result)); } //Checkout List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>(); #region 礼品信息判断 //礼品信息 GiftInfo giftdata = _iGiftService.GetById(id); if (giftdata == null) { isdataok = false; result.success = false; result.msg = "礼品不存在!"; result.status = -2; return(Json(result)); } if (giftdata.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { isdataok = false; result.success = false; result.msg = "礼品已失效!"; result.status = -2; return(Json(result)); } //库存判断 if (count > giftdata.StockQuantity) { isdataok = false; result.success = false; result.msg = "礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!"; result.status = -3; return(Json(result)); } //积分数 if (giftdata.NeedIntegral < 1) { isdataok = false; result.success = false; result.msg = "礼品关联等级信息有误或礼品积分数据有误!"; result.status = -5; return(Json(result)); } #endregion #region 用户信息判断 //限购数量 if (giftdata.LimtQuantity > 0) { int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber + count > giftdata.LimtQuantity) { isdataok = false; result.success = false; result.msg = "超过礼品限兑数量!"; result.status = -4; return(Json(result)); } } var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals) { isdataok = false; result.success = false; result.msg = "积分不足!"; result.status = -6; return(Json(result)); } if (giftdata.NeedGrade > 0) { //等级判定 if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade)) { isdataok = false; result.success = false; result.msg = "用户等级不足!"; result.status = -6; return(Json(result)); } } #endregion Entities.ShippingAddressInfo shipdata = GetShippingAddress(regionId); if (shipdata == null) { isdataok = false; result.success = false; result.msg = "错误的收货人地址信息!"; result.status = -6; return(Json(result)); } if (isdataok) { gorditemlist.Add(new GiftOrderItemModel { GiftId = giftdata.Id, Counts = count }); GiftOrderModel createorderinfo = new GiftOrderModel(); createorderinfo.Gifts = gorditemlist; createorderinfo.CurrentUser = CurrentUser; createorderinfo.ReceiveAddress = shipdata; Himall.Entities.GiftOrderInfo orderdata = _iGiftsOrderService.CreateOrder(createorderinfo); result.success = true; result.msg = orderdata.Id.ToString(); result.status = 1; } return(Json(result)); }
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 JsonResult SubmitOrder(long id, long regionId, int count) { Result result = new Result() { success = false, msg = "未知错误", status = 0 }; Result str = result; bool flag = true; if (count < 1) { flag = false; str.success = false; str.msg = "错误的兑换数量!"; str.status = -8; return(Json(str)); } List <GiftOrderItemModel> giftOrderItemModels = new List <GiftOrderItemModel>(); UserMemberInfo member = ServiceHelper.Create <IMemberService>().GetMember(base.CurrentUser.Id); GiftInfo byId = giftser.GetById(id); if (byId == null) { flag = false; str.success = false; str.msg = "礼品不存在!"; str.status = -2; return(Json(str)); } if (byId.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { flag = false; str.success = false; str.msg = "礼品己失效!"; str.status = -2; return(Json(str)); } if (count > byId.StockQuantity) { flag = false; str.success = false; int stockQuantity = byId.StockQuantity; str.msg = string.Concat("礼品库存不足,仅剩 ", stockQuantity.ToString(), " 件!"); str.status = -3; return(Json(str)); } if (byId.NeedIntegral < 1) { flag = false; str.success = false; str.msg = "礼品关联等级信息有误或礼品积分数据有误!"; str.status = -5; return(Json(str)); } if (byId.LimtQuantity > 0 && orderser.GetOwnBuyQuantity(base.CurrentUser.Id, id) + count > byId.LimtQuantity) { flag = false; str.success = false; str.msg = "超过礼品限兑数量!"; str.status = -4; return(Json(str)); } if (byId.NeedIntegral * count > member.AvailableIntegrals) { flag = false; str.success = false; str.msg = "积分不足!"; str.status = -6; return(Json(str)); } if (member.HistoryIntegral < byId.GradeIntegral) { flag = false; str.success = false; str.msg = "用户等级不足!"; str.status = -6; return(Json(str)); } ShippingAddressInfo shippingAddress = GetShippingAddress(new long?(regionId)); if (shippingAddress == null) { flag = false; str.success = false; str.msg = "错误的收货人地址信息!"; str.status = -6; return(Json(str)); } if (flag) { GiftOrderItemModel giftOrderItemModel = new GiftOrderItemModel() { GiftId = byId.Id, Counts = count }; giftOrderItemModels.Add(giftOrderItemModel); GiftOrderModel giftOrderModel = new GiftOrderModel() { Gifts = giftOrderItemModels, CurrentUser = member, ReceiveAddress = shippingAddress }; GiftOrderInfo giftOrderInfo = orderser.CreateOrder(giftOrderModel); str.success = true; str.msg = giftOrderInfo.Id.ToString(); str.status = 1; } return(Json(str)); }
/// <summary> /// 创建订单 /// </summary> /// <param name="model"></param> /// <returns></returns> public GiftOrderInfo CreateOrder(GiftOrderModel model) { if (model.CurrentUser == null) { throw new HimallException("错误的用户信息"); } if (model.ReceiveAddress == null) { throw new HimallException("错误的收货人信息"); } GiftOrderInfo result = new GiftOrderInfo() { Id = GenerateOrderNumber(), UserId = model.CurrentUser.Id, RegionId = model.ReceiveAddress.RegionId, ShipTo = model.ReceiveAddress.ShipTo, Address = model.ReceiveAddress.Address + " " + model.ReceiveAddress.AddressDetail, RegionFullName = model.ReceiveAddress.RegionFullName, CellPhone = model.ReceiveAddress.Phone, TopRegionId = int.Parse(model.ReceiveAddress.RegionIdPath.Split(',')[0]), UserRemark = model.UserRemark, }; var giftOrderItemInfo = new List <GiftOrderItemInfo>(); DbFactory.Default .InTransaction(() => { //礼品信息处理,库存判断并减库存 foreach (var item in model.Gifts) { if (item.Counts < 1) { throw new HimallException("错误的兑换数量!"); } GiftInfo giftdata = DbFactory.Default.Get <GiftInfo>().Where(d => d.Id == item.GiftId).FirstOrDefault(); if (giftdata != null && giftdata.GetSalesStatus == GiftInfo.GiftSalesStatus.Normal) { if (giftdata.StockQuantity >= item.Counts) { giftdata.StockQuantity = giftdata.StockQuantity - item.Counts; //先减库存 giftdata.RealSales += item.Counts; //加销量 GiftOrderItemInfo gorditem = new GiftOrderItemInfo() { GiftId = giftdata.Id, GiftName = giftdata.GiftName, GiftValue = giftdata.GiftValue, ImagePath = giftdata.ImagePath, OrderId = result.Id, Quantity = item.Counts, SaleIntegral = giftdata.NeedIntegral }; giftOrderItemInfo.Add(gorditem); DbFactory.Default.Update(giftdata); } else { throw new HimallException("礼品库存不足!"); } } else { throw new HimallException("礼品不存在或已失效!"); } } //建立订单 result.TotalIntegral = giftOrderItemInfo.Sum(d => d.Quantity * d.SaleIntegral); result.OrderStatus = GiftOrderInfo.GiftOrderStatus.WaitDelivery; result.OrderDate = DateTime.Now; DbFactory.Default.Add(result); DbFactory.Default.AddRange(giftOrderItemInfo); //减少积分 var userdata = DbFactory.Default.Get <MemberInfo>().Where(d => d.Id == model.CurrentUser.Id).FirstOrDefault(); DeductionIntegral(userdata, result.Id, (int)result.TotalIntegral); }); return(result); }
public GiftOrderInfo CreateOrder(GiftOrderModel model) { if (model.CurrentUser == null) { throw new HimallException("错误的用户信息"); } if (model.ReceiveAddress == null) { throw new HimallException("错误的收货人信息"); } GiftOrderInfo giftOrderInfo = new GiftOrderInfo() { Id = GenerateOrderNumber(), UserId = model.CurrentUser.Id, RegionId = new int?(model.ReceiveAddress.RegionId), ShipTo = model.ReceiveAddress.ShipTo, Address = model.ReceiveAddress.Address, RegionFullName = model.ReceiveAddress.RegionFullName, CellPhone = model.ReceiveAddress.Phone }; string regionIdPath = model.ReceiveAddress.RegionIdPath; char[] chrArray = new char[] { ',' }; giftOrderInfo.TopRegionId = new int?(int.Parse(regionIdPath.Split(chrArray)[0])); giftOrderInfo.UserRemark = model.UserRemark; GiftOrderInfo now = giftOrderInfo; using (TransactionScope transactionScope = new TransactionScope()) { foreach (GiftOrderItemModel gift in model.Gifts) { if (gift.Counts < 1) { throw new HimallException("错误的兑换数量!"); } GiftInfo stockQuantity = context.GiftInfo.FirstOrDefault((GiftInfo d) => d.Id == gift.GiftId); if (stockQuantity == null || stockQuantity.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { throw new HimallException("礼品不存在或己失效!"); } if (stockQuantity.StockQuantity < gift.Counts) { throw new HimallException("礼品库存不足!"); } stockQuantity.StockQuantity = stockQuantity.StockQuantity - gift.Counts; GiftInfo realSales = stockQuantity; realSales.RealSales = realSales.RealSales + gift.Counts; GiftOrderItemInfo giftOrderItemInfo = new GiftOrderItemInfo() { GiftId = stockQuantity.Id, GiftName = stockQuantity.GiftName, GiftValue = stockQuantity.GiftValue, ImagePath = stockQuantity.ImagePath, OrderId = new long?(now.Id), Quantity = gift.Counts, SaleIntegral = new int?(stockQuantity.NeedIntegral) }; now.Himall_GiftOrderItem.Add(giftOrderItemInfo); } now.TotalIntegral = now.Himall_GiftOrderItem.Sum <GiftOrderItemInfo>((GiftOrderItemInfo d) => { int quantity = d.Quantity; int?saleIntegral = d.SaleIntegral; if (!saleIntegral.HasValue) { return(null); } return(new int?(quantity * saleIntegral.GetValueOrDefault())); }); now.OrderStatus = GiftOrderInfo.GiftOrderStatus.WaitDelivery; now.OrderDate = DateTime.Now; context.GiftOrderInfo.Add(now); context.SaveChanges(); UserMemberInfo userMemberInfo = context.UserMemberInfo.FirstOrDefault((UserMemberInfo d) => d.Id == model.CurrentUser.Id); DeductionIntegral(userMemberInfo, now.Id, now.TotalIntegral.Value); transactionScope.Complete(); } return(now); }
/// <summary> /// 提交并处理预约单 /// </summary> /// <param name="id"></param> /// <param name="regionId"></param> /// <param name="count"></param> /// <returns></returns> public Result SubmitOrder(GiftConfirmOrder value) { Result result = new Result() { success = false, msg = "未知错误", status = 0 }; bool isdataok = true; long id = value.ID; var regionId = value.RegionId; if (regionId < 1) { result.success = false; result.msg = "错误的收货地址!"; result.status = -8; return(result); } int count = value.Count; if (count < 1) { isdataok = false; result.success = false; result.msg = "错误的兑换数量!"; result.status = -8; return(result); } if (CurrentUser == null) { isdataok = false; result.success = false; result.msg = "用户未登录!"; result.status = -6; return(result); } //Checkout List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>(); var curUser = _iMemberService.GetMember(CurrentUser.Id); if (curUser == null) { isdataok = false; result.success = false; result.msg = "用户登录错误!"; result.status = -6; return(result); } var userInte = MemberIntegralApplication.GetMemberIntegral(curUser.Id); #region 礼品信息判断 //礼品信息 GiftInfo giftdata = _iGiftService.GetById(id); if (giftdata == null) { isdataok = false; result.success = false; result.msg = "礼品不存在!"; result.status = -2; return(result); } if (giftdata.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { isdataok = false; result.success = false; result.msg = "礼品已失效!"; result.status = -2; return(result); } //库存判断 if (count > giftdata.StockQuantity) { isdataok = false; result.success = false; result.msg = "礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!"; result.status = -3; return(result); } //积分数 if (giftdata.NeedIntegral < 1) { isdataok = false; result.success = false; result.msg = "礼品关联等级信息有误或礼品积分数据有误!"; result.status = -5; return(result); } #endregion #region 用户信息判断 //限购数量 if (giftdata.LimtQuantity > 0) { int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber + count > giftdata.LimtQuantity) { isdataok = false; result.success = false; result.msg = "超过礼品限兑数量!"; result.status = -4; return(result); } } if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals) { isdataok = false; result.success = false; result.msg = "积分不足!"; result.status = -6; return(result); } if (giftdata.NeedGrade > 0) { var memgradeid = _iMemberGradeService.GetMemberGradeByUserId(curUser.Id); //等级判定 if (!_iMemberGradeService.IsOneGreaterOrEqualTwo(memgradeid, giftdata.NeedGrade)) { isdataok = false; result.success = false; result.msg = "用户等级不足!"; result.status = -6; return(result); } } #endregion ShippingAddressInfo shipdata = GetShippingAddress(regionId); if (shipdata == null) { isdataok = false; result.success = false; result.msg = "错误的收货人地址信息!"; result.status = -6; return(result); } if (isdataok) { gorditemlist.Add(new GiftOrderItemModel { GiftId = giftdata.Id, Counts = count }); GiftOrderModel createorderinfo = new GiftOrderModel(); createorderinfo.Gifts = gorditemlist; createorderinfo.CurrentUser = curUser; createorderinfo.ReceiveAddress = shipdata; GiftOrderInfo orderdata = _iGiftsOrderService.CreateOrder(createorderinfo); result.success = true; result.msg = orderdata.Id.ToString(); result.status = 1; } return(result); }
/// <summary> /// 创建预约单 /// </summary> /// <param name="model"></param> /// <returns></returns> public GiftOrderInfo CreateOrder(GiftOrderModel model) { if (model.CurrentUser == null) { throw new HimallException("错误的用户信息"); } if (model.ReceiveAddress == null) { throw new HimallException("错误的收货人信息"); } GiftOrderInfo result = new GiftOrderInfo() { Id = GenerateOrderNumber(), UserId = model.CurrentUser.Id, RegionId = model.ReceiveAddress.RegionId, ShipTo = model.ReceiveAddress.ShipTo, Address = model.ReceiveAddress.Address, RegionFullName = model.ReceiveAddress.RegionFullName, CellPhone = model.ReceiveAddress.Phone, TopRegionId = int.Parse(model.ReceiveAddress.RegionIdPath.Split(',')[0]), UserRemark = model.UserRemark }; using (TransactionScope scope = new TransactionScope()) { //礼品信息处理,库存判断并减库存 foreach (var item in model.Gifts) { if (item.Counts < 1) { throw new HimallException("错误的兑换数量!"); } GiftInfo giftdata = Context.GiftInfo.FirstOrDefault(d => d.Id == item.GiftId); if (giftdata != null && giftdata.GetSalesStatus == GiftInfo.GiftSalesStatus.Normal) { if (giftdata.StockQuantity >= item.Counts) { giftdata.StockQuantity = giftdata.StockQuantity - item.Counts; //先减库存 giftdata.RealSales += item.Counts; //加销量 GiftOrderItemInfo gorditem = new GiftOrderItemInfo() { GiftId = giftdata.Id, GiftName = giftdata.GiftName, GiftValue = giftdata.GiftValue, ImagePath = giftdata.ImagePath, OrderId = result.Id, Quantity = item.Counts, SaleIntegral = giftdata.NeedIntegral }; result.Himall_GiftOrderItem.Add(gorditem); } else { throw new HimallException("礼品库存不足!"); } } else { throw new HimallException("礼品不存在或已失效!"); } } //建立预约单 result.TotalIntegral = result.Himall_GiftOrderItem.Sum(d => d.Quantity * d.SaleIntegral); result.OrderStatus = GiftOrderInfo.GiftOrderStatus.WaitDelivery; result.OrderDate = DateTime.Now; Context.GiftOrderInfo.Add(result); Context.SaveChanges(); //减少积分 var userdata = Context.UserMemberInfo.FirstOrDefault(d => d.Id == model.CurrentUser.Id); DeductionIntegral(userdata, result.Id, (int)result.TotalIntegral); scope.Complete(); } return(result); }
public static GiftOrderInfo CreateOrder(GiftOrderModel model) { return(Service.CreateOrder(model)); }
public JsonResult SubmitOrder(long id, long regionId, int count) { Result result = new Result() { success = false, msg = "Unknown error", status = 0 }; Result str = result; bool flag = true; if (count < 1) { flag = false; str.success = false; str.msg = "Exchange quantity error!"; str.status = -8; return(Json(str)); } List <GiftOrderItemModel> giftOrderItemModels = new List <GiftOrderItemModel>(); UserMemberInfo member = ServiceHelper.Create <IMemberService>().GetMember(base.CurrentUser.Id); GiftInfo byId = giftser.GetById(id); if (byId == null) { flag = false; str.success = false; str.msg = "Gift does not exist!"; str.status = -2; return(Json(str)); } if (byId.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { flag = false; str.success = false; str.msg = "Gift expired!"; str.status = -2; return(Json(str)); } if (count > byId.StockQuantity) { flag = false; str.success = false; int stockQuantity = byId.StockQuantity; str.msg = string.Concat("Gift inventory shortage, only remain ", stockQuantity.ToString(), " items!"); str.status = -3; return(Json(str)); } if (byId.NeedIntegral < 1) { flag = false; str.success = false; str.msg = "Gifts associated level information is wrong or points wrong!"; str.status = -5; return(Json(str)); } if (byId.LimtQuantity > 0 && orderser.GetOwnBuyQuantity(base.CurrentUser.Id, id) + count > byId.LimtQuantity) { flag = false; str.success = false; str.msg = "Exceed gift exchange quantity!"; str.status = -4; return(Json(str)); } if (byId.NeedIntegral * count > member.AvailableIntegrals) { flag = false; str.success = false; str.msg = "Lack of points!"; str.status = -6; return(Json(str)); } if (member.HistoryIntegral < byId.GradeIntegral) { flag = false; str.success = false; str.msg = "Lack of Level!"; str.status = -6; return(Json(str)); } ShippingAddressInfo shippingAddress = GetShippingAddress(new long?(regionId)); if (shippingAddress == null) { flag = false; str.success = false; str.msg = "Shipping address error!"; str.status = -6; return(Json(str)); } if (flag) { GiftOrderItemModel giftOrderItemModel = new GiftOrderItemModel() { GiftId = byId.Id, Counts = count }; giftOrderItemModels.Add(giftOrderItemModel); GiftOrderModel giftOrderModel = new GiftOrderModel() { Gifts = giftOrderItemModels, CurrentUser = member, ReceiveAddress = shippingAddress }; GiftOrderInfo giftOrderInfo = orderser.CreateOrder(giftOrderModel); str.success = true; str.msg = giftOrderInfo.Id.ToString(); str.status = 1; } return(Json(str)); }