/// <summary> /// 换货确认按钮点击方法 /// </summary> protected void ChangeButton_Click(object sender, EventArgs e) { OrderInfo order = ButtoStart(); int startOrderStatus = order.OrderStatus; order.OrderStatus = (int)OrderStatus.Shipping; //更新商品库存数量 ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Minus); ButtonEnd(order, Note.Text, OrderOperate.Change, startOrderStatus); }
/// <summary> /// 发货 /// </summary> protected void Ship() { bool flag = true; string msg = string.Empty; try { int orderId = RequestHelper.GetForm <int>("orderid"); DateTime date = RequestHelper.GetForm <DateTime>("date"); string shippingnumber = RequestHelper.GetForm <string>("shippingnumber"); if (orderId <= 0) { flag = false; msg = "请求参数错误"; } if ((date - DateTime.Now).Days < 0) { flag = false; msg = "配送日期不规范"; } if (string.IsNullOrEmpty(shippingnumber)) { flag = false; msg = "配送单号不能为空"; } OrderInfo order = OrderBLL.Read(orderId); if (order.OrderStatus == (int)OrderStatus.Shipping) { int startOrderStatus = order.OrderStatus; order.OrderStatus = (int)OrderStatus.HasShipping; order.ShippingNumber = shippingnumber; order.ShippingDate = date; //更新商品库存数量 ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Plus); OrderBLL.AdminUpdateOrderAddAction(order, "", (int)OrderOperate.Send, startOrderStatus); flag = true; } } catch (Exception ex) { flag = false; msg = ex.Message; } finally { Response.Clear(); Response.Write(JsonConvert.SerializeObject(new { ok = flag, msg = msg })); Response.End(); } }
/// <summary> /// 审核按钮点击方法 /// </summary> protected void CheckButton_Click(object sender, EventArgs e) { OrderInfo order = ButtoStart(); #region 拼团单,未拼满或者拼团失败不能通过审核 if (order.IsActivity == (int)OrderKind.GroupBuy) { var groupBuy = GroupBuyBLL.Read(order.FavorableActivityId); if (!(groupBuy.StartTime <= DateTime.Now && groupBuy.EndTime >= DateTime.Now && groupBuy.SignCount >= groupBuy.Quantity)) { ScriptHelper.Alert("拼团未成功,暂不能通过审核"); } } #endregion int startOrderStatus = order.OrderStatus; //确认付款,收款时间 order.PayDate = RequestHelper.DateNow; order.ShippingNumber = ShippingNumber.Text; order.ShippingDate = Convert.ToDateTime(ShippingDate.Text); //更新商品库存数量 ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Plus); //自提:现场审核提货,完成 if (order.SelfPick == 1) { order.OrderStatus = (int)OrderStatus.ReceiveShipping; #region 提货码状态置为1(无效) PickUpCodeBLL.UsePickCodeByOrder(order.Id); #endregion #region 完成订单给分销商返佣 //订单实际支付金额 decimal paid_money = OrderBLL.ReadNoPayMoney(order); //购买人 var user = UserBLL.Read(order.UserId); //购买者有推荐人 且 实际支付金额大于0才进行返佣 if (user.Recommend_UserId > 0 && paid_money > 0) { RebateBLL.RebateToDistributor(user, paid_money, order.Id); } #endregion } else {//配送:进入配货状态 order.OrderStatus = (int)OrderStatus.Shipping; } ButtonEnd(order, Note.Text, OrderOperate.Check, startOrderStatus); }
//供应商发货 private void OrderSend() { string result = string.Empty; if (base.UserId <= 0) { ResponseHelper.Write("登录状态已过期,请重新登录"); ResponseHelper.End(); } DateTime shippingDate = RequestHelper.GetForm <DateTime>("ShippingDate"); string shippingNumber = StringHelper.AddSafe(RequestHelper.GetForm <string>("ShippingNumber")); if (shippingDate < DateTime.Now.AddDays(-30)) { ResponseHelper.Write("配送日期输入有误"); ResponseHelper.End(); } if (string.IsNullOrEmpty(shippingNumber)) { ResponseHelper.Write("请输入配送单号"); ResponseHelper.End(); } int orderId = RequestHelper.GetQueryString <int>("orderId"); OrderInfo order = OrderBLL.ReadByShopId(orderId, base.UserId); if (order.Id > 0) { int startOrderStatus = order.OrderStatus; order.OrderStatus = (int)OrderStatus.HasShipping; order.ShippingNumber = shippingNumber; order.ShippingDate = shippingDate; //更新商品库存数量 ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Plus); OrderBLL.UserUpdateOrderAddAction(order, "供应商发货", (int)OrderOperate.Send, startOrderStatus); } else { result = "订单不存在或者您没有操作这个订单的权限"; } ResponseHelper.Write(result); ResponseHelper.End(); }
/// <summary> /// 撤销按钮点击方法 /// </summary> protected void BackButton_Click(object sender, EventArgs e) { OrderInfo order = ButtoStart(); int startOrderStatus = order.OrderStatus; order.OrderStatus = OrderActionBLL.ReadLast(order.Id, order.OrderStatus).StartOrderStatus; //减去用户积分,积分为负数 int sendPoint = 0; if (startOrderStatus == (int)OrderStatus.ReceiveShipping && order.IsActivity == (int)BoolType.False) { //sendPoint = -OrderBLL.ReadOrderSendPoint(order.Id); //根据订单付款金额全额返还积分 sendPoint = -(int)Math.Floor(OrderBLL.ReadNoPayMoney(order)); } if (startOrderStatus == (int)OrderStatus.HasShipping && order.OrderStatus == (int)OrderStatus.ReceiveShipping && order.IsActivity == (int)BoolType.False)//相当于收货确认 { //sendPoint = OrderBLL.ReadOrderSendPoint(order.Id); //根据订单付款金额全额返还积分 sendPoint = -(int)Math.Floor(OrderBLL.ReadNoPayMoney(order)); } if (sendPoint != 0) { var accountRecord = new UserAccountRecordInfo { RecordType = (int)AccountRecordType.Point, Money = 0, Point = sendPoint, Date = DateTime.Now, IP = ClientHelper.IP, Note = ShopLanguage.ReadLanguage("OrderBack").Replace("$OrderNumber", order.OrderNumber), UserId = order.UserId, UserName = order.UserName }; UserAccountRecordBLL.Add(accountRecord); } //更新商品库存数量 switch (startOrderStatus) { case (int)OrderStatus.WaitPay: case (int)OrderStatus.WaitCheck: if (order.OrderStatus == (int)OrderStatus.NoEffect) //相当于取消操作 { ProductBLL.ChangeOrderCountByOrder(order.Id, ChangeAction.Minus); } break; case (int)OrderStatus.NoEffect: ProductBLL.ChangeOrderCountByOrder(order.Id, ChangeAction.Plus); break; case (int)OrderStatus.HasReturn: ProductBLL.ChangeOrderCountByOrder(order.Id, ChangeAction.Plus); ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Plus); break; case (int)OrderStatus.Shipping: if (order.OrderStatus == (int)OrderStatus.HasShipping) { ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Plus); } break; case (int)OrderStatus.HasShipping: if (order.OrderStatus == (int)OrderStatus.Shipping) { ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Minus); } if (order.OrderStatus == (int)OrderStatus.HasReturn) //相当于退货确认操作 { ProductBLL.ChangeOrderCountByOrder(order.Id, ChangeAction.Minus); ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Minus); } break; default: break; } //更新订单 ButtonEnd(order, Note.Text, OrderOperate.Back, startOrderStatus); }