📄 payonline.cs
字号:
if (Product.CharacterIsExists(info.ProductCharacter, ProductCharacter.Card))
{
flag5 = ProcessCards(payOnlineMessage, doUpdate, info, ref isFirstStockItem, ref stockId);
flag4 = true;
}
if (Product.CharacterIsExists(info.ProductCharacter, ProductCharacter.Practicality))
{
flag = true;
}
if (Product.CharacterIsExists(info.ProductCharacter, ProductCharacter.Service))
{
flag2 = true;
}
if (Product.CharacterIsExists(info.ProductCharacter, ProductCharacter.Download))
{
flag3 = true;
}
}
if (!isFirstStockItem)
{
StockInfo stockInfo = new StockInfo();
stockInfo.Inputer = PEContext.Current.Admin.AdminName;
stockInfo.InputTime = DateTime.Now;
stockInfo.Remark = "交付点卡";
stockInfo.StockId = StockManage.GetMaxId() + 1;
stockInfo.StockNum = StockItem.GetShipmentNum();
stockInfo.StockType = StockType.Shipment;
StockManage.Add(stockInfo);
}
if (doUpdate && !flag)
{
if ((flag3 && !flag4) && !flag2)
{
Order.Recieve(this.m_OrderInfo.OrderId);
return isok;
}
if (!flag5)
{
this.m_OrderInfo.DeliverStatus = DeliverStatus.Consignment;
isok = Order.Update(this.m_OrderInfo);
}
}
return isok;
}
public static void TestLog(bool isLog, string title, string payState, string signMsg, string md5Msg)
{
if (isLog)
{
string str = HttpContext.Current.Request.QueryString.ToString();
string str2 = HttpContext.Current.Request.Form.ToString();
string path = HttpContext.Current.Request.PhysicalApplicationPath + @"PayOnline\log.txt";
StringBuilder builder = new StringBuilder();
builder.Append("payState=");
builder.Append(payState);
builder.Append("\r\n");
builder.Append("signMsg=");
builder.Append(signMsg);
builder.Append("\r\n");
builder.Append("md5Msg =");
builder.Append(md5Msg);
builder.Append("\r\n");
if (signMsg == md5Msg)
{
builder.Append("加密签名串验证通过");
builder.Append("\r\n");
}
else
{
builder.Append("加密签名串验证失败");
builder.Append("\r\n");
}
builder.Append("QueryString=");
builder.Append(str);
builder.Append("\r\n");
builder.Append("FormString=");
builder.Append(str2);
try
{
StreamWriter w = File.AppendText(path);
Log(title, builder.ToString(), w);
w.Close();
}
catch (UnauthorizedAccessException)
{
}
}
}
public PayOnlineState UpdateOrder(string paymentNum, decimal amount, string eBankInfo, int status, string remark, bool updateDeliverStatus, bool updateOrderStatus)
{
StringBuilder payOnlineMessage = new StringBuilder(0x40);
paymentNum = DataSecurity.FilterBadChar(paymentNum);
eBankInfo = DataSecurity.FilterBadChar(eBankInfo);
remark = DataSecurity.FilterBadChar(remark);
PayOnlineState state = this.UpdatePaymentLog(paymentNum, amount, eBankInfo, status, remark);
if (state != PayOnlineState.Ok)
{
return state;
}
if (updateDeliverStatus)
{
bool doUpdate = !BankrollItem.ExistsPaymentLog(this.m_PaymentLogId);
if (!doUpdate)
{
return PayOnlineState.AccountPaid;
}
bool isok = false;
IEncourageStrategy<decimal> strategy = new UserMoney();
if (updateOrderStatus)
{
if (this.m_UserId > 0)
{
strategy.IncreaseForUsers(this.m_UserId.ToString(), this.m_MoneyReceipt, "", false, "");
}
BankrollItemInfo bankrollItemInfo = new BankrollItemInfo();
bankrollItemInfo.UserName = this.m_UserName;
bankrollItemInfo.ClientId = this.m_ClientID;
bankrollItemInfo.Money = this.m_MoneyReceipt;
bankrollItemInfo.MoneyType = 3;
bankrollItemInfo.EBankId = this.m_PlatformId;
bankrollItemInfo.OrderId = this.m_OrderInfo.OrderId;
bankrollItemInfo.PaymentId = this.m_PaymentLogId;
bankrollItemInfo.Remark = "在线支付单号:" + paymentNum;
bankrollItemInfo.DateAndTime = new DateTime?(DateTime.Now);
bankrollItemInfo.CurrencyType = 1;
isok = BankrollItem.Add(bankrollItemInfo);
}
if (this.m_OrderInfo.IsNull)
{
if (!isok)
{
return PayOnlineState.Fail;
}
return PayOnlineState.Ok;
}
if (updateDeliverStatus && ((this.m_OrderInfo.MoneyTotal - this.m_OrderInfo.MoneyReceipt) <= this.m_MoneyReceipt))
{
this.m_OrderInfo.EnableDownload = true;
isok = Order.Update(this.m_OrderInfo);
}
if ((this.m_OrderInfo.MoneyReceipt < this.m_OrderInfo.MoneyTotal) && updateOrderStatus)
{
bool flag3 = false;
if ((this.m_OrderInfo.MoneyTotal - this.m_OrderInfo.MoneyReceipt) <= this.m_MoneyReceipt)
{
this.m_MoneyPayout = this.m_OrderInfo.MoneyTotal - this.m_OrderInfo.MoneyReceipt;
this.m_OrderInfo.MoneyReceipt = this.m_OrderInfo.MoneyTotal;
flag3 = true;
}
else if (SiteConfig.ShopConfig.EnablePartPay)
{
this.m_MoneyPayout = this.m_MoneyReceipt;
this.m_OrderInfo.MoneyReceipt += this.m_MoneyReceipt;
flag3 = true;
}
if (flag3)
{
if (this.m_OrderInfo.Status <= OrderStatus.WaitForConfirm)
{
this.m_OrderInfo.Status = OrderStatus.Confirmed;
}
isok = Order.Update(this.m_OrderInfo);
BankrollItemInfo info2 = new BankrollItemInfo();
info2.UserName = this.m_UserName;
info2.ClientId = this.m_ClientID;
info2.Money = (this.m_MoneyPayout > 0M) ? (-1M * this.m_MoneyPayout) : this.m_MoneyPayout;
info2.MoneyType = 4;
info2.EBankId = 0;
info2.OrderId = this.m_OrderInfo.OrderId;
info2.PaymentId = 0;
info2.Remark = "支付订单费用,订单号:" + this.m_OrderInfo.OrderNum;
info2.DateAndTime = new DateTime?(DateTime.Now);
info2.CurrencyType = 1;
isok = BankrollItem.Add(info2);
if (this.m_UserId > 0)
{
isok = strategy.IncreaseForUsers(this.m_UserId.ToString(), decimal.op_UnaryNegation(this.m_MoneyPayout), "", false, "");
}
payOnlineMessage.Append("同时已经为您的订单编号为 " + this.m_OrderInfo.OrderNum + " 的订单支付了 " + this.m_MoneyPayout.ToString("N2") + "元。<br />");
}
else
{
payOnlineMessage.Append("您的支付金额小于订单金额,不能对订单进行支付,资金已经打入您的帐户中做为预付款。<br />");
updateDeliverStatus = false;
}
}
if (updateDeliverStatus)
{
this.ShowCardInfo(payOnlineMessage, doUpdate, isok);
}
payOnlineMessage.Append("<a href='../User/Shop/ShowOrder.aspx?OrderId=" + this.m_OrderInfo.OrderId.ToString() + "'>点此查看订单信息</a>");
this.m_Message = payOnlineMessage.ToString();
if (!isok)
{
return PayOnlineState.Fail;
}
}
return PayOnlineState.Ok;
}
private PayOnlineState UpdatePaymentLog(string paymentNum, decimal amount, string eBankInfo, int status, string remark)
{
PaymentLogInfo infoByPaymentNum = PaymentLog.GetInfoByPaymentNum(paymentNum);
PayOnlineState ok = PayOnlineState.Ok;
if (infoByPaymentNum.IsNull)
{
return PayOnlineState.PaymentLogNotFound;
}
if (infoByPaymentNum.MoneyTrue != amount)
{
return PayOnlineState.RemittanceWrong;
}
this.m_OrderInfo = Order.GetOrderById(infoByPaymentNum.OrderId);
this.m_PlatformId = infoByPaymentNum.PlatformId;
this.m_PaymentLogId = infoByPaymentNum.PaymentLogId;
this.m_UserName = infoByPaymentNum.UserName;
this.m_MoneyReceipt = infoByPaymentNum.MoneyPay;
infoByPaymentNum.PlatformInfo = DataSecurity.HtmlEncode(eBankInfo);
infoByPaymentNum.Remark = DataSecurity.HtmlEncode(remark);
infoByPaymentNum.Status = status;
PaymentLog.Update(infoByPaymentNum);
UserInfo usersByUserName = Users.GetUsersByUserName(this.m_UserName);
if (!usersByUserName.IsNull)
{
this.m_UserId = usersByUserName.UserId;
this.m_ClientID = usersByUserName.ClientId;
}
return ok;
}
public string Message
{
get
{
return this.m_Message;
}
set
{
this.m_Message = value;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -