username@email.com
2025-02-20 27008c309a7adcd608666df53f4a89f88fb83d5f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CY.BLL.EC;
using CY.Model;
using CY.Infrastructure.Common;
using CY.Model.Pay;
using CY.BLL;
using CY.WebForm.Pages.common;
 
namespace CY.WebForm.Pages.business
{
    /// <summary>
    /// 卖家退款
    /// </summary>
    public partial class SellerRefund : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
 
            btnSubmit.ServerClick += new EventHandler(btnSubmit_ServerClick);
 
        }
        /// <summary>
        /// 隐藏按钮点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void btnSubmit_ServerClick(object sender, EventArgs e)
        {
 
            if (!Refund()) { Response.End(); }
 
        }
        /// <summary>
        /// 退款
        /// </summary>
        private bool Refund()
        {
            Pay_PaymentAccount buyerAccount = null;
            Pay_PaymentAccount sellerAccount = null;
            EC_OrderBasic orderBasic = null;
            int? orderId = null;
            decimal? money = null;
            string errorResult = "-2";
            try
            {
 
                money = MyConvert.ConvertToDecimal(Request["txtPayablePrice"]);
                if (!money.HasValue || money.Value <= 0) { Response.Write(errorResult); return false; } else ;
 
 
                orderId = MyConvert.ConvertToInt32(Request["orderId"]);
                EC_OrderBLL eC_OrderBLL = new EC_OrderBLL();
 
 
 
                if (!orderId.HasValue) { Response.Write(errorResult); return false; } else ;
 
                orderBasic = eC_OrderBLL.GetOrderById(orderId.Value);
                if (null == orderBasic) { Response.Write("-5"); return false; } else ;
                if (!CurrentUser.MemberId.Equals(orderBasic.SellerId)) { Response.Write("-5"); return false; } else ;
                Pay_PaymentAccountBLL pay_PaymentAccountBLL = new BLL.Pay_PaymentAccountBLL();
                buyerAccount = pay_PaymentAccountBLL.GetModel(orderBasic.BuyerId);
                sellerAccount = pay_PaymentAccountBLL.GetModel(orderBasic.SellerId);
 
            }
            catch (Exception ex)
            {
                PAGEHandleException(ex);
                //throw ex;
            }
 
 
 
            EC_OrderOperate orderOperate = new EC_OrderOperate();
            orderOperate.OrderId = orderId;
            orderOperate.Operator = CurrentUser.ShortName;
            orderOperate.Remark = "退款给买家";//需求变动,不终止订单
            orderOperate.OperateType = -4;//非订单流程状态,不会被变更为此状态
 
            Pay_Request toSellerRequest = new Pay_Request();
            Pay_Request toBuyerRequest = new Pay_Request();
            toBuyerRequest.UsedCredit = toSellerRequest.UsedCredit = 0;
            toBuyerRequest.Subject = toSellerRequest.Subject = string.Format(UtilConst.ORDER_REFUND_SUBJECT_FORMT, orderBasic.Keyid, orderBasic.SellerOrderId, orderBasic.DocumentName);
            toBuyerRequest.Payerid = toSellerRequest.Payerid = AdminAccount.Keyid.Value;
            toSellerRequest.Payeeid = CurrentPayAccount.Keyid.Value;
            toBuyerRequest.Payeeid = buyerAccount.Keyid.Value;
            toSellerRequest.Payeeid = sellerAccount.Keyid.Value;
 
            toSellerRequest.Paymoney = orderBasic.TradingSingle.OnlineMoney.Value - money.Value;
            toBuyerRequest.Paymoney = money.Value;
 
            List<Pay_Request> payRequests = new List<Pay_Request>() { toBuyerRequest };
            if (toSellerRequest.Paymoney < 0)//支付给买家多余部分会从卖家帐户扣除
                payRequests.Add(toSellerRequest);
 
 
            Request.RequestContext.RouteData.DataTokens.Add("orderOperate", orderOperate);
            Request.RequestContext.RouteData.DataTokens.Add("payRequests", payRequests.ToArray());
            Server.Transfer("/Pages/common/PayAbout.aspx");
 
            return true;
 
        }
 
 
    }
}