protected void RefundButton_Click(object sender, EventArgs e) { int orderRefundId = RequestHelper.GetQueryString <int>("Id"); var submitOrderRefund = OrderRefundBLL.Read(orderRefundId); //更改状态为退款中... if (submitOrderRefund.Status == (int)OrderRefundStatus.Approve) { submitOrderRefund.Status = (int)OrderRefundStatus.Returning; submitOrderRefund.Remark = "正在处理退款"; OrderRefundBLL.Update(submitOrderRefund); //退款操作记录 AddOrderRefundAction(submitOrderRefund, (int)BoolType.True); } //退款到账户余额及各支付渠道 if (submitOrderRefund.Status == (int)OrderRefundStatus.Returning) { JWRefund.RefundToAnyPay(submitOrderRefund); } else { ScriptHelper.Alert("无效的操作", RequestHelper.RawUrl); } }
protected override void PageLoad() { base.PageLoad(); orderRefundList = OrderRefundBLL.ReadListByOwnerId(base.UserId); Title = "退款记录"; }
private void Approve(int approveStatus) { int orderRefundId = RequestHelper.GetQueryString <int>("Id"); var submitOrderRefund = OrderRefundBLL.Read(orderRefundId); string remark = Remark.Text.Trim(); switch (submitOrderRefund.Status) { case (int)OrderRefundStatus.Submit: CheckAdminPower("OrderRefundApprove", PowerCheckType.Single); //如果是团购单,且拼团正在进行中,暂不能申请退款 var order = OrderBLL.Read(submitOrderRefund.OrderId); if (order.IsActivity == (int)OrderKind.GroupBuy && order.FavorableActivityId > 0) { var groupBuy = GroupBuyBLL.Read(order.FavorableActivityId); if (groupBuy.StartTime <= DateTime.Now && groupBuy.EndTime >= DateTime.Now && groupBuy.Quantity > groupBuy.SignCount) { ScriptHelper.Alert("拼团正在进行,暂不能退款", RequestHelper.RawUrl); } } if (approveStatus == (int)BoolType.True) { submitOrderRefund.Status = (int)OrderRefundStatus.Approve; submitOrderRefund.Remark = "系统审核通过,等待处理退款: " + remark; } else { submitOrderRefund.Status = (int)OrderRefundStatus.Reject; submitOrderRefund.Remark = "系统审核不通过: " + remark; } break; case (int)OrderRefundStatus.Returning: ScriptHelper.Alert("正在处理退款,请不要重复退款", RequestHelper.RawUrl); break; case (int)OrderRefundStatus.HasReturn: ScriptHelper.Alert("退款已完成,请不要重复退款", RequestHelper.RawUrl); break; case (int)OrderRefundStatus.Reject: ScriptHelper.Alert("退款已被拒绝,请不要重复退款", RequestHelper.RawUrl); break; default: ScriptHelper.Alert("无效的操作", RequestHelper.RawUrl); break; } OrderRefundBLL.Update(submitOrderRefund); //退款操作记录 AddOrderRefundAction(submitOrderRefund, approveStatus); AdminLogBLL.Add(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("OrderRefund"), submitOrderRefund.Id); ScriptHelper.Alert("操作成功", RequestHelper.RawUrl); }
protected override void PageLoad() { base.PageLoad(); int id = RequestHelper.GetQueryString <int>("id"); orderRefund = OrderRefundBLL.Read(id); order = OrderBLL.Read(orderRefund.OrderId); order.OrderDetailList = OrderDetailBLL.ReadList(orderRefund.OrderId); topNav = 0; }
protected void CancelButton_Click(object sender, EventArgs e) { int orderRefundId = RequestHelper.GetQueryString <int>("Id"); var submitOrderRefund = OrderRefundBLL.Read(orderRefundId); //更改状态为已取消... submitOrderRefund.Status = (int)OrderRefundStatus.Cancel; submitOrderRefund.Remark = "系统取消了退款"; OrderRefundBLL.Update(submitOrderRefund); //退款操作记录 AddOrderRefundAction(submitOrderRefund, (int)BoolType.False); ScriptHelper.Alert("操作成功", RequestHelper.RawUrl); }
private void Submit() { int orderId = RequestHelper.GetQueryString <int>("orderId"); int orderDetailId = RequestHelper.GetQueryString <int>("orderDetailId"); int needRefundCount = RequestHelper.GetForm <int>("refund_count"); decimal needRefundMoney = RequestHelper.GetForm <decimal>("refund_money"); string refundRemark = StringHelper.AddSafe(RequestHelper.GetForm <string>("refund_remark")); OrderRefundInfo orderRefund = new OrderRefundInfo(); orderRefund.RefundNumber = ShopCommon.CreateOrderRefundNumber(); orderRefund.OrderId = orderId; if (orderDetailId > 0) { orderRefund.OrderDetailId = orderDetailId; orderRefund.RefundCount = needRefundCount; } orderRefund.Status = (int)OrderRefundStatus.Submit; orderRefund.TmCreate = DateTime.Now; orderRefund.RefundRemark = refundRemark; orderRefund.UserType = 1; orderRefund.UserId = base.UserId; orderRefund.UserName = base.UserName; var refundMsg = JWRefund.VerifySubmitOrderRefund(orderRefund, needRefundMoney); if (refundMsg.CanRefund) { int id = OrderRefundBLL.Add(orderRefund); OrderRefundActionBLL.Add(new OrderRefundActionInfo { OrderRefundId = id, Status = (int)BoolType.True, Tm = DateTime.Now, UserType = 1, UserId = base.UserId, UserName = base.UserName, Remark = "用户提交退款申请" }); ResponseHelper.Write("ok|" + id); ResponseHelper.End(); } else { ResponseHelper.Write("error|" + refundMsg.ErrorCodeMsg); ResponseHelper.End(); } }
protected override void PageLoad() { base.PageLoad(); OrderRefundSearchInfo searchInfo = new OrderRefundSearchInfo(); searchInfo.RefundNumber = RequestHelper.GetQueryString <string>("RefundNumber"); searchInfo.OrderNumber = RequestHelper.GetQueryString <string>("OrderNumber"); searchInfo.Status = RequestHelper.GetQueryString <int>("Status"); searchInfo.StartTmCreate = RequestHelper.GetQueryString <DateTime>("StartAddDate"); searchInfo.EndTmCreate = RequestHelper.GetQueryString <DateTime>("EndAddDate"); orderRefundList = OrderRefundBLL.SearchList(1, pageSize, searchInfo, ref Count); allOrderList = OrderBLL.ReadList(); topNav = 0; }
protected void SubmitButton_Click(object sender, EventArgs e) { CheckAdminPower("OrderRefundApply", PowerCheckType.Single); int orderId = RequestHelper.GetQueryString <int>("orderId"); int orderDetailId = RequestHelper.GetQueryString <int>("orderDetailId"); decimal needRefundMoney = Convert.ToDecimal(RefundMoney.Text); OrderRefundInfo orderRefund = new OrderRefundInfo(); orderRefund.RefundNumber = ShopCommon.CreateOrderRefundNumber(); orderRefund.OrderId = orderId; if (orderDetailId > 0) { orderRefund.OrderDetailId = orderDetailId; orderRefund.RefundCount = Convert.ToInt32(RefundCount.Text); } orderRefund.Status = (int)OrderRefundStatus.Submit; orderRefund.TmCreate = DateTime.Now; orderRefund.RefundRemark = RefundRemark.Text; orderRefund.UserType = 2; orderRefund.UserId = Cookies.Admin.GetAdminID(false); orderRefund.UserName = Cookies.Admin.GetAdminName(false); var refundMsg = JWRefund.VerifySubmitOrderRefund(orderRefund, needRefundMoney); if (refundMsg.CanRefund) { int id = OrderRefundBLL.Add(orderRefund); OrderRefundActionBLL.Add(new OrderRefundActionInfo { OrderRefundId = id, Status = (int)BoolType.True, Tm = DateTime.Now, UserType = 2, UserId = orderRefund.UserId, UserName = orderRefund.UserName, Remark = "系统提交退款申请" }); AdminLogBLL.Add(ShopLanguage.ReadLanguage("AddRecord"), ShopLanguage.ReadLanguage("OrderRefund"), id); ScriptHelper.Alert("退款申请成功", RequestHelper.RawUrl); } else { ScriptHelper.Alert(refundMsg.ErrorCodeMsg); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { CheckAdminPower("ReadOrderRefundAction", PowerCheckType.Single); int orderId = RequestHelper.GetQueryString <int>("orderId"); int orderDetailId = RequestHelper.GetQueryString <int>("orderDetailId"); if (orderId > 0) { orderRefundList = OrderRefundBLL.ReadList(orderId); if (orderDetailId > 0) { orderRefundList = orderRefundList.Where(k => k.OrderDetailId == orderDetailId).ToList(); } } } }
protected override void PageLoad() { base.PageLoad(); int orderId = RequestHelper.GetQueryString <int>("orderId"); int orderDetailId = RequestHelper.GetQueryString <int>("orderDetailId"); string action = RequestHelper.GetQueryString <string>("Action"); if (action == "CalcCanRefundMoney") { int refundCount = RequestHelper.GetQueryString <int>("num"); order = OrderBLL.Read(orderId); orderDetail = OrderDetailBLL.Read(orderDetailId); var refundMsg = JWRefund.CanRefund(order, orderDetail, refundCount); ResponseHelper.Write(Newtonsoft.Json.JsonConvert.SerializeObject(refundMsg)); ResponseHelper.End(); } if (action == "Submit") { this.Submit(); } order = OrderBLL.Read(orderId); if (order.Id > 0) { JWRefundMsg refundMsg = new JWRefundMsg(); if (orderDetailId > 0) { orderDetail = OrderDetailBLL.Read(orderDetailId); refundMsg = JWRefund.CanRefund(order, orderDetail, 1); } else { refundMsg = JWRefund.CanRefund(order); } canRefundMoney = refundMsg.CanRefundMoney; orderRefundList = OrderRefundBLL.ReadListValid(order.Id); } Title = "退款申请"; }
protected override void PageLoad() { base.PageLoad(); string action = RequestHelper.GetQueryString <string>("Action"); if (action == "CancelRefund") { this.CancelRefund(); } int id = RequestHelper.GetQueryString <int>("id"); orderRefund = OrderRefundBLL.Read(id); orderRefundActionList = OrderRefundActionBLL.ReadList(id); order = OrderBLL.Read(orderRefund.OrderId); Title = "退款记录"; }
protected override void PageLoad() { base.PageLoad(); int id = RequestHelper.GetQueryString <int>("id"); order = OrderBLL.Read(id); order.OrderDetailList = OrderDetailBLL.ReadList(id); //正在处理中的退款订单或商品 orderRefundList = OrderRefundBLL.ReadListValid(id); if (order.OrderStatus == 2 || order.OrderStatus == 4) { topNav = 0; } else { topNav = 1; } }
protected void Page_Load(object sender, EventArgs e) { int orderId = RequestHelper.GetQueryString <int>("orderId"); int orderDetailId = RequestHelper.GetQueryString <int>("orderDetailId"); string action = RequestHelper.GetQueryString <string>("Action"); if (action == "CalcCanRefundMoney") { int refundCount = RequestHelper.GetQueryString <int>("num"); order = OrderBLL.Read(orderId); orderDetail = OrderDetailBLL.Read(orderDetailId); var refundMsg = JWRefund.CanRefund(order, orderDetail, refundCount); ResponseHelper.Write(Newtonsoft.Json.JsonConvert.SerializeObject(refundMsg)); ResponseHelper.End(); } if (!Page.IsPostBack) { order = OrderBLL.Read(orderId); if (order.Id > 0) { CheckAdminPower("OrderRefundApply", PowerCheckType.Single); JWRefundMsg refundMsg = new JWRefundMsg(); if (orderDetailId > 0) { orderDetail = OrderDetailBLL.Read(orderDetailId); refundMsg = JWRefund.CanRefund(order, orderDetail, 1); } else { refundMsg = JWRefund.CanRefund(order); } canRefundMoney = refundMsg.CanRefundMoney; RefundMoney.Text = canRefundMoney.ToString(); orderRefundList = OrderRefundBLL.ReadListValid(order.Id); } } }
private void CancelRefund() { int id = RequestHelper.GetQueryString <int>("id"); var submitOrderRefund = OrderRefundBLL.Read(id); if (submitOrderRefund.OwnerId != base.UserId) { ResponseHelper.Write("error|无效的请求"); ResponseHelper.End(); } if (OrderRefundBLL.CanToReturn(submitOrderRefund.Status)) { submitOrderRefund.Status = (int)OrderRefundStatus.Cancel; submitOrderRefund.Remark = "用户取消了退款"; OrderRefundBLL.Update(submitOrderRefund); OrderRefundActionInfo submitOrderRefundAction = new OrderRefundActionInfo { OrderRefundId = submitOrderRefund.Id, Status = (int)BoolType.False, Remark = submitOrderRefund.Remark, Tm = DateTime.Now, UserType = 1, UserId = base.UserId, UserName = base.UserName }; OrderRefundActionBLL.Add(submitOrderRefundAction); ResponseHelper.Write("ok|"); ResponseHelper.End(); } else { ResponseHelper.Write("error|无效的请求"); ResponseHelper.End(); } }
protected void Page_Load(object sender, EventArgs e) { CheckAdminPower("ReadOrderRefund", PowerCheckType.Single); string action = RequestHelper.GetQueryString <string>("Action"); if (!Page.IsPostBack) { enumList = EnumHelper.ReadEnumList <OrderRefundStatus>(); Status.DataTextField = "ChineseName"; Status.DataValueField = "Value"; Status.DataSource = enumList; Status.DataBind(); Status.Items.Insert(0, new ListItem { Text = "所有状态", Value = int.MinValue.ToString() }); RefundNumber.Text = RequestHelper.GetQueryString <string>("RefundNumber"); OrderNumber.Text = RequestHelper.GetQueryString <string>("OrderNumber"); Status.Text = RequestHelper.GetQueryString <string>("Status"); StartAddDate.Text = RequestHelper.GetQueryString <string>("StartAddDate"); EndAddDate.Text = RequestHelper.GetQueryString <string>("EndAddDate"); OrderRefundSearchInfo searchInfo = new OrderRefundSearchInfo(); searchInfo.RefundNumber = RequestHelper.GetQueryString <string>("RefundNumber"); searchInfo.OrderNumber = RequestHelper.GetQueryString <string>("OrderNumber"); searchInfo.Status = RequestHelper.GetQueryString <int>("Status"); searchInfo.StartTmCreate = RequestHelper.GetQueryString <DateTime>("StartAddDate"); searchInfo.EndTmCreate = RequestHelper.GetQueryString <DateTime>("EndAddDate"); var orderRefundList = OrderRefundBLL.SearchList(CurrentPage, PageSize, searchInfo, ref Count); BindControl(orderRefundList, RecordList, MyPager); intStatus = searchInfo.Status; } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { CheckAdminPower("OrderRefundApprove", PowerCheckType.Single); int orderRefundId = RequestHelper.GetQueryString <int>("Id"); orderRefund = OrderRefundBLL.Read(orderRefundId); if (orderRefund.Id > 0) { order = OrderBLL.Read(orderRefund.OrderId); if (orderRefund.OrderDetailId > 0) { orderDetailList.Add(OrderDetailBLL.Read(orderRefund.OrderDetailId)); } else { orderDetailList = OrderDetailBLL.ReadList(orderRefund.OrderId); } orderRefundActionList = OrderRefundActionBLL.ReadList(orderRefund.Id); } } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //检查待付款订单是否超时失效,超时则更新为失效状态 OrderBLL.CheckOrderPayTime(); int orderId = RequestHelper.GetQueryString <int>("Id"); sendPoint = OrderBLL.ReadOrderSendPoint(orderId); if (orderId != int.MinValue) { CheckAdminPower("ReadOrder", PowerCheckType.Single); order = OrderBLL.Read(orderId); order.UserName = System.Web.HttpUtility.UrlDecode(order.UserName, System.Text.Encoding.UTF8); int isCod = PayPlugins.ReadPayPlugins(order.PayKey).IsCod; if ((order.OrderStatus == (int)OrderStatus.WaitPay || order.OrderStatus == (int)OrderStatus.WaitCheck && isCod == (int)BoolType.True) && order.IsActivity == (int)BoolType.False) { canEdit = true; } orderActionList = OrderActionBLL.ReadList(orderId); ShowButton(order); #region 获取快递信息 if (order.OrderStatus == (int)OrderStatus.HasShipping) { ShippingInfo tempShipping = ShippingBLL.Read(order.ShippingId); string show = RequestHelper.GetQueryString <string>("show"); //string apiurl = "http://api.kuaidi100.com/api?id=2815b2d431fdfd26&com=" + typeCom + "&nu=" + nu + "&show=" + show + "&muti=1&order=asc"; string apiurl = "http://www.kuaidi100.com/applyurl?key=2815b2d431fdfd26&com=" + tempShipping.ShippingCode + "&nu=" + order.ShippingNumber + "&show=" + show + "&muti=1&order=desc"; //Response.Write (apiurl); WebRequest request = WebRequest.Create(@apiurl); WebResponse response = request.GetResponse(); Stream stream = response.GetResponseStream(); Encoding encode = Encoding.UTF8; StreamReader reader = new StreamReader(stream, encode); shippingLink = reader.ReadToEnd(); } #endregion //正在处理中的退款订单或商品 orderRefundList = OrderRefundBLL.ReadListValid(orderId); //有正在处理中的退款订单或商品,禁用功能按钮 if (orderRefundList.Count(k => !OrderRefundBLL.HasReturn(k.Status)) > 0) { divOperate.Visible = false; divNotice.Visible = true; lblNotice.Text = "该订单有正在处理中的退款订单或商品..."; } } //如果付款操作,发送signalr消息 if (RequestHelper.GetQueryString <int>("paysuccess") == 1) { IHubContext chat = GlobalHost.ConnectionManager.GetHubContext <PushHub>(); chat.Clients.All.sendMessage(1); } } //不支持退货和退款操作,如果要退货退款,请线下操作 ReturnButton.Visible = false; }
protected void Page_Load(object sender, EventArgs e) { Log.Info(this.GetType().ToString(), "page load"); if (Page.IsPostBack) { return; } /*******************请求参数验证 start*****************************************************************/ int orderRefundId = RequestHelper.GetQueryString <int>("order_refund_id"); var orderRefund = OrderRefundBLL.Read(orderRefundId); if (orderRefund.Id < 1) { Response.Write("<p style=\"margin-left:130px\">无效的退款服务工单</p>"); Response.End(); } decimal refundMoney = orderRefund.RefundMoney; if (refundMoney <= 0) { Response.Write("<p style=\"margin-left:130px\">无效的退款金额,退款金额必须大于0</p>"); Response.End(); } if (orderRefund.Status == (int)OrderRefundStatus.HasReturn) { Response.Write("<p style=\"margin-left:130px\">无效的退款请求,该服务工单已处理退款</p>"); Response.End(); } if (orderRefund.Status != (int)OrderRefundStatus.Returning) { Response.Write("<p style=\"margin-left:130px\">无效的退款请求,请等待管理员审核</p>"); Response.End(); } var order = OrderBLL.Read(orderRefund.OrderId); if (order.Id < 1) { Response.Write("<p style=\"margin-left:130px\">无效的订单</p>"); Response.End(); } string tradeNo = order.WxPayTradeNo; if (string.IsNullOrEmpty(tradeNo)) { Response.Write("<p style=\"margin-left:130px\">无效的微信支付交易号</p>"); Response.End(); } decimal totalMoney = order.ProductMoney - order.FavorableMoney + order.ShippingMoney + order.OtherMoney - order.Balance - order.CouponMoney - order.PointMoney; if (refundMoney > totalMoney) { Response.Write("<p style=\"margin-left:130px\">退款金额不能超过订单金额</p>"); Response.End(); } //商户退款单号 //商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔 string batch_no = orderRefund.BatchNo; if (string.IsNullOrEmpty(batch_no)) { batch_no = DateTime.Now.ToString("yyyyMMddhhmmssfff"); //记录退款批次号存入订单退款表 OrderRefundBLL.UpdateBatchNo(orderRefundId, batch_no); } /*******************请求参数验证 end*****************************************************************/ //订单总金额 string total_fee = Convert.ToInt32(totalMoney * 100).ToString(); //退款金额 string refund_fee = Convert.ToInt32(refundMoney * 100).ToString(); //申请退款 /*** * 申请退款完整业务流程逻辑 * @param transaction_id 微信订单号(优先使用) * @param out_trade_no 商户订单号 * @param out_refund_no 商户退款单号 * @param total_fee 订单总金额 * @param refund_fee 退款金额 * @return 退款结果(xml格式) */ string result = ""; try { result = RefundBusiness.Run(tradeNo, "", batch_no, total_fee, refund_fee); //退款成功 bool isSuccess = true; string msg = ""; //退款到余额 if (orderRefund.RefundBalance > 0) { //在这里写自己的逻辑 } if (isSuccess) { orderRefund.Remark = "退款完成"; #region 发送订单退款成功通知 int isSendNotice = ShopConfig.ReadConfigInfo().RefundOrder; int isSendEmail = ShopConfig.ReadConfigInfo().RefundOrderEmail; int isSendMessage = ShopConfig.ReadConfigInfo().RefundOrderMsg; string key = "RefundOrder"; OrderInfo order = OrderBLL.Read(orderRefund.OrderId); if (isSendNotice == (int)BoolType.True && key != string.Empty) { if (isSendEmail == (int)BoolType.True) {//发邮件 try { EmailContentInfo emailContent = EmailContentHelper.ReadSystemEmailContent(key); EmailSendRecordInfo emailSendRecord = new EmailSendRecordInfo(); emailSendRecord.Title = emailContent.EmailTitle; emailSendRecord.Content = emailContent.EmailContent.Replace("$UserName$", order.UserName).Replace("$OrderNumber$", order.OrderNumber).Replace("$PayName$", order.PayName).Replace("$ShippingName$", ShippingBLL.Read(order.ShippingId).Name).Replace("$ShippingNumber$", order.ShippingNumber).Replace("$ShippingDate$", order.ShippingDate.ToString("yyyy-MM-dd")); emailSendRecord.IsSystem = (int)BoolType.True; emailSendRecord.EmailList = order.Email; emailSendRecord.IsStatisticsOpendEmail = (int)BoolType.False; emailSendRecord.SendStatus = (int)SendStatus.No; emailSendRecord.AddDate = RequestHelper.DateNow; emailSendRecord.SendDate = RequestHelper.DateNow; emailSendRecord.ID = EmailSendRecordBLL.AddEmailSendRecord(emailSendRecord); EmailSendRecordBLL.SendEmail(emailSendRecord); //result = "通知邮件已发送。"; } catch { //result = "未发送通知邮件。"; } } if (isSendMessage == (int)BoolType.True) {//发短信 //result += "未发送通知短信。"; } } #endregion } else { orderRefund.Remark = orderRefund.RefundPayKey + " 已退款完成,余额退款失败,失败信息:" + msg + ",请线下处理。"; } orderRefund.Status = (int)OrderRefundStatus.HasReturn; orderRefund.TmRefund = DateTime.Now; OrderRefundBLL.Update(orderRefund); OrderRefundActionBLL.Add(new OrderRefundActionInfo { OrderRefundId = orderRefund.Id, Status = isSuccess ? 1 : 0, Tm = DateTime.Now, UserType = 2, UserId = 0, UserName = "******", Remark = orderRefund.Remark }); Response.Redirect("/Admin/OrderRefundAdd.aspx?Id=" + orderRefundId); } catch { Response.Write("<p style=\"margin-left:130px\">退款遇到问题</p>"); } //Response.Write(result); }
/// <summary> /// 退款操作:通过、拒绝、退款、取消 /// </summary> protected override void PostBack() { string param = RequestHelper.GetForm <string>("param").ToLower(); int id = RequestHelper.GetForm <int>("id"); string returnUrl = "/mobileadmin/orderrefunddetail.html?id=" + id; if (id <= 0) { ScriptHelper.AlertFront("请求参数错误", returnUrl); } OrderRefundInfo orderRefund = OrderRefundBLL.Read(id); switch (param) { case "approve": Approve((int)BoolType.True, orderRefund); break; case "reject": Approve((int)BoolType.False, orderRefund); break; case "finish": //更改状态为退款中... if (orderRefund.Status == (int)OrderRefundStatus.Approve) { orderRefund.Status = (int)OrderRefundStatus.Returning; orderRefund.Remark = "正在处理退款"; OrderRefundBLL.Update(orderRefund); //退款操作记录 AddOrderRefundAction(orderRefund, (int)BoolType.True); } //退款到账户余额及各支付渠道 if (orderRefund.Status == (int)OrderRefundStatus.Returning) { //退款操作完成后跳转回本页面 JWRefund.RefundRedirectUrl = returnUrl; JWRefund.RefundToAnyPay(orderRefund); } else { ScriptHelper.AlertFront("无效的操作", returnUrl); } break; case "cancel": if (orderRefund.Status == (int)OrderRefundStatus.Approve || orderRefund.Status == (int)OrderRefundStatus.Returning) { //更改状态为已取消... orderRefund.Status = (int)OrderRefundStatus.Cancel; orderRefund.Remark = "系统取消了退款"; OrderRefundBLL.Update(orderRefund); //退款操作记录 AddOrderRefundAction(orderRefund, (int)BoolType.False); ScriptHelper.AlertFront("操作成功", returnUrl); } else { ScriptHelper.AlertFront("无效的操作", returnUrl); } break; } }
protected void Page_Load(object sender, EventArgs e) { CheckAdminPower("OrderRefundConfirm", PowerCheckType.Single); int id = RequestHelper.GetQueryString <int>("order_refund_id"); var orderRefund = OrderRefundBLL.Read(id); if (orderRefund.Status != (int)OrderRefundStatus.Returning) { message = "无效的退款状态"; return; } if (orderRefund.RefundBalance <= 0) { message = "退款金额必须大于0"; return; } //需退款到第三方支付平台的退款单,一律在第三方支付退款成功后的回调页面操作 if (orderRefund.RefundMoney > 0) { message = "请通过第三方平台进行退款"; return; } var user = UserBLL.Read(orderRefund.OwnerId); if (user.Id < 0) { message = "无效的退款用户"; return; } var order = OrderBLL.Read(orderRefund.OrderId); if (order.Id < 0) { message = "无效的退款订单"; return; } //***********业务逻辑***************************************// /************************************************************* * if (isSuccess) * { * msg = "退款完成"; * * //更新状态 * orderRefund.Status = (int)OrderRefundStatus.HasReturn; * orderRefund.TmRefund = DateTime.Now; * OrderRefundBLL.Update(orderRefund); * } * else * { * message = msg; * } * * OrderRefundActionBLL.Add(new OrderRefundActionInfo * { * OrderRefundId = orderRefund.Id, * Status = isSuccess ? (int)BoolType.True : (int)BoolType.False, * Tm = DateTime.Now, * UserType = 2, * UserId = base.AdminID, * UserName = Cookies.Admin.GetAdminName(false), * Remark = msg * }); *************************************************************/ }