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;
|
|
}
|
|
|
}
|
}
|