150 lines
8.5 KiB
C#
150 lines
8.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Xml;
|
|
using System.Globalization;
|
|
namespace Mtxfw.shop
|
|
{
|
|
public partial class wxpaynotify_url : System.Web.UI.Page
|
|
{
|
|
Mtxfw.DAL.user_info daoUser = new Mtxfw.DAL.user_info();
|
|
Mtxfw.DAL.order_info daoorder = new Mtxfw.DAL.order_info();
|
|
Mtxfw.DAL.user_Results_jl2 daoResults2 = new Mtxfw.DAL.user_Results_jl2();
|
|
Mtxfw.DAL.order_product_info daoorderproduct = new Mtxfw.DAL.order_product_info();
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
string wxNotifyXml = "";
|
|
|
|
byte[] bytes = Request.BinaryRead(Request.ContentLength);
|
|
wxNotifyXml = System.Text.Encoding.UTF8.GetString(bytes);
|
|
|
|
if (wxNotifyXml.Length == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
XmlDocument xmldoc = new XmlDocument();
|
|
|
|
xmldoc.LoadXml(wxNotifyXml);
|
|
|
|
string ResultCode = xmldoc.SelectSingleNode("/xml/result_code").InnerText;
|
|
string ReturnCode = xmldoc.SelectSingleNode("/xml/return_code").InnerText;
|
|
|
|
if (ReturnCode == "SUCCESS" && ResultCode == "SUCCESS")
|
|
{
|
|
//验证成功
|
|
//取结果参数做业务处理
|
|
string out_trade_no = xmldoc.SelectSingleNode("/xml/out_trade_no").InnerText;
|
|
//财付通订单号
|
|
string trade_no = xmldoc.SelectSingleNode("/xml/transaction_id").InnerText;
|
|
//金额,以分为单位
|
|
string total_fee = xmldoc.SelectSingleNode("/xml/total_fee").InnerText;
|
|
|
|
/********************************
|
|
*
|
|
* 自己业务处理
|
|
*
|
|
*********************************/
|
|
Mtxfw.Model.user_Results_jl2 ReModel = daoResults2.GetModel(out_trade_no);
|
|
if (ReModel != null)
|
|
{
|
|
if (ReModel.Seef == 0)
|
|
{
|
|
daoResults2.UpdateSeef("seef", 1, "seeftime", DateTime.Now, ReModel.Id);
|
|
//增加买家余额
|
|
daoUser.UpdateMoney("umoney12", ReModel.Addmoney, ReModel.MemberId);
|
|
Mtxfw.Model.user_info uModel = new DAL.user_info().GetModel(ReModel.MemberId);
|
|
if (uModel != null)
|
|
{
|
|
if (ReModel.OrdersIDs != "")
|
|
{
|
|
Double ZSubTotal = 0.00;
|
|
string[] AOrderIDs = ReModel.OrdersIDs.Split(',');
|
|
for (int i = 0; i < AOrderIDs.Length; i++)
|
|
{
|
|
Mtxfw.Model.order_info OrderModel = daoorder.GetModel(int.Parse(AOrderIDs[i]));
|
|
if (OrderModel != null)
|
|
{
|
|
if (OrderModel.O_Payed == "" || OrderModel.O_Payed == "0")
|
|
{
|
|
ZSubTotal += OrderModel.Totalprice;
|
|
}
|
|
}
|
|
}
|
|
Double umoney12 = Convert.ToDouble((uModel.umoney12 - uModel.umoney22).ToString("f2"));
|
|
ZSubTotal = Convert.ToDouble(ZSubTotal.ToString("f2"));
|
|
if (ZSubTotal > 0.00 && ZSubTotal <= umoney12)
|
|
{
|
|
for (int i = 0; i < AOrderIDs.Length; i++)
|
|
{
|
|
Mtxfw.Model.order_info OrderModel = daoorder.GetModel(int.Parse(AOrderIDs[i]));
|
|
if (OrderModel != null)
|
|
{
|
|
if (OrderModel.O_Payed == "" || OrderModel.O_Payed == "0")
|
|
{
|
|
daoorder.UpdateqyState(0, "1", DateTime.Now, OrderModel.Id);
|
|
Mtxfw.DAL.MemberStatistics.JiangLiFP(OrderModel.Id, OrderModel.orderid, OrderModel.pid.ToString(), OrderModel.UserID, OrderModel.Totalprice, OrderModel.Totalprice0, OrderModel.Totalprice1, OrderModel.Totalprice2, OrderModel.utype.ToString());
|
|
System.Data.DataSet Ds_op = new Mtxfw.DAL.order_product_info().GetList("", "utype='0' And orderid=" + OrderModel.Id + " Order By SubmitTime asc");
|
|
if (Ds_op.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int l = 0; l < Ds_op.Tables[0].Rows.Count; l++)
|
|
{
|
|
int P_pid = int.Parse(Ds_op.Tables[0].Rows[l]["pid"].ToString());
|
|
int P_Totalnum = int.Parse(Ds_op.Tables[0].Rows[l]["Totalnum"].ToString());
|
|
new Mtxfw.DAL.P_Product().UpdateInventory(P_pid, -P_Totalnum);
|
|
}
|
|
}
|
|
Ds_op.Clear();
|
|
}
|
|
}
|
|
}
|
|
Double money = ZSubTotal;
|
|
Model.user_Results_jl2 mjl2 = new Model.user_Results_jl2();
|
|
mjl2.MemberId = ReModel.MemberId;
|
|
mjl2.MemberId2 = 0;
|
|
mjl2.Addmoney = 0;
|
|
mjl2.Cutmoney = -money;
|
|
mjl2.Totalmoney = umoney12 - money;
|
|
mjl2.addtime = DateTime.Now;
|
|
mjl2.BZContent = "购买商品付款";
|
|
mjl2.PayID = "";
|
|
mjl2.OrdersIDs = "";
|
|
mjl2.OrdersID = 0;
|
|
mjl2.utype = 2;
|
|
mjl2.utype2 = 0;
|
|
mjl2.Seef = 1;
|
|
mjl2.seeftime = DateTime.Now;
|
|
new DAL.user_Results_jl2().Add(mjl2);
|
|
daoUser.UpdateMoney("umoney22", money, ReModel.MemberId);
|
|
/*try
|
|
{
|
|
if (System.Text.RegularExpressions.Regex.IsMatch(uModel.Phone, @"^[1]+[3,4,5,6,7,8]+\d{9}"))
|
|
{
|
|
string strContent = "";
|
|
strContent += "尊敬的用户(" + uModel.RealName + "),您好!您的订单已经支付成功,请登录网站查看详情!【荞宝商城】";
|
|
Mtxfw.Utility.Common.sendsms(uModel.Phone, strContent);
|
|
strContent = "";
|
|
strContent += "用户(" + uModel.RealName + ")在(" + ReModel.addtime.ToString("yyyy年MM月dd日hh时mm分", DateTimeFormatInfo.InvariantInfo) + ")通过微信支付(" + money.ToString("f0") + ")元,请登录网站后台查看详情!【荞宝商城】";
|
|
Mtxfw.Utility.Common.sendsms(uModel.Phone, strContent);
|
|
}
|
|
}
|
|
catch (Exception err)
|
|
{
|
|
Mtxfw.Utility.Common.WriteHtml("/weixin/weixinsentsms.txt", err.Message + err.ToString());
|
|
}*/
|
|
}
|
|
else
|
|
{
|
|
Mtxfw.Utility.Common.WriteHtml("/weixin/payerr.txt", out_trade_no);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |