/// <summary> /// 退款按钮点击方法【不支持】 /// </summary> protected void RefundButton_Click(object sender, EventArgs e) { OrderInfo order = ButtoStart(); //余额处理 decimal money = order.Balance; int isCod = PayPlugins.ReadPayPlugins(order.PayKey).IsCod; if (order.OrderStatus == (int)OrderStatus.HasReturn && isCod == (int)BoolType.False) { money += OrderBLL.ReadNoPayMoney(order); } else if (order.OrderStatus == (int)OrderStatus.NoEffect && OrderActionBLL.ReadLast(order.Id, order.OrderStatus).StartOrderStatus == (int)OrderStatus.WaitCheck && isCod == (int)BoolType.False) { money += OrderBLL.ReadNoPayMoney(order); } if (money > 0) { var accountRecord = new UserAccountRecordInfo { RecordType = (int)AccountRecordType.Money, Money = money, Point = 0, Date = DateTime.Now, IP = ClientHelper.IP, Note = "退还订单:" + order.OrderNumber + "的金额", UserId = order.UserId, UserName = order.UserName }; UserAccountRecordBLL.Add(accountRecord); } //更新订单 int startOrderStatus = order.OrderStatus; order.OrderStatus = (int)order.OrderStatus; order.Balance = 0; order.CouponMoney = 0; order.IsRefund = (int)BoolType.True; ButtonEnd(order, Note.Text, OrderOperate.Refund, startOrderStatus); }
/// <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); }