728 lines
57 KiB
C#
728 lines
57 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.Data;
|
|||
|
|
using System.Data.SqlClient;
|
|||
|
|
using System.Xml;
|
|||
|
|
using System.Globalization;
|
|||
|
|
using System.Text;
|
|||
|
|
using VodSDK;
|
|||
|
|
namespace Mtxfw.shop
|
|||
|
|
{
|
|||
|
|
public partial class weixinnotify_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();
|
|||
|
|
private Mtxfw.Utility.Config config = new Mtxfw.Utility.Config("");
|
|||
|
|
DAL.Article daoArt = new DAL.Article();
|
|||
|
|
DAL.user_live daolive = new DAL.user_live();
|
|||
|
|
DAL.user_proxy daoproxy = new DAL.user_proxy();
|
|||
|
|
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;
|
|||
|
|
public string APIv3key = "";
|
|||
|
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
if (!IsPostBack)
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
string hostname = Request.Url.Host;
|
|||
|
|
|
|||
|
|
string wxNotifyXml = "";
|
|||
|
|
byte[] bytes = Request.BinaryRead(Request.ContentLength);
|
|||
|
|
string strContent = bytes.ToString();
|
|||
|
|
if (strContent.IndexOf("REFUND.") != -1)
|
|||
|
|
{
|
|||
|
|
wxNotifyXml = System.Text.Encoding.UTF8.GetString(bytes);
|
|||
|
|
|
|||
|
|
if (wxNotifyXml.Length == 0)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
XmlDocument xmldoc = new XmlDocument();
|
|||
|
|
|
|||
|
|
xmldoc.LoadXml(wxNotifyXml);
|
|||
|
|
xmldoc.Save(Server.MapPath("/weixin/payxml0.xml"));
|
|||
|
|
string event_type = xmldoc.SelectSingleNode("/xml/event_type").InnerText;
|
|||
|
|
if (event_type == "REFUND.SUCCESS")
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else if (event_type == "REFUND.ABNORMAL")
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else if (event_type == "REFUND.CLOSED")
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
wxNotifyXml = System.Text.Encoding.UTF8.GetString(bytes);
|
|||
|
|
|
|||
|
|
if (wxNotifyXml.Length == 0)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
XmlDocument xmldoc = new XmlDocument();
|
|||
|
|
|
|||
|
|
xmldoc.LoadXml(wxNotifyXml);
|
|||
|
|
xmldoc.Save(Server.MapPath("/weixin/payxml.xml"));
|
|||
|
|
string ResultCode = xmldoc.SelectSingleNode("/xml/result_code").InnerText;
|
|||
|
|
string ReturnCode = xmldoc.SelectSingleNode("/xml/return_code").InnerText;
|
|||
|
|
Mtxfw.Utility.Common.WriteHtml("/weixin/weixinpayreturn.txt", ResultCode + "|" + ReturnCode);
|
|||
|
|
if (ReturnCode == "SUCCESS" && ResultCode == "SUCCESS")
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
SortedDictionary<string, string> pay_dic = new SortedDictionary<string, string>();
|
|||
|
|
|
|||
|
|
string strpay_dic = "";
|
|||
|
|
foreach (XmlNode item in xmldoc.DocumentElement)
|
|||
|
|
{
|
|||
|
|
string strtitle = item.Name;
|
|||
|
|
string strvalue = item.InnerText;
|
|||
|
|
pay_dic.Add(strtitle, strvalue);
|
|||
|
|
strpay_dic += strtitle + "=" + strvalue + "&";
|
|||
|
|
}
|
|||
|
|
//Mtxfw.Utility.Common.WriteHtml("/weixin/weixinpay_dic.txt", strpay_dic);
|
|||
|
|
|
|||
|
|
string PARTNER_KEY = config.webPARTNER_KEY;
|
|||
|
|
string total_fee = xmldoc.SelectSingleNode("/xml/total_fee").InnerText;
|
|||
|
|
Double total_amount = Convert.ToDouble((Convert.ToDouble(total_fee) / 100).ToString("f2"));
|
|||
|
|
string sign = xmldoc.SelectSingleNode("/xml/sign").InnerText;
|
|||
|
|
string out_trade_no = xmldoc.SelectSingleNode("/xml/out_trade_no").InnerText;
|
|||
|
|
string transaction_id = xmldoc.SelectSingleNode("/xml/transaction_id").InnerText;
|
|||
|
|
/*
|
|||
|
|
string return_code = xmldoc.SelectSingleNode("/xml/return_code").InnerText;
|
|||
|
|
string appid = xmldoc.SelectSingleNode("/xml/appid").InnerText;
|
|||
|
|
string mch_id = xmldoc.SelectSingleNode("/xml/mch_id").InnerText;
|
|||
|
|
string nonce_str = xmldoc.SelectSingleNode("/xml/nonce_str").InnerText;
|
|||
|
|
|
|||
|
|
string result_code = xmldoc.SelectSingleNode("/xml/result_code").InnerText;
|
|||
|
|
string openid = xmldoc.SelectSingleNode("/xml/openid").InnerText;
|
|||
|
|
string is_subscribe = xmldoc.SelectSingleNode("/xml/is_subscribe").InnerText;
|
|||
|
|
string trade_type = xmldoc.SelectSingleNode("/xml/trade_type").InnerText;
|
|||
|
|
string bank_type = xmldoc.SelectSingleNode("/xml/bank_type").InnerText;
|
|||
|
|
|
|||
|
|
string fee_type = xmldoc.SelectSingleNode("/xml/fee_type").InnerText;
|
|||
|
|
string cash_fee = xmldoc.SelectSingleNode("/xml/cash_fee").InnerText;
|
|||
|
|
string transaction_id = xmldoc.SelectSingleNode("/xml/transaction_id").InnerText;
|
|||
|
|
|
|||
|
|
string time_end = xmldoc.SelectSingleNode("/xml/time_end").InnerText;
|
|||
|
|
|
|||
|
|
Mtxfw.Utility.Common.WriteHtml("/weixin/weixinpayerr3.txt", out_trade_no);
|
|||
|
|
pay_dic.Add("appid", appid);
|
|||
|
|
pay_dic.Add("bank_type", bank_type);
|
|||
|
|
pay_dic.Add("cash_fee", cash_fee);
|
|||
|
|
pay_dic.Add("fee_type", fee_type);
|
|||
|
|
pay_dic.Add("is_subscribe", is_subscribe);
|
|||
|
|
pay_dic.Add("mch_id", mch_id);
|
|||
|
|
pay_dic.Add("nonce_str", nonce_str);
|
|||
|
|
pay_dic.Add("openid", openid);
|
|||
|
|
pay_dic.Add("out_trade_no", out_trade_no);
|
|||
|
|
pay_dic.Add("result_code", result_code);
|
|||
|
|
pay_dic.Add("return_code", return_code);
|
|||
|
|
pay_dic.Add("time_end", time_end);
|
|||
|
|
pay_dic.Add("total_fee", total_fee);
|
|||
|
|
pay_dic.Add("trade_type", trade_type);
|
|||
|
|
pay_dic.Add("transaction_id", transaction_id);*/
|
|||
|
|
HttpContext context = HttpContext.Current;
|
|||
|
|
string get_PaySign = Mtxfw.Utility.Interface_WxPay.BuildRequest(pay_dic, PARTNER_KEY);
|
|||
|
|
//Mtxfw.Utility.Common.WriteHtml("/weixin/weixinpayerr4.txt", get_PaySign + "|" + sign + "|" + total_fee);
|
|||
|
|
if (get_PaySign == sign)
|
|||
|
|
{
|
|||
|
|
/********************************
|
|||
|
|
*
|
|||
|
|
* 自己业务处理
|
|||
|
|
*
|
|||
|
|
*********************************/
|
|||
|
|
bool ifjs = true;
|
|||
|
|
if (Application["LogLock" + out_trade_no] != null)
|
|||
|
|
{
|
|||
|
|
ifjs = false;
|
|||
|
|
}
|
|||
|
|
if (ifjs)
|
|||
|
|
{
|
|||
|
|
Application["LogLock" + out_trade_no] = "lock";
|
|||
|
|
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)
|
|||
|
|
{
|
|||
|
|
int gid = Convert.ToInt32(ReModel.b1.ToString().Split('.')[0]);
|
|||
|
|
int liveid = Convert.ToInt32(ReModel.b2.ToString().Split('.')[0]);
|
|||
|
|
int receiverid = Convert.ToInt32(ReModel.b3.ToString().Split('.')[0]);
|
|||
|
|
Mtxfw.Model.user_Goods gmodel = new Mtxfw.DAL.user_Goods().GetModel(gid);
|
|||
|
|
if (gmodel != null)
|
|||
|
|
{
|
|||
|
|
Mtxfw.Model.Article model = new Mtxfw.Model.Article();
|
|||
|
|
model.senderid = umodel.Id;
|
|||
|
|
model.receiverid = receiverid;
|
|||
|
|
model.Title = "直播礼物";
|
|||
|
|
model.ParentID = 21;
|
|||
|
|
model.CategoryId = liveid.ToString();
|
|||
|
|
model.AddTime = dt;
|
|||
|
|
model.Author = "";
|
|||
|
|
|
|||
|
|
model.Content = "赠送礼物:<img class=\"gift\" src=\"" + config.webUrl + config.webUpPath + gmodel.GoodsPic + "\" />";
|
|||
|
|
model.Paths = "";
|
|||
|
|
model.Content2 = "";
|
|||
|
|
model.Paths2 = "";
|
|||
|
|
model.KeyWords = "";
|
|||
|
|
model.media_id = "";
|
|||
|
|
model.thumb_media_id = "";
|
|||
|
|
model.wtype = 0;
|
|||
|
|
model.wtype2 = 0;
|
|||
|
|
model.LinkID = 0;
|
|||
|
|
model.Seef = 0;
|
|||
|
|
model.gtype = ReModel.gtype;
|
|||
|
|
daoArt.Add(model);
|
|||
|
|
|
|||
|
|
Mtxfw.Model.user_info umodel2 = new Mtxfw.DAL.user_info().GetModel(receiverid);
|
|||
|
|
if (umodel2 != null)
|
|||
|
|
{
|
|||
|
|
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 = "给" + umodel2.NCName + "赠送了礼物";
|
|||
|
|
logmodel.UType = 3;
|
|||
|
|
logmodel.gtype = ReModel.gtype;
|
|||
|
|
new DAL.User_CZ_log().Add(logmodel);
|
|||
|
|
}
|
|||
|
|
new Mtxfw.DAL.user_live().addSel("lzhd", 1, liveid);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
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 + ReModel.Totalmoney);
|
|||
|
|
mjl2.addtime = dt;
|
|||
|
|
mjl2.BZContent = "微信支付购买VIP套餐,余额充值成功";
|
|||
|
|
mjl2.PayID = "";
|
|||
|
|
mjl2.OrdersIDs = "";
|
|||
|
|
mjl2.OrdersID = 0;
|
|||
|
|
mjl2.utype = 2;
|
|||
|
|
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);
|
|||
|
|
mjl2.addtime = dt;
|
|||
|
|
mjl2.BZContent = "微信支付购买VIP套餐,余额扣款成功";
|
|||
|
|
mjl2.PayID = "";
|
|||
|
|
mjl2.OrdersIDs = "";
|
|||
|
|
mjl2.OrdersID = 0;
|
|||
|
|
mjl2.utype = 2;
|
|||
|
|
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 = -1, 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;
|
|||
|
|
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 yyq = 0;// Convert.ToInt32(config.webMoney4);
|
|||
|
|
int OrderId = 0, PId = 0;
|
|||
|
|
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(transaction_id, out_trade_no, OrderModel.Id);
|
|||
|
|
/*bool ifb = true;
|
|||
|
|
DateTime dt1 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|||
|
|
if (config.webXaccess_token != "" && config.webXaccess_token_time != "")
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
DateTime dt2 = Convert.ToDateTime(Convert.ToDateTime(config.webXaccess_token_time).AddMinutes(100).ToString("yyyy-MM-dd HH:mm:ss"));
|
|||
|
|
if (dt1 > dt2)
|
|||
|
|
{
|
|||
|
|
ifb = false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
ifb = false;
|
|||
|
|
}
|
|||
|
|
if (!ifb)
|
|||
|
|
{
|
|||
|
|
Mtxfw.Utility.WXaccess_token ac = Mtxfw.Utility.Common.getxaccess_token(config.webXAppID, config.webXAppSecret);
|
|||
|
|
config.webXaccess_token = ac.access_token;
|
|||
|
|
config.webXaccess_token_time = dt1.ToString("yyyy-MM-dd HH:mm:ss");
|
|||
|
|
config.Save();
|
|||
|
|
}
|
|||
|
|
string strResult0 = Mtxfw.Utility.Common.getPage2("https://api.weixin.qq.com/wxa/sec/order/update_order_detail_path?access_token=" + config.webXaccess_token, "", "utf-8", true, true, "path=pages/index/index?id=${" + out_trade_no + "}");
|
|||
|
|
Model.User_Errlog mo = new Model.User_Errlog();
|
|||
|
|
|
|||
|
|
mo.DLID = 0;
|
|||
|
|
mo.ErrType = "银花优选微信支付配置订单详情路径";
|
|||
|
|
mo.addtime = DateTime.Now;
|
|||
|
|
mo.ErrBody = strResult0;
|
|||
|
|
mo.ErrBody2 = out_trade_no;
|
|||
|
|
new DAL.User_Errlog().Add(mo);*/
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
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);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception err)
|
|||
|
|
{
|
|||
|
|
Mtxfw.Utility.Common.WriteHtml("/weixin/weixinpayerr5.txt", err.ToString());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|