Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
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);
            }
        }
Exemplo n.º 4
0
        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 = "退款申请";
        }
Exemplo n.º 5
0
        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);
                }
            }
        }
Exemplo n.º 6
0
        /// <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;
            }
        }