631 lines
48 KiB
C#
631 lines
48 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Configuration;
|
||
using System.Collections;
|
||
using System.Web;
|
||
using System.Web.Security;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Web.UI.WebControls.WebParts;
|
||
using System.Web.UI.HtmlControls;
|
||
using System.Collections.Specialized;
|
||
using System.Collections.Generic;
|
||
using System.Globalization;
|
||
using VodSDK;
|
||
namespace Mtxfw.shop
|
||
{
|
||
/// <summary>
|
||
/// 功能:服务器异步通知页面
|
||
/// 版本:3.3
|
||
/// 日期:2012-07-10
|
||
/// 说明:
|
||
/// 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
|
||
/// 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
|
||
///
|
||
/// ///////////////////页面功能说明///////////////////
|
||
/// 创建该页面文件时,请留心该页面文件中无任何HTML代码及空格。
|
||
/// 该页面不能在本机电脑测试,请到服务器上做测试。请确保外部可以访问该页面。
|
||
/// 该页面调试工具请使用写文本函数logResult。
|
||
/// 如果没有收到该页面返回的 success 信息,支付宝会在24小时内按一定的时间策略重发通知
|
||
/// </summary>
|
||
public partial class alipay_notify_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 daoResults = new Mtxfw.DAL.user_Results();
|
||
DAL.user_Results_jl2 daojl2 = new DAL.user_Results_jl2();
|
||
Mtxfw.DAL.order_product_info daoorderproduct = new Mtxfw.DAL.order_product_info();
|
||
DAL.Article daoArt = new DAL.Article();
|
||
DAL.user_live daolive = new DAL.user_live();
|
||
DAL.user_proxy daoproxy = new DAL.user_proxy();
|
||
private Mtxfw.Utility.Config config = new Mtxfw.Utility.Config("");
|
||
Mtxfw.DAL.P_Product daoProduct = new Mtxfw.DAL.P_Product();
|
||
DAL.P_Guige daoGuige = new DAL.P_Guige();
|
||
DAL.user_jjfp daojjfp = new DAL.user_jjfp();
|
||
DAL.user_zzjf daozzjf = new DAL.user_zzjf();
|
||
DAL.user_zzjf_log daozzjflog = new DAL.user_zzjf_log();
|
||
DAL.business_info daobusiness = new DAL.business_info();
|
||
public int gtype = 0;
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
try
|
||
{
|
||
string hostname = Request.Url.Host;
|
||
|
||
bool flag = Aop.Api.Util.AlipaySignature.CertVerifyV1(GetRequestPost(), Server.MapPath("/App_Data/alipaygyzs.crt"), "UTF-8", "RSA2");
|
||
Mtxfw.Utility.Common.WriteHtml("/weixin/alipay_notify_url.txt", flag.ToString());
|
||
if (flag)//验证成功
|
||
{
|
||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
//请在这里加上商户的业务逻辑程序代码
|
||
|
||
|
||
//——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
|
||
//获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表
|
||
|
||
//商户订单号
|
||
|
||
string out_trade_no = Request.Form["out_trade_no"];
|
||
//支付宝交易号
|
||
|
||
string trade_no = Request.Form["trade_no"];
|
||
|
||
//交易状态
|
||
string trade_status = Request.Form["trade_status"];
|
||
|
||
Mtxfw.Utility.Common.WriteHtml("/weixin/alipay_notify_url0.txt", out_trade_no + "|" + trade_no + "|" + trade_status);
|
||
if (trade_status == "TRADE_SUCCESS" || trade_status == "TRADE_FINISHED")
|
||
{
|
||
bool ifjs = true;
|
||
if (Application["LogLock" + out_trade_no] != null)
|
||
{
|
||
ifjs = false;
|
||
}
|
||
if (ifjs)
|
||
{
|
||
Application["LogLock" + out_trade_no] = "lock";
|
||
string buyer_logon_id = "";
|
||
if (!String.IsNullOrEmpty(Request.Form["buyer_logon_id"]))
|
||
{
|
||
buyer_logon_id = Request.Form["buyer_logon_id"];
|
||
}
|
||
//判断该笔订单是否在商户网站中已经做过处理
|
||
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
|
||
//如果有做过处理,不执行商户的业务程序
|
||
|
||
//注意:
|
||
//该种交易状态只在两种情况下出现
|
||
//1、开通了普通即时到账,买家付款成功后。
|
||
//2、开通了高级即时到账,从该笔交易成功时间算起,过了签约时的可退款时限(如:三个月以内可退款、一年以内可退款等)后。
|
||
Mtxfw.Model.user_Results ReModel = daoResults.GetModel2(2, out_trade_no);
|
||
if (ReModel != null)
|
||
{
|
||
DateTime dt = DateTime.Now;
|
||
if (ReModel.Seef == 0)
|
||
{
|
||
ReModel.Seef = 1;
|
||
daoResults.UpdateSeef(1, DateTime.Now, ReModel.Id);
|
||
Mtxfw.Model.user_info umodel = daoUser.GetModel(ReModel.MemberId);
|
||
if (umodel != null)
|
||
{
|
||
//增加买家余额
|
||
Model.user_Results_jl2 mjl2 = new Model.user_Results_jl2();
|
||
int zftype = Convert.ToInt32(ReModel.b17.ToString().Split('.')[0]);
|
||
int type = Convert.ToInt32(ReModel.b18.ToString().Split('.')[0]);
|
||
if (type == 3)
|
||
{
|
||
|
||
}
|
||
else if (type == 2)
|
||
{
|
||
string[] aResultIdS = ReModel.OrderIds.Split(',');
|
||
for (int i = 0; i < aResultIdS.Length; i++)
|
||
{
|
||
if (aResultIdS[i] != "")
|
||
{
|
||
Model.user_Results_jl2 jlmodel = daojl2.GetModel(Convert.ToInt64(aResultIdS[i]));
|
||
if (jlmodel != null)
|
||
{
|
||
daojl2.UpdateSeef("seef", 1, "seeftime", dt, jlmodel.Id);
|
||
Double money = Convert.ToDouble(jlmodel.Addmoney.ToString("f2"));//流量积分
|
||
string[] area = jlmodel.OrdersIDs.Split('|');
|
||
string province = area[0];
|
||
string city = (area.Length > 1 ? area[1] : "");
|
||
string county = (area.Length > 2 ? area[2] : "");
|
||
string address = jlmodel.BZContent;
|
||
if (jlmodel.utype2 == 4)
|
||
{
|
||
daoUser.UpdateuLevel("uLevel28", Convert.ToInt32(jlmodel.Totalmoney.ToString().Split('.')[0]), umodel.Id);
|
||
if (money > 0.00)
|
||
{
|
||
mjl2 = new Model.user_Results_jl2();
|
||
mjl2.MemberId = umodel.Id;
|
||
mjl2.MemberId2 = 0;
|
||
mjl2.Addmoney = money;
|
||
mjl2.Cutmoney = 0;
|
||
mjl2.Totalmoney = (umodel.umoney38 + money);
|
||
mjl2.addtime = dt;
|
||
mjl2.BZContent = "申请品牌展示";
|
||
mjl2.PayID = "";
|
||
mjl2.OrdersIDs = "";
|
||
mjl2.OrdersID = 0;
|
||
mjl2.utype = 13;
|
||
mjl2.utype2 = 0;
|
||
mjl2.Seef = -1;
|
||
mjl2.seeftime = dt;
|
||
mjl2.gtype = gtype;
|
||
daojl2.Add(mjl2);
|
||
//减少买家余额
|
||
daoUser.UpdateMoney("umoney38", money, umodel.Id);
|
||
umodel.umoney38 += money;
|
||
}
|
||
}
|
||
Double money0 = Convert.ToDouble(jlmodel.Cutmoney.ToString("f2"));//贡献值
|
||
if (money0 > 0.00)
|
||
{
|
||
mjl2 = new Model.user_Results_jl2();
|
||
mjl2.MemberId = umodel.Id;
|
||
mjl2.MemberId2 = 0;
|
||
mjl2.Addmoney = money0;
|
||
mjl2.Cutmoney = 0;
|
||
mjl2.Totalmoney = (umodel.umoney31 + money0);
|
||
mjl2.addtime = dt;
|
||
mjl2.BZContent = "申请企业品牌展示赠送";
|
||
mjl2.PayID = "";
|
||
mjl2.OrdersIDs = "";
|
||
mjl2.OrdersID = 0;
|
||
mjl2.utype = 3;
|
||
mjl2.utype2 = 0;
|
||
mjl2.Seef = -1;
|
||
mjl2.seeftime = dt;
|
||
mjl2.gtype = gtype;
|
||
daojl2.Add(mjl2);
|
||
mjl2 = new Model.user_Results_jl2();
|
||
daoUser.UpdateMoney("umoney31", money0, umodel.Id);
|
||
}
|
||
if (jlmodel.MinNumber == 1)
|
||
{
|
||
if (umodel.uLevel26 == 0)
|
||
{
|
||
daoUser.UpdateuLevel("uLevel26", 1, umodel.Id);
|
||
}
|
||
}
|
||
string[] ASuperiorsIDS = (umodel.ContactIDS).Split(',');
|
||
int uds = 1, uds0 = 1;
|
||
for (int ak = ASuperiorsIDS.Length - 2; ak > 0; ak--)
|
||
{
|
||
if (ASuperiorsIDS[ak] != "")
|
||
{
|
||
//
|
||
DataSet ds = daoUser.GetList1("ID,uLevel26", "gtype=" + gtype + " and UserState='正常' And IFStores=0 And uLevel17=0 And id=" + ASuperiorsIDS[ak]);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
int dID = Convert.ToInt32(ds.Tables[0].Rows[0]["ID"].ToString());
|
||
int YuLevel26 = Convert.ToInt32(ds.Tables[0].Rows[0]["uLevel26"].ToString());
|
||
if (uds == 1)
|
||
{
|
||
Double bfb = Convert.ToDouble(config.webMoney48);
|
||
if (YuLevel26 == 1)
|
||
{
|
||
bfb = bfb = Convert.ToDouble(config.webMoney49);
|
||
uds0 += 1;
|
||
}
|
||
Double umoney4 = Convert.ToDouble(Convert.ToDouble((money * bfb / 100).ToString("0.##")).ToString("f2"));
|
||
if (umoney4 > 0.0000)
|
||
{
|
||
daoUser.UpdateMoney("umoney4", umoney4, dID);
|
||
DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "分享奖励", gtype);
|
||
}
|
||
}
|
||
if (YuLevel26 == 1)
|
||
{
|
||
if (uds0 == 1)
|
||
{
|
||
Double bfb = (Convert.ToDouble(config.webMoney49) - Convert.ToDouble(config.webMoney48));
|
||
Double umoney4 = Convert.ToDouble(Convert.ToDouble((money * bfb / 100).ToString("0.##")).ToString("f2"));
|
||
if (umoney4 > 0.0000)
|
||
{
|
||
daoUser.UpdateMoney("umoney4", umoney4, dID);
|
||
DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "VIP奖励", gtype);
|
||
}
|
||
}
|
||
uds0 += 1;
|
||
}
|
||
uds += 1;
|
||
}
|
||
ds.Clear();
|
||
}
|
||
}
|
||
DataSet dds = daoproxy.GetList1("MemberId", "gtype=" + gtype + " and TType=1 And seef=1 And AgenLevel=2 And Agenprovince='" + province + "' And Agencity='" + city + "' And AgenCounty='" + county + "' And CHARINDEX(AAddress,'" + address + "')>0");
|
||
if (dds.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (System.Data.DataRow drv in dds.Tables[0].Rows)
|
||
{
|
||
int dID = Convert.ToInt32(drv["MemberId"].ToString());
|
||
|
||
Double bfb = Convert.ToDouble(Convert.ToDouble(config.webMoney62).ToString("f2"));
|
||
Double umoney4 = Convert.ToDouble(((bfb / 100) * money).ToString("f2"));
|
||
if (umoney4 > 0.00)
|
||
{
|
||
daoUser.UpdateMoney("umoney4", umoney4, dID);
|
||
DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "乡镇代理奖励", gtype);
|
||
}
|
||
}
|
||
}
|
||
dds.Clear();
|
||
dds = daoproxy.GetList1("MemberId", "gtype=" + gtype + " and TType=1 And seef=1 And AgenLevel=3 And Agenprovince='" + province + "' And Agencity='" + city + "' And AgenCounty='" + county + "'");
|
||
if (dds.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (System.Data.DataRow drv in dds.Tables[0].Rows)
|
||
{
|
||
int dID = Convert.ToInt32(drv["MemberId"].ToString());
|
||
|
||
Double bfb = Convert.ToDouble(Convert.ToDouble(config.webMoney61).ToString("f2"));
|
||
Double umoney4 = Convert.ToDouble(((bfb / 100) * money).ToString("f2"));
|
||
if (umoney4 > 0.00)
|
||
{
|
||
daoUser.UpdateMoney("umoney4", umoney4, dID);
|
||
DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "县代理奖励", gtype);
|
||
}
|
||
}
|
||
}
|
||
dds.Clear();
|
||
dds = daoproxy.GetList1("MemberId", "gtype=" + gtype + " and TType=1 And seef=1 And AgenLevel=4 And Agenprovince='" + province + "' And Agencity='" + city + "'");
|
||
if (dds.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (System.Data.DataRow drv in dds.Tables[0].Rows)
|
||
{
|
||
int dID = Convert.ToInt32(drv["MemberId"].ToString());
|
||
|
||
Double bfb = Convert.ToDouble(Convert.ToDouble(config.webMoney60).ToString("f2"));
|
||
Double umoney4 = Convert.ToDouble(((bfb / 100) * money).ToString("f2"));
|
||
if (umoney4 > 0.00)
|
||
{
|
||
daoUser.UpdateMoney("umoney4", umoney4, dID);
|
||
DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "市代理奖励", gtype);
|
||
}
|
||
}
|
||
}
|
||
dds.Clear();
|
||
dds = daoproxy.GetList1("MemberId", "gtype=" + gtype + " and TType=1 And seef=1 And AgenLevel=5 And Agenprovince='" + province + "'");
|
||
if (dds.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (System.Data.DataRow drv in dds.Tables[0].Rows)
|
||
{
|
||
int dID = Convert.ToInt32(drv["MemberId"].ToString());
|
||
|
||
Double bfb = Convert.ToDouble(Convert.ToDouble(config.webMoney58).ToString("f2"));
|
||
Double umoney4 = Convert.ToDouble(((bfb / 100) * money).ToString("f2"));//
|
||
|
||
if (umoney4 > 0.00)
|
||
{
|
||
daoUser.UpdateMoney("umoney4", umoney4, dID);
|
||
DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "省代理奖励", gtype);
|
||
}
|
||
}
|
||
}
|
||
dds.Clear();
|
||
|
||
}
|
||
}
|
||
}
|
||
Model.User_CZ_log logmodel = new Model.User_CZ_log();
|
||
logmodel.MemberId = umodel.Id;
|
||
logmodel.AddTime = dt;
|
||
logmodel.IP = Mtxfw.Utility.Common.GetIP;
|
||
logmodel.Body = "支付宝支付申请企业品牌展示成功";
|
||
logmodel.UType = 0;
|
||
logmodel.gtype = gtype;
|
||
new DAL.User_CZ_log().Add(logmodel);
|
||
}
|
||
else if (type == 1)
|
||
{
|
||
mjl2 = new Model.user_Results_jl2();
|
||
mjl2.MemberId = umodel.Id;
|
||
mjl2.MemberId2 = 0;
|
||
mjl2.Addmoney = ReModel.Totalmoney;
|
||
mjl2.Cutmoney = 0;
|
||
mjl2.Totalmoney = (umodel.umoney - umodel.umoney17 + umodel.umoney35 + ReModel.Totalmoney);
|
||
mjl2.addtime = dt;
|
||
mjl2.BZContent = "支付宝支付购买VIP套餐,余额充值成功";
|
||
mjl2.PayID = "";
|
||
mjl2.OrdersIDs = "";
|
||
mjl2.OrdersID = 0;
|
||
mjl2.utype = 1;
|
||
mjl2.utype2 = 0;
|
||
mjl2.Seef = -1;
|
||
mjl2.seeftime = dt;
|
||
mjl2.gtype = gtype;
|
||
new Mtxfw.DAL.user_Results_jl2().Add(mjl2);
|
||
mjl2 = new Model.user_Results_jl2();
|
||
mjl2.MemberId = umodel.Id;
|
||
mjl2.MemberId2 = 0;
|
||
mjl2.Addmoney = -ReModel.Totalmoney;
|
||
mjl2.Cutmoney = 0;
|
||
mjl2.Totalmoney = (umodel.umoney - umodel.umoney17 + umodel.umoney35);
|
||
mjl2.addtime = dt;
|
||
mjl2.BZContent = "支付宝支付购买VIP套餐,余额扣款成功";
|
||
mjl2.PayID = "";
|
||
mjl2.OrdersIDs = "";
|
||
mjl2.OrdersID = 0;
|
||
mjl2.utype = 1;
|
||
mjl2.utype2 = 0;
|
||
mjl2.Seef = -1;
|
||
mjl2.seeftime = dt;
|
||
mjl2.gtype = gtype;
|
||
new Mtxfw.DAL.user_Results_jl2().Add(mjl2);
|
||
Int64 ResultId = Convert.ToInt64(ReModel.OrderIds);
|
||
Mtxfw.Model.user_Results ReModel0 = daoResults.GetModel(ResultId);
|
||
if (ReModel0 != null)
|
||
{
|
||
daoResults.UpdateSeef(1, dt, ReModel0.Id);
|
||
DateTime regtime1 = DateTime.Now.AddDays(ReModel0.b2);
|
||
if (umodel.uLevel4 == 1)
|
||
{
|
||
regtime1 = umodel.RegTime1.AddDays(ReModel0.b2);
|
||
}
|
||
daoUser.UpdateuLevel("uLevel4", 1, umodel.Id);
|
||
daoUser.UpdatePassword("regtime1", regtime1.ToString(), umodel.Id);
|
||
daoUser.UpdateuLevel("uLevel20", 1, umodel.Id);
|
||
}
|
||
Model.User_CZ_log logmodel = new Model.User_CZ_log();
|
||
logmodel.MemberId = umodel.Id;
|
||
logmodel.AddTime = dt;
|
||
logmodel.IP = Mtxfw.Utility.Common.GetIP;
|
||
logmodel.Body = "购买VIP套餐成功";
|
||
logmodel.UType = 0;
|
||
logmodel.gtype = gtype;
|
||
new DAL.User_CZ_log().Add(logmodel);
|
||
}
|
||
else
|
||
{
|
||
mjl2 = new Model.user_Results_jl2();
|
||
mjl2.MemberId = umodel.Id;
|
||
mjl2.MemberId2 = 0;
|
||
mjl2.Addmoney = ReModel.Totalmoney;
|
||
mjl2.Cutmoney = 0;
|
||
mjl2.Totalmoney = ((zftype == 1 ? umodel.umoney30 : (umodel.umoney - umodel.umoney17)) + ReModel.Totalmoney);
|
||
mjl2.addtime = dt;
|
||
mjl2.BZContent = "支付宝支付购买商品,余额充值成功";
|
||
mjl2.PayID = "";
|
||
mjl2.OrdersIDs = "";
|
||
mjl2.OrdersID = 0;
|
||
mjl2.utype = (zftype == 1 ? 2 : 1);
|
||
mjl2.utype2 = 0;
|
||
mjl2.Seef = -1;
|
||
mjl2.seeftime = dt;
|
||
mjl2.gtype = gtype;
|
||
new Mtxfw.DAL.user_Results_jl2().Add(mjl2);
|
||
mjl2 = new Model.user_Results_jl2();
|
||
mjl2.MemberId = umodel.Id;
|
||
mjl2.MemberId2 = 0;
|
||
mjl2.Addmoney = -ReModel.Totalmoney;
|
||
mjl2.Cutmoney = 0;
|
||
mjl2.Totalmoney = (zftype == 1 ? umodel.umoney30 : (umodel.umoney - umodel.umoney17));
|
||
mjl2.addtime = dt;
|
||
mjl2.BZContent = "支付宝支付购买商品,余额扣款成功";
|
||
mjl2.PayID = "";
|
||
mjl2.OrdersIDs = "";
|
||
mjl2.OrdersID = 0;
|
||
mjl2.utype = (zftype == 1 ? 2 : 1);
|
||
mjl2.utype2 = 0;
|
||
mjl2.Seef = -1;
|
||
mjl2.seeftime = dt;
|
||
mjl2.gtype = gtype;
|
||
new Mtxfw.DAL.user_Results_jl2().Add(mjl2);
|
||
int liveid = 0, poid = 0, pcount = 0, ypcount = 0, P_UserID = 0;
|
||
string OID = "", pncname = (umodel.NCName == "" ? umodel.RealName : umodel.NCName);
|
||
if (ReModel.OrderIds != "")
|
||
{
|
||
|
||
Double ZSubTotal = 0.00, ZSubTotal0 = 0.00, ZSubTotal1 = 0.00, ZSubTotal2 = 0.00, ZSubTotal3 = 0.00, ZSubTotal4 = 0.00, ZSubTotal5 = 0.00, ZSubTotal6 = 0.00, zyunfei = 0.00, xjZSubTotal = 0.00, JFZSubTotal = 0.00, PayZSubTotal = ReModel.b0;
|
||
int utype = -1, utype0 = 0, Totalnum = 0, ptype = 0, peitype = 0;
|
||
string province = "", city = "", county = "";
|
||
string[] AOrderIDs = ReModel.OrderIds.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")
|
||
{
|
||
OID = OrderModel.orderid;
|
||
zyunfei += OrderModel.Totalprice1;
|
||
P_UserID = OrderModel.MemberId;
|
||
ZSubTotal += OrderModel.Totalprice;
|
||
JFZSubTotal += OrderModel.JFTotalprice;
|
||
ZSubTotal0 += OrderModel.Totalprice0;
|
||
ZSubTotal1 += OrderModel.Totalprice2;
|
||
ZSubTotal2 += OrderModel.Totalprice3;
|
||
ZSubTotal3 += OrderModel.Totalprice4;
|
||
ZSubTotal4 += OrderModel.Totalprice5;
|
||
ZSubTotal5 += OrderModel.Totalprice6;
|
||
ZSubTotal6 += OrderModel.Totalprice7;
|
||
if (OrderModel.ttype == 4)
|
||
{
|
||
liveid = OrderModel.pid;
|
||
}
|
||
|
||
Totalnum += OrderModel.Totalnum;
|
||
if (OrderModel.ttype == 6 && OrderModel.ptype == 1)
|
||
{
|
||
poid = OrderModel.poid;
|
||
pcount = OrderModel.pcount;
|
||
ypcount = OrderModel.ypcount;
|
||
}
|
||
if (utype == -1)
|
||
{
|
||
utype = OrderModel.ttype;
|
||
utype0 = OrderModel.hasRead;
|
||
ptype = OrderModel.ptype;
|
||
peitype = OrderModel.peitype;
|
||
province = OrderModel.Province;
|
||
city = OrderModel.City;
|
||
county = OrderModel.County;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
ZSubTotal = Convert.ToDouble(ZSubTotal.ToString("f2"));
|
||
JFZSubTotal = Convert.ToDouble(JFZSubTotal.ToString("f2"));
|
||
ZSubTotal0 = Convert.ToDouble(ZSubTotal0.ToString("f2"));
|
||
ZSubTotal1 = Convert.ToDouble(ZSubTotal1.ToString("f2"));
|
||
ZSubTotal2 = Convert.ToDouble(ZSubTotal2.ToString("f2"));
|
||
ZSubTotal3 = Convert.ToDouble(ZSubTotal3.ToString("f2"));
|
||
zyunfei = Convert.ToDouble(zyunfei.ToString("f2"));
|
||
xjZSubTotal = (ZSubTotal - PayZSubTotal);
|
||
xjZSubTotal = Convert.ToDouble(xjZSubTotal.ToString("f2"));
|
||
PayZSubTotal = Convert.ToDouble(PayZSubTotal.ToString("f2"));
|
||
if (utype == 0)
|
||
{
|
||
if (JFZSubTotal > 0.00)
|
||
{
|
||
mjl2 = new Model.user_Results_jl2();
|
||
mjl2.MemberId = umodel.Id;
|
||
mjl2.MemberId2 = 0;
|
||
mjl2.Addmoney = -JFZSubTotal;
|
||
mjl2.Cutmoney = 0;
|
||
mjl2.Totalmoney = (umodel.umoney31 - JFZSubTotal);
|
||
mjl2.addtime = dt;
|
||
mjl2.BZContent = "购买商品";
|
||
mjl2.PayID = "";
|
||
mjl2.OrdersIDs = "";
|
||
mjl2.OrdersID = 0;
|
||
mjl2.utype = 4;
|
||
mjl2.utype2 = 0;
|
||
mjl2.Seef = -1;
|
||
mjl2.seeftime = dt;
|
||
mjl2.gtype = gtype;
|
||
daojl2.Add(mjl2);
|
||
//减少买家余额
|
||
daoUser.UpdateMoney("umoney31", -JFZSubTotal, umodel.Id);
|
||
}
|
||
}
|
||
string strResult = "";
|
||
int OrderId = 0, PId = 0;
|
||
int yyq = 0;//Convert.ToInt32(config.webMoney4);
|
||
for (int i = 0; i < AOrderIDs.Length; i++)
|
||
{
|
||
Mtxfw.Model.order_info OrderModel = daoorder.GetModel(int.Parse(AOrderIDs[i]));
|
||
if (OrderModel != null)
|
||
{
|
||
OrderId = OrderModel.Id;
|
||
PId = OrderModel.pid;
|
||
if (OrderModel.O_Payed == "" || OrderModel.O_Payed == "0")
|
||
{
|
||
|
||
Double money = Convert.ToDouble((OrderModel.Totalprice-OrderModel.Totalprice1).ToString("f2"));//结算金额
|
||
|
||
if (utype == 0)
|
||
{
|
||
money = Convert.ToDouble((money - OrderModel.JFTotalprice).ToString("f2"));//结算金额
|
||
}
|
||
|
||
Double money0 = Convert.ToDouble(OrderModel.Totalprice0.ToString("f2"));//首单推荐奖励
|
||
Double money1 = Convert.ToDouble(OrderModel.Totalprice2.ToString("f2"));//复购推荐奖励
|
||
Double money2 = Convert.ToDouble(OrderModel.Totalprice3.ToString("f2"));//赠送广告券
|
||
Double money3 = Convert.ToDouble(OrderModel.Totalprice4.ToString("f2"));//赠送补贴券
|
||
Double money4 = Convert.ToDouble(OrderModel.Totalprice5.ToString("f2"));//
|
||
Double money5 = Convert.ToDouble(OrderModel.Totalprice6.ToString("f2"));//
|
||
Double money6 = Convert.ToDouble(OrderModel.Totalprice7.ToString("f2"));//
|
||
Double money7 = Convert.ToDouble(OrderModel.Totalprice8.ToString("f2"));//
|
||
Double money8 = Convert.ToDouble(OrderModel.Totalprice9.ToString("f2"));//
|
||
if (utype == 0)
|
||
{
|
||
|
||
}
|
||
else if (utype == 2)
|
||
{
|
||
if (umodel.uLevel14 == 1)
|
||
{
|
||
money0 = money1;
|
||
}
|
||
DAL.MemberStatistics.UpdteYJ(config, umodel, money, money0, money2, money3, gtype, dt, OrderModel.ttype, OrderModel.ptype, peitype, OrderModel.orderid, OrderModel.Id, OrderModel.Province, OrderModel.City, OrderModel.County, OrderModel.Tradingarea);
|
||
}
|
||
|
||
|
||
daoorder.UpdateqyState(0, "1", dt, OrderModel.Id);
|
||
if (peitype == 1)
|
||
{
|
||
string orderhxm = dt.ToString("yyMMddHHmmss", DateTimeFormatInfo.InvariantInfo) + OrderModel.Id;
|
||
daoorder.Updateorderhxm(orderhxm, OrderModel.Id);
|
||
//daoorder.UpdateqyState(0, "2", dt, OrderModel.Id);
|
||
//daoorder.Updateyundanhao("", "auto", "", OrderModel.Id);
|
||
}
|
||
|
||
daoorder.Updatetranid(trade_no, out_trade_no, OrderModel.Id);
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
|
||
Model.User_CZ_log logmodel = new Model.User_CZ_log();
|
||
logmodel.MemberId = umodel.Id;
|
||
logmodel.AddTime = dt;
|
||
logmodel.IP = Mtxfw.Utility.Common.GetIP;
|
||
logmodel.Body = "支付宝购买商品成功";
|
||
logmodel.UType = 0;
|
||
logmodel.gtype = gtype;
|
||
new DAL.User_CZ_log().Add(logmodel);
|
||
}
|
||
|
||
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
Response.Write("success"); //请不要修改或删除
|
||
|
||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
}
|
||
else//验证失败
|
||
{
|
||
Response.Write("fail");
|
||
}
|
||
|
||
}
|
||
catch (Exception err)
|
||
{
|
||
Mtxfw.Utility.Common.WriteHtml("/weixin/payerr.txt", err.ToString());
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取支付宝POST过来通知消息,并以“参数名=参数值”的形式组成数组
|
||
/// </summary>
|
||
/// <returns>request回来的信息组成的数组</returns>
|
||
public IDictionary<string, string> GetRequestPost()
|
||
{
|
||
int i = 0;
|
||
IDictionary<string, string> sArray = new Dictionary<string, string>();
|
||
NameValueCollection coll;
|
||
//Load Form variables into NameValueCollection variable.
|
||
coll = Request.Form;
|
||
|
||
// Get names of all forms into a string array.
|
||
String[] requestItem = coll.AllKeys;
|
||
|
||
for (i = 0; i < requestItem.Length; i++)
|
||
{
|
||
sArray.Add(requestItem[i], Request.Form[requestItem[i]]);
|
||
}
|
||
|
||
return sArray;
|
||
}
|
||
|
||
//切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
|
||
//bool RSACheckV1(IDictionary<string, string> parameters, string alipaypublicKey, string charset, string signType, bool keyFromFile)
|
||
|
||
}
|
||
} |