Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string code      = "";
                string companyID = "";
                if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
                {
                    code = Request.QueryString["code"].ToString();

                    string str = Request.QueryString["req"].ToString();
                    string req = PwdHelper.DecodeDES(str, "bingoseller");

                    companyID = req.Split('&')[2].Split('=')[1];
                    string    sql2 = "select * from asm_company where id=" + companyID;
                    DataTable d1   = DbHelperSQL.Query(sql2).Tables[0];

                    if (d1.Rows.Count > 0)
                    {
                        appid     = d1.Rows[0]["appId"].ToString();
                        appsecret = d1.Rows[0]["wx_appsecret"].ToString();
                    }

                    OAuth_Token Model           = Get_token(code, companyID);
                    OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                    {
                        tupian = OAuthUser_Model.headimgurl.ToString();                 //头像图片
                        name   = OAuthUser_Model.nickname;                              //昵称
                        id     = OAuthUser_Model.openid;                                //opendid
                        string unionID  = OAuthUser_Model.unionid;
                        string country  = OAuthUser_Model.country;
                        string province = OAuthUser_Model.province;
                        string city     = OAuthUser_Model.city;
                        OperUtil.setCooki("vshop_openID", id);

                        string    sql = "select * from asm_member where openID='" + id + "' and companyID=" + companyID;
                        DataTable dt  = DbHelperSQL.Query(sql).Tables[0];
                        if (dt.Rows.Count <= 0)
                        {
                            //添加会员 会员不一定必须绑定机器  只有会员有订购产品的时候才必须绑定机器
                            string sql1 = "INSERT INTO [dbo].[asm_member]"
                                          + " ([name],[phone],[QQ],[province],[city],[country],[addres],[AvailableMoney],[sumConsume],[sumRecharge],[createDate],[mechineID],[companyID],[age],[LastTime],[memberBH],[consumeCount],[openID],[brithday],[headurl],[nickname],unionID)"
                                          + " VALUES('" + name + "','','','" + province + "','" + city + "','','',0,0,0,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','','" + companyID + "','0','','',0,'" + id + "','','" + tupian + "','" + name + "','" + unionID + "')";
                            DbHelperSQL.ExecuteSql(sql1);
                            wxHelper wx   = new wxHelper(companyID);
                            string   data = TemplateMessage.Member_ZC(id, OperUtil.getMessageID(companyID, "OPENTM203347141"), "恭喜您注册成为会员!", name, "恭喜您注册成为会员,您将享受到会员所有权利!");
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                        }
                        else
                        {
                            string update = "update asm_member set unionID='" + unionID + "',name='" + name + "',nickname='" + name + "',headurl='" + tupian + "' where openID='" + id + "'";
                            Util.Debuglog("Update=" + update, "更新会员信息.txt");
                        }

                        Response.Redirect("paypage.aspx?req=" + str);
                    }
                }
            }
        }
Beispiel #2
0
        public static string save(string memberID, string yzm, string newpwd, string companyID)
        {
            string    sql = "select * from asm_member where id=" + memberID + "";
            DataTable dt  = DbHelperSQL.Query(sql).Tables[0];

            if (dt.Rows.Count <= 0)
            {
                return("2");
            }
            string update = "update asm_member set pwd='" + newpwd + "' where id=" + memberID;
            int    a      = DbHelperSQL.ExecuteSql(update);

            if (a > 0)
            {
                try
                {
                    wxHelper wx   = new wxHelper(companyID);
                    string   data = TemplateMessage.modify_pwd(dt.Rows[0]["openID"].ToString(), OperUtil.getMessageID(dt.Rows[0]["companyID"].ToString(), "OPENTM406259604"), " 尊敬的会员,您通过手机端修改了【交易密码】", "会员昵称:" + dt.Rows[0]["nickname"].ToString(), "会员姓名:" + dt.Rows[0]["name"].ToString(), "重置密码:1006201");
                    TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                }
                catch {
                }
                return("1");
            }
            else
            {
                return("4");
            }
        }
Beispiel #3
0
        public static String getUserInfo(String opendID)
        {
            wxHelper wx = new wxHelper("14");
            String GET_USERINFO_URL="https://api.weixin.qq.com/cgi-bin/user/info?access_token="+ wx.IsExistAccess_Token("14")+ "&openid="+ opendID + "&lang=zh_CN";
            Util.Debuglog("GET_USERINFO_URL:" + GET_USERINFO_URL, "wxapi.txt");

            return WXApi.HttpGet(GET_USERINFO_URL, "UTF-8");
        }
Beispiel #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                //查询该会员是否设置支付密码没有的话弹出提示框设置
                string str = Request.QueryString["req"].ToString();//trxid=111111&money=2222;
                req                   = PwdHelper.DecodeDES(str, "bingoseller");
                trxid                 = req.Split('&')[0].Split('=')[1];
                money                 = req.Split('&')[1].Split('=')[1];
                companyID             = req.Split('&')[2].Split('=')[1];
                this._money.Value     = money;
                this._trxid.Value     = trxid;
                this._companyID.Value = companyID;

                if (OperUtil.getCooki("vshop_openID") != "0")
                {
                    string    sql = "select * from asm_member where openID='" + OperUtil.getCooki("vshop_openID") + "' and companyID=" + companyID;
                    DataTable dd  = DbHelperSQL.Query(sql).Tables[0];
                    if (dd.Rows.Count <= 0)
                    {
                        //判断是否关注
                        wxHelper wx = new wxHelper(companyID);
                        if (wx.Get_UserInfo(OperUtil.getCooki("vshop_openID")).subscribe == "1")
                        {
                            Response.Redirect("WXCallback.aspx?companyID=" + this._companyID.Value);
                        }
                        else
                        {
                            //没关注
                            string    sql12 = "select * from asm_company where id=" + companyID;
                            DataTable dt    = DbHelperSQL.Query(sql12).Tables[0];
                            url = @"https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=" + dt.Rows[0]["biz"].ToString() + "#wechat_redirect";
                            Util.Debuglog("关注链接=" + url, "微信回调_.txt");
                            Response.Redirect(url);
                        }
                    }
                    else
                    {
                        //正常已经关注的
                    }
                    headURL = dd.Rows[0]["headurl"].ToString();
                    ye      = dd.Rows[0]["AvailableMoney"].ToString();
                    string sql1 = "select * from asm_company where id=" + companyID;

                    DataTable d1 = DbHelperSQL.Query(sql1).Tables[0];
                    this._openID.Value = OperUtil.getCooki("vshop_openID");
                    companyName        = d1.Rows[0]["name"].ToString();
                }
                else
                {
                    Response.Redirect("weixincallback.aspx?companyID=" + companyID + "&req=" + str);
                }
            }
            catch
            {
                Response.Write("<span style='color:#FF0000;font-size:20px'>" + "参数有误,请重试" + "</span>");
            }
        }
Beispiel #5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (OperUtil.getCooki("vshop_openID") != "0")
     {
         company_ID           = OperUtil.getCooki("companyID");
         this.companyID.Value = company_ID;
         this.member_ID.Value = Util.getMemberID();
         initData();
     }
     else
     {
         string userAgent = Request.UserAgent;
         if (userAgent.ToLower().Contains("micromessenger"))
         {
             Response.Redirect("WXCallback.aspx?companyID=" + this.companyID.Value);
             return;
         }
     }
     if (!IsPostBack)
     {
         Response.Cache.SetNoStore();
         wxHelper wx  = new wxHelper(this.companyID.Value);
         string[] str = wx.GetWXInfo(this.Request.Url.ToString(), this.companyID.Value).Split(',');
         time    = str[0];
         randstr = str[1];
         signstr = str[2];
         this.member_ID.Value = Util.getMemberID();
     }
     try
     {
         if (OperUtil.getCooki("vshop_openID") != "0")
         {
             //获取公众号的appid
             string    sql = "select * from asm_company where id=" + this.companyID.Value;
             DataTable dt  = DbHelperSQL.Query(sql).Tables[0];
             if (dt.Rows.Count > 0 && !string.IsNullOrEmpty(dt.Rows[0]["appId"].ToString()))
             {
                 this.appID.Value = dt.Rows[0]["appId"].ToString();
                 app_id           = dt.Rows[0]["appId"].ToString();
             }
             this.member_ID.Value = Util.getMemberID();
         }
         else
         {
             string userAgent = Request.UserAgent;
             if (userAgent.ToLower().Contains("micromessenger"))
             {
                 Response.Redirect("WXCallback.aspx?companyID=" + this.companyID.Value);
                 return;
             }
         }
     }
     catch
     {
         this.member_ID.Value = Util.getMemberID();
     }
 }
Beispiel #6
0
 protected void Page_Load(object sender, EventArgs e)
 {
     try
     {
         //查询该会员是否设置支付密码没有的话弹出提示框设置
         //companyID = Request.QueryString["companyID"].ToString();
         mechineID = Request.QueryString["mechineID"].ToString();
         string    sqlCC = "select companyID from asm_mechine where id='" + mechineID + "'";
         DataTable dcc   = DbHelperSQL.Query(sqlCC).Tables[0];
         companyID             = dcc.Rows[0]["companyID"].ToString();
         this._companyID.Value = companyID;
         this._mechineID.Value = mechineID;
         this._memberID.Value  = Util.getMemberID();
         if (OperUtil.getCooki("vshop_openID") != "0")
         {
             string    sql = "select * from asm_member where openID='" + OperUtil.getCooki("vshop_openID") + "' and companyID=" + companyID;
             DataTable dd  = DbHelperSQL.Query(sql).Tables[0];
             if (dd.Rows.Count <= 0)
             {
                 //判断是否关注
                 wxHelper wx = new wxHelper(companyID);
                 if (wx.Get_UserInfo(OperUtil.getCooki("vshop_openID")).subscribe == "1")
                 {
                     Response.Redirect("WXCallback.aspx?companyID=" + this._companyID.Value);
                 }
                 else
                 {
                     //没关注
                     string    sql1 = "select * from asm_company where id=" + companyID;
                     DataTable dt   = DbHelperSQL.Query(sql1).Tables[0];
                     url = @"https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=" + dt.Rows[0]["biz"].ToString() + "#wechat_redirect";
                     Response.Redirect(url);
                 }
             }
             else
             {
                 //正常已经关注的
             }
         }
         else
         {
             Response.Redirect("WXCallback.aspx?companyID=" + this._companyID.Value);
         }
     }
     catch
     {
         Response.Write("<span style='color:#FF0000;font-size:20px'>" + "参数有误,请重试" + "</span>");
     }
     //this._mechineID.Value = "25";
     //this._memberID.Value = "37";
 }
Beispiel #7
0
        public static string yzPwd(string openID, string pwd, string money, string trxid, string companyID)
        {
            Util.Debuglog("openID=" + openID + ";pwd=" + pwd + ";money=" + money + ";trxid=" + trxid + ";companyID=" + companyID, "_余额支付.txt");
            //验证密码是否正确
            string    sql = "select * from asm_member where openID='" + openID + "' and pwd='" + pwd + "'";
            DataTable dd  = DbHelperSQL.Query(sql).Tables[0];

            if (dd.Rows.Count <= 0)
            {
                return("1");//支付密码不正确
            }
            //判断该订单支付状态
            string    sql1 = "select * from asm_pay_info where trxid='" + trxid + "'";
            DataTable d1   = DbHelperSQL.Query(sql1).Tables[0];

            if (d1.Rows.Count > 0 && d1.Rows[0]["statu"].ToString() == "1")
            {
                return("4");//已经支付完成无需重复支付
            }
            //判断余额
            if (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) < double.Parse(money))
            {
                return("2");//余额不足
            }
            //更新余额
            string update = "update asm_member set AvailableMoney=AvailableMoney-" + money + ",sumConsume=sumConsume+" + money + ",LastTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where openID='" + openID + "'";

            DbHelperSQL.ExecuteSql(update);
            string    sqlM    = "select addres from asm_mechine where id in(select mechineID from asm_member where openID='" + openID + "')";
            DataTable dM      = DbHelperSQL.Query(sqlM).Tables[0];
            string    address = "";

            if (dM.Rows.Count > 0)
            {
                address = dM.Rows[0]["addres"].ToString();
            }
            //发送消息模板
            wxHelper wx   = new wxHelper(companyID);
            string   data = TemplateMessage.money_bd(openID, OperUtil.getMessageID(companyID, "OPENTM403148135"), "余额变动提醒", "购买产品", money, (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) - double.Parse(money)).ToString(), address, "支付时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
            //插入记录
            Util.insertNotice(dd.Rows[0]["id"].ToString(), "余额变动提醒", "您于" + DateTime.Now.ToString("yyyy/MM/dd HH:mm") + "购物消费:" + money + "元;余额:" + (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) - double.Parse(money)), "");
            Util.moneyChange(dd.Rows[0]["id"].ToString(), money, (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) - double.Parse(money)).ToString(), "会员消费", "2", "");
            //接着更新订单的状态
            string update1 = "update asm_pay_info set statu=1,paytime='" + DateTime.Now.ToString("yyyyMMddHHmmss") + "',acct='" + openID + "' where trxid='" + trxid + "'";

            DbHelperSQL.ExecuteSql(update1);
            return("3");
        }
Beispiel #8
0
        public static string ModelMessageSend(string data, string companyID)
        {
            wxHelper wx     = new wxHelper(companyID);
            string   url    = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + wx.IsExistAccess_Token(companyID);
            string   result = HttpPost(url, data);

            if (result.Contains("ok"))
            {
                return("OK");
            }
            else
            {
                return("消息推送失败,具体错误为:" + result);
            }
        }
Beispiel #9
0
        //获取微信消息模板的ID
        public static string getMessageID1(string companyID, string templateBH)
        {
            string    sql        = "select * from asm_company where id=" + companyID;
            DataTable dt         = DbHelperSQL.Query(sql).Tables[0];
            wxHelper  wx         = new wxHelper(companyID);
            string    token      = Util.GetTokenInfo(OpenPFConfig.Appid, dt.Rows[0]["appId"].ToString(), Util.getComAccessToken(), dt.Rows[0]["refresh_token"].ToString()).authorizer_access_token;
            string    templageID = wx.getTemplateId(token, templateBH);

            Util.Debuglog("templageID=" + templageID, "_获取模板ID");
            if (templageID != "")
            {
                return(templageID);
            }
            return("0");
        }
Beispiel #10
0
/// <summary>
/// 根据accesstoken获得ticket
/// </summary>
/// <returns></returns>
//public  string GetTicket1(string companyID)
//{
//        //string access_token = AccessToken();
//        //string url1 = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + access_token.Substring(access_token.IndexOf(':') + 2, access_token.IndexOf(',') - 3 - access_token.IndexOf(':')) + "&type=jsapi";
//        //string requstStr = SendRequest(url1, Encoding.UTF8);
//        string requstStr = IsExistAccess_Token(companyID);
//        Util.Debuglog("requstStrt=" + requstStr + "---", "_Debuglog.txt");
//        string ticket = requstStr.Substring(requstStr.IndexOf("ticket") + 9, requstStr.LastIndexOf(',') - 1 - requstStr.IndexOf("ticket") - 9);// 获得json参数没搞,懂的自己优化
//        Util.Debuglog("ticketticketticketticket=" + ticket + "---", "_Debuglog.txt");
//        return ticket;
//}
/// <summary>
/// 获取jssdk所需签名
/// </summary>
/// <returns></returns>
    public string GetSignature(string link, string noncestr, int timestamp, string companyID)
    {
        DateTime dti = DateTime.Now;

        dtime = dti.ToString("yyyy-MM-dd HH:mm:ss");
        string   a      = IsExistAccess_Token(companyID);
        wxHelper wx     = new wxHelper(companyID);
        string   ticket = wx.GetTicket(companyID);

        time    = "1510124527";
        randstr = noncestr;
        string string1 = "jsapi_ticket=" + ticket + "&noncestr=" + noncestr + "&timestamp=" + timestamp + "&url=" + link;

        url = string1;
        string signature = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string1, "SHA1");

        return(signature.ToLower()); // 生成后一定转换为小写
    }
Beispiel #11
0
        public static object setIndus(string companyID)
        {
            string    sql     = "select * from asm_company where id=" + companyID;
            DataTable dt      = DbHelperSQL.Query(sql).Tables[0];
            wxHelper  wx      = new wxHelper(companyID);
            string    token   = Util.GetTokenInfo(OpenPFConfig.Appid, dt.Rows[0]["appId"].ToString(), Util.getComToken(), dt.Rows[0]["refresh_token"].ToString()).authorizer_access_token;
            string    result  = wx.setIndustry(token);
            JObject   jo      = (JObject)JsonConvert.DeserializeObject(result);
            string    errcode = jo["errcode"].ToString();

            if (errcode == "0")
            {
                return(new { result = 200, msg = "设置成功" });
            }
            else if (errcode == "43100")
            {
                return(new { result = 200, msg = "行业一个月只允许修改一次" });
            }
            return(new { result = 200, msg = "设置失败" });
        }
Beispiel #12
0
        public static string yzPwd(string memberID, string money, string pwd, string companyID, string trxid)
        {
            //验证密码是否正确
            string    sql = "select * from asm_member where id='" + memberID + "' and pwd='" + pwd + "'";
            DataTable dd  = DbHelperSQL.Query(sql).Tables[0];

            if (dd.Rows.Count <= 0)
            {
                return("1");//支付密码不正确
            }
            //判断余额
            if (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) < double.Parse(money))
            {
                return("2");//余额不足
            }
            //更新余额
            string update = "update asm_member set AvailableMoney=AvailableMoney-" + money + " where id='" + memberID + "'";

            DbHelperSQL.ExecuteSql(update);
            string    sqlM    = "select addres from asm_mechine where id in(select mechineID from asm_member where id=" + memberID + ")";
            DataTable dM      = DbHelperSQL.Query(sqlM).Tables[0];
            string    address = "";

            if (dM.Rows.Count > 0)
            {
                address = dM.Rows[0]["addres"].ToString();
            }
            //发送消息模板
            wxHelper wx   = new wxHelper(companyID);
            string   data = TemplateMessage.money_bd(dd.Rows[0]["openID"].ToString(), OperUtil.getMessageID(companyID, "OPENTM403148135"), "余额变动提醒", "购买产品", money, (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) - double.Parse(money)).ToString(), address, "支付时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
            //插入记录
            Util.insertNotice(dd.Rows[0]["id"].ToString(), "余额变动提醒", "您于" + DateTime.Now.ToString("yyyy/MM/dd HH:mm") + "购物消费:" + money + "元;余额:" + (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) - double.Parse(money)), "");
            Util.moneyChange(dd.Rows[0]["id"].ToString(), money, dd.Rows[0]["AvailableMoney"].ToString(), "会员消费", "2", "");
            string insertSQL = @"insert into asm_pay_info(trxid,acct,statu,type,payType,trxamt,paytime)
                                            values('" + trxid + "','" + memberID + "',1,2,4," + (double.Parse(money) * 100) + ",'" + DateTime.Now.ToString("yyyyMMddHHmmss") + "')";

            DbHelperSQL.ExecuteSql(insertSQL);
            return("3");
        }
Beispiel #13
0
        /// <summary>
        /// 2019-09-04发送会员公众号通知
        /// </summary>
        public void getProductbg()
        {
            string    sqlc = "select * from asm_company";
            DataTable dc1  = DbHelperSQL.Query(sqlc).Tables[0];

            if (dc1.Rows.Count > 0)
            {
                String time1 = DateTime.Now.ToString("HH:mm");

                for (int k = 0; k < dc1.Rows.Count; k++)
                {
                    if (time1 == dc1.Rows[k]["p3"].ToString())
                    {
                        string sql6 = "select b.mechineName,a.* from asm_orderlistDetail a left join asm_mechine b on a.mechineid = b.id where a.createTime = '" + DateTime.Now.ToString("yyyy-MM-dd") + "' and a.zt = 4 and a.companyID = " + dc1.Rows[k]["id"].ToString();
                        OperUtil.Debuglog("定时执行正在执行" + sql6, "_tongzhi.txt");
                        DataTable dd6 = DbHelperSQL.Query(sql6).Tables[0];
                        if (dd6.Rows.Count > 0)
                        {
                            for (int i = 0; i < dd6.Rows.Count; i++)
                            {
                                string sqlM = "select * from asm_member where id=" + dd6.Rows[i]["memberID"].ToString();
                                OperUtil.Debuglog("定时执行正在执行" + sqlM, "_tongzhi.txt");
                                DataTable dm = DbHelperSQL.Query(sqlM).Tables[0];


                                if (dm.Rows.Count > 0)
                                {
                                    wxHelper wx   = new wxHelper(dd6.Rows[i]["companyID"].ToString());
                                    string   data = TemplateMessage.getProduct(dm.Rows[0]["openID"].ToString(), OperUtil.getMessageID(dd6.Rows[i]["companyID"].ToString(), "OPENTM407685552"), "亲爱的会员,您今日订购的商品还未取货", "" + dd6.Rows[i]["code"].ToString() + "", "" + dd6.Rows[i]["mechineName"].ToString() + "", "请及时取件,否则第二天会自动失效处理");
                                    TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(dd6.Rows[i]["companyID"].ToString()), data);
                                    OperUtil.insertNotice(dm.Rows[0]["id"].ToString(), "待取货通知", "您今日订购的商品还未取货,请您及时取货否则第二天作失效处理,请前往指定的售卖机取货,取货码:" + dd6.Rows[i]["code"].ToString());
                                }
                            }
                        }
                    }
                    //定时检测限时特价
                    // clearXSTJ(dc1.Rows[k]["id"].ToString());
                }
            }
        }
Beispiel #14
0
        public static object ok(string id, string bz)
        {
            try
            {
                if (string.IsNullOrEmpty(id) || string.IsNullOrEmpty(bz))
                {
                    return(new { code = 500, msg = "参数不全" });
                }
                string sql = "update asm_partActivity set bz='" + bz + "',delTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',status=1 where id=" + id;
                int    a   = DbHelperSQL.ExecuteSql(sql);
                if (a > 0)
                {
                    string    sql1 = "select p.*,m.openID from asm_partActivity p left join asm_member m on p.memberID=m.id where p.id=" + id;
                    DataTable d1   = DbHelperSQL.Query(sql1).Tables[0];
                    if (d1.Rows.Count > 0 && !string.IsNullOrEmpty(d1.Rows[0]["openID"].ToString()))
                    {
                        try
                        {
                            //发通知
                            if (!string.IsNullOrEmpty(d1.Rows[0]["openID"].ToString()))
                            {
                                string   companyID = d1.Rows[0]["companyID"].ToString();
                                string   openID    = d1.Rows[0]["openID"].ToString();
                                wxHelper wx        = new wxHelper(companyID);
                                string   data      = TemplateMessage.getPrize(openID, "hPFDCcfuANnDAGaIaAjsAnDKfgFXK-Y0SYGK12iIsAM", "活动奖励通知", d1.Rows[0]["activityContent"].ToString(), d1.Rows[0]["activityName"].ToString(), "请尽快到小程序查看奖励");
                                TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(d1.Rows[0]["companyID"].ToString()), data);
                            }
                        }
                        catch { }
                    }

                    return(new { code = 200, msg = "处理成功" });
                }
                return(new { code = 500, msg = "处理失败" });
            }
            catch {
                return(new { code = 200, msg = "系统异常" });
            }
        }
Beispiel #15
0
        public void growUpMember()
        {
            //降级
            string    sql1 = "select * from asm_company";
            DataTable dt1  = DbHelperSQL.Query(sql1).Tables[0];

            if (dt1.Rows.Count > 0)
            {
                for (int i = 0; i < dt1.Rows.Count; i++)
                {
                    string    companyID = dt1.Rows[i]["id"].ToString();
                    string    sql2      = "select * from asm_dj where companyID=" + dt1.Rows[i]["id"].ToString() + " order by djID";
                    DataTable dt2       = DbHelperSQL.Query(sql2).Tables[0];
                    if (dt2.Rows.Count > 0)
                    {
                        string        day1 = dt2.Rows[0]["consumeDay"].ToString();
                        string        day2 = dt2.Rows[1]["consumeDay"].ToString();
                        string        day3 = dt2.Rows[2]["consumeDay"].ToString();
                        string        sql  = "select * from  [dbo].[View_member_consumeCount30] where companyID=" + companyID + " and num>=" + day1 + " and num<" + day2 + " and phone!='' and phone is not null and hjhyDays=0";
                        DataTable     dt   = DbHelperSQL.Query(sql).Tables[0];
                        List <string> list = new List <string>();
                        for (int a = 0; a < dt.Rows.Count; a++)
                        {
                            if (dt.Rows[a]["dj"].ToString() != "1")
                            {
                                if (!string.IsNullOrEmpty(dt.Rows[a]["openID"].ToString()))
                                {
                                    try
                                    {
                                        wxHelper wx   = new wxHelper(dt1.Rows[0]["id"].ToString());
                                        string   data = TemplateMessage.getDJChange(dt.Rows[a]["openID"].ToString(),
                                                                                    OperUtil.getMessageID(dt1.Rows[0]["id"].ToString(), "OPENTM406811407"),
                                                                                    "尊敬的会员,您的会员等级发生变更", "" + dt.Rows[a]["dj"].ToString() + "", "1",
                                                                                    "如有疑问,请拨打会员服务热线" + dt1.Rows[i]["customerPhone"].ToString());
                                        string result = TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(dt1.Rows[i]["id"].ToString()), data);
                                        Util.Debuglog("发送消息模板=" + dt.Rows[a]["openID"].ToString() + ";result=" + result, "会员等级消息模板.txt");
                                    }
                                    catch (Exception e)
                                    {
                                        Util.Debuglog("e=" + e.Message, "会员等级消息模板.txt");
                                    }
                                }
                            }
                            list.Add("update asm_member set dj=1 where id=" + dt.Rows[a]["id"].ToString());
                        }
                        DbHelperSQL.ExecuteSqlTran(list);
                        sql = "select * from  [dbo].[View_member_consumeCount30] where companyID=" + companyID + " and num>=" + day2 + " and num<" + day3 + " and phone!='' and phone is not null and hjhyDays=0";
                        DataTable     d2    = DbHelperSQL.Query(sql).Tables[0];
                        List <string> list2 = new List <string>();
                        for (int b = 0; b < d2.Rows.Count; b++)
                        {
                            if (d2.Rows[b]["dj"].ToString() != "2")
                            {
                                if (!string.IsNullOrEmpty(d2.Rows[b]["openID"].ToString()))
                                {
                                    try
                                    {
                                        wxHelper wx   = new wxHelper(dt1.Rows[0]["id"].ToString());
                                        string   data = TemplateMessage.getDJChange(d2.Rows[b]["openID"].ToString(),
                                                                                    OperUtil.getMessageID(dt1.Rows[0]["id"].ToString(), "OPENTM406811407"),
                                                                                    "尊敬的会员,您的会员等级发生变更", "" + d2.Rows[b]["dj"].ToString() + "", "2",
                                                                                    "如有疑问,请拨打会员服务热线" + dt1.Rows[i]["customerPhone"].ToString());
                                        string result = TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(dt1.Rows[i]["id"].ToString()), data);
                                        Util.Debuglog("发送消息模板=" + d2.Rows[b]["openID"].ToString() + ";result=" + result, "会员等级消息模板.txt");
                                    }
                                    catch (Exception e)
                                    {
                                        Util.Debuglog("e=" + e.Message, "会员等级消息模板.txt");
                                    }
                                }
                            }
                            list2.Add("update asm_member set dj=2 where id=" + d2.Rows[b]["id"].ToString());
                        }
                        DbHelperSQL.ExecuteSqlTran(list2);
                        sql = "select * from  [dbo].[View_member_consumeCount30] where companyID=" + companyID + " and num>=" + day3 + "  and phone!='' and phone is not null and hjhyDays=0";
                        DataTable     d3    = DbHelperSQL.Query(sql).Tables[0];
                        List <string> list3 = new List <string>();
                        string        aaa   = "";
                        for (int c = 0; c < d3.Rows.Count; c++)
                        {
                            if (d3.Rows[c]["dj"].ToString() != "3" && !string.IsNullOrEmpty(d3.Rows[c]["openID"].ToString()))
                            {
                                try
                                {
                                    wxHelper wx   = new wxHelper(dt1.Rows[0]["id"].ToString());
                                    string   data = TemplateMessage.getDJChange(d3.Rows[c]["openID"].ToString(),
                                                                                OperUtil.getMessageID(dt1.Rows[0]["id"].ToString(), "OPENTM406811407"),
                                                                                "尊敬的会员,您的会员等级发生变更", "" + d3.Rows[c]["dj"].ToString() + "", "3",
                                                                                "如有疑问,请拨打会员服务热线" + dt1.Rows[i]["customerPhone"].ToString());
                                    string result = TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(dt1.Rows[i]["id"].ToString()), data);
                                    Util.Debuglog("发送消息模板=" + d3.Rows[c]["openID"].ToString() + ";result=" + result, "会员等级消息模板.txt");
                                }
                                catch (Exception e)
                                {
                                    Util.Debuglog("e=" + e.Message, "会员等级消息模板.txt");
                                }
                            }
                            list3.Add("update asm_member set dj=3 where id=" + d3.Rows[c]["id"].ToString());
                            aaa = aaa + "update asm_member set dj=3 where id=" + d3.Rows[c]["id"].ToString();
                        }
                        Util.Debuglog("list3=" + aaa, "会员等级消息模板.txt");
                        DbHelperSQL.ExecuteSqlTran(list3);
                    }
                }
            }
        }
Beispiel #16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Dictionary <String, String> reqParams = new Dictionary <String, String>();

            /**
             * 此处注意,因为通联收银宝以后可能增加字段,所以,这里一定要动态遍历获取所有的请求参数
             *
             * */
            for (int i = 0; i < Request.Form.Count; i++)
            {
                reqParams.Add(Request.Form.Keys[i], Request.Form[i].ToString());
            }
            if (!reqParams.ContainsKey("sign"))//如果不包含sign,则不进行处理
            {
                Response.Write("error");
                return;
            }
            if (reqParams.ContainsKey("trxid"))
            {
                string  json = (new JavaScriptSerializer()).Serialize(reqParams);
                JObject jo   = (JObject)JsonConvert.DeserializeObject(json);
                string  sql  = "select p.trxid,p.activityID,o.productID,p.unionID,p.companyID,o.activityID acID,o.psMode,o.startTime,o.mechineID,o.memberID,o.orderNO,o.companyID,o.totalNum,o.source  from asm_pay_info p left join asm_orderlist o on p.trxid=o.trxid"
                               + " where p.trxid = '" + jo["trxid"] + "' and o.trxid = '" + jo["trxid"] + "' and statu = 0";
                DataTable dtInfo = DbHelperSQL.Query(sql).Tables[0];
                if (dtInfo.Rows.Count > 0)
                {
                    string    sql111          = "select top 1 * from asm_duihuan  where newOrderNo='" + dtInfo.Rows[0]["orderNO"].ToString() + "'    order by dhTime desc ";
                    DataTable asm_duihuanInfo = DbHelperSQL.Query(sql111).Tables[0];
                    if (asm_duihuanInfo.Rows.Count > 0 && (!string.IsNullOrEmpty(asm_duihuanInfo.Rows[0]["oldOrderNo"].ToString())))
                    {
                        Util.Debuglog("sql111=" + sql111, "dhProduct.txt");
                        List <string> list = new List <string>();
                        string        sql2 = "update asm_orderlist set orderZT=4 where orderNO='" + asm_duihuanInfo.Rows[0]["oldOrderNo"].ToString() + "'";
                        string        sql3 = "update asm_orderlistDetail set zt=7 where  zt=5 and orderNO='" + asm_duihuanInfo.Rows[0]["oldOrderNo"].ToString() + "'";
                        list.Add(sql2);
                        list.Add(sql3);
                        Util.Debuglog("list=" + sql2 + sql3, "dhProduct.txt");
                        int a = DbHelperSQL.ExecuteSqlTran(list);
                    }
                    string trxdate   = Request.Form["trxdate"];
                    string paytime   = Request.Form["paytime"];
                    string acct      = Request.Form["acct"];
                    string chnltrxid = Request.Form["chnltrxid"];
                    double trxamtY   = double.Parse(Request.Form["trxamt"]) / 100;
                    //更新asm_pay_info asm_orderlist支付状态
                    string update1 = "update asm_pay_info set statu=1,paytime='" + paytime + "',productID='" + dtInfo.Rows[0]["productID"].ToString() + "',mechineID='" + dtInfo.Rows[0]["mechineID"].ToString() + "' where trxid='" + jo["trxid"].ToString() + "'";
                    DbHelperSQL.ExecuteSql(update1);
                    string update2 = "update asm_orderlist set fkzt=1  where trxid='" + jo["trxid"].ToString() + "'";
                    DbHelperSQL.ExecuteSql(update2);
                    //需要更新会员的消费信息
                    string update = "update asm_member set sumConsume=sumConsume+" + trxamtY + ",LastTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',mechineID='" + dtInfo.Rows[0]["mechineID"].ToString() + "' where minOpenID='" + acct + "'";
                    DbHelperSQL.ExecuteSql(update);

                    string sqlActivity = "select * from asm_activity where status=1 and id=" + dtInfo.Rows[0]["activityID"].ToString();
                    //DataTable dactivity = DbHelperSQL.Query(sqlActivity).Tables[0];



                    string[] selDate = OperUtil.getSelDate(dtInfo.Rows[0]["totalNum"].ToString(), dtInfo.Rows[0]["psMode"].ToString(), dtInfo.Rows[0]["startTime"].ToString()).Split(',');
                    if (selDate.Length > 0)
                    {
                        DataTable dtNew;
                        for (int j = 0; j < dtInfo.Rows.Count; j++)
                        {
                            string sql14 = "select * from asm_orderlistDetail where id=0";
                            dtNew = DbHelperSQL.Query(sql14).Tables[0];

                            for (int i = 0; i < selDate.Length; i++)
                            {
                                int code = new Random(Guid.NewGuid().GetHashCode()).Next(100000, 999999);
                                //zt   1-已完成;2-已失效;3-已转售;4-待取货;5-待配送
                                DataRow dr = dtNew.NewRow();
                                dr["mechineID"]  = dtInfo.Rows[j]["mechineID"].ToString(); //通过索引赋值
                                dr["productID"]  = dtInfo.Rows[j]["productID"].ToString();
                                dr["createTime"] = delTime(selDate[i]);                    //
                                //dr["code"] = code;//
                                dr["memberID"] = dtInfo.Rows[j]["memberID"].ToString();    //通过索引赋值
                                if (delTime(selDate[i]) == DateTime.Now.ToString("yyyy-MM-dd"))
                                {
                                    dr["zt"]   = "4";
                                    dr["code"] = code;//
                                }
                                else
                                {
                                    dr["zt"] = "5";
                                }

                                dr["ldNO"]      = "";                                   //
                                dr["orderNO"]   = dtInfo.Rows[j]["orderNO"].ToString(); //
                                dr["statu"]     = "0";                                  //通过索引赋值
                                dr["sellPrice"] = 0.0;
                                dr["sellTime"]  = "";
                                dr["bz"]        = "";
                                dr["companyID"] = dtInfo.Rows[j]["companyID"].ToString();
                                dtNew.Rows.Add(dr);
                            }
                            DbHelperSQL.BatchInsertBySqlBulkCopy(dtNew, "[dbo].[asm_orderlistDetail]");
                            string    sql1 = "select * from asm_orderlistDetail where orderNO in ('" + dtInfo.Rows[j]["orderNO"].ToString() + "') ORDER BY createTime DESC ";
                            DataTable d1   = DbHelperSQL.Query(sql1).Tables[0];
                            if (d1.Rows.Count > 0)
                            {
                                string update12 = "UPDATE asm_orderlist set endTime='" + d1.Rows[0]["createTime"].ToString() + "' WHERE orderNO in ('" + dtInfo.Rows[j]["orderNO"].ToString() + "')";
                                DbHelperSQL.ExecuteSql(update12);
                            }
                            if (dtInfo.Rows[j]["startTime"].ToString() == DateTime.Now.ToString("yyyy-MM-dd"))
                            {
                                string updagte = "UPDATE asm_orderlist set orderzt=1 where orderno='" + dtInfo.Rows[j]["orderNO"].ToString() + "'";
                                DbHelperSQL.ExecuteSql(updagte);
                            }
                        }
                    }


                    if (dtInfo.Rows[0]["source"].ToString() != "1")
                    {
                        Util.growUpMemberBYDG(acct, int.Parse(dtInfo.Rows[0]["totalNum"].ToString()) * dtInfo.Rows.Count, dtInfo.Rows[0]["companyID"].ToString());
                    }

                    //发送模板消息
                    string    sqlM = "select * from asm_member where minOpenID='" + acct + "'";
                    DataTable dM   = DbHelperSQL.Query(sqlM).Tables[0];
                    //插入参加的活动记录
                    string activityID = dtInfo.Rows[0]["activityID"].ToString();
                    //兑换的产品不在继续参加活动source!=1
                    if (!string.IsNullOrEmpty(activityID) && dtInfo.Rows[0]["source"].ToString() != "1")
                    {
                        string    sqlAc = "select * from asm_activity where statu=1 and id='" + activityID + "'";
                        DataTable dac   = DbHelperSQL.Query(sqlAc).Tables[0];
                        if (dac.Rows.Count > 0)
                        {
                            string status = "1";
                            if (dac.Rows[0]["type"].ToString() == "3")
                            {
                                status = "0";
                            }
                            else
                            {
                                try
                                {
                                    //发通知
                                    if (!string.IsNullOrEmpty(dM.Rows[0]["openID"].ToString()))
                                    {
                                        string   companyID = dM.Rows[0]["companyID"].ToString();
                                        string   openID    = dM.Rows[0]["openID"].ToString();
                                        wxHelper wx        = new wxHelper(companyID);
                                        string   data      = TemplateMessage.getPrize(openID, "hPFDCcfuANnDAGaIaAjsAnDKfgFXK-Y0SYGK12iIsAM", "活动奖励通知", dac.Rows[0]["payName"].ToString(), dac.Rows[0]["tag"].ToString(), "请尽快到小程序查看奖励");
                                        TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(dM.Rows[0]["companyID"].ToString()), data);
                                    }
                                }
                                catch { }
                            }
                            string zsType        = dac.Rows[0]["type"].ToString();
                            string sqlActivityIn = "insert into asm_partActivity(memberID,partTime,type,activityContent,companyID,zsType,status,activityName,totalMoney) values('" + dtInfo.Rows[0]["memberID"].ToString() + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',1,'" + dac.Rows[0]["activitytag"].ToString() + "','" + dac.Rows[0]["companyID"].ToString() + "'," + zsType + "," + status + ",'" + dac.Rows[0]["activityname"].ToString() + "'," + trxamtY + ")";
                            DbHelperSQL.ExecuteSql(sqlActivityIn);
                        }
                    }

                    if (dM.Rows.Count > 0)
                    {
                        if (!string.IsNullOrEmpty(dM.Rows[0]["openID"].ToString()))
                        {
                            string    openID    = dM.Rows[0]["openID"].ToString();
                            string    companyID = dM.Rows[0]["companyID"].ToString();
                            string    sqlp      = "select o.*,p.proName from asm_orderlist o left join asm_product p on o.productID=p.productID where trxid='" + jo["trxid"].ToString() + "'";
                            DataTable dp        = DbHelperSQL.Query(sqlp).Tables[0];
                            wxHelper  wx        = new wxHelper(companyID);
                            string    data      = TemplateMessage.comsume(openID, OperUtil.getMessageID(companyID, "OPENTM401313503"), "亲,你的购买的商品信息如下",
                                                                          "" + dp.Rows[0]["proName"].ToString() + "", dp.Rows[0]["totalMoney"].ToString(), dp.Rows[0]["orderNO"].ToString(), dp.Rows[0]["mechineName"].ToString(), "“生鲜时逐”订奶订单已生成,鲜活即将配送到家");
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(OperUtil.getCooki("companyID")), data);
                        }
                    }
                }
            }
        }
Beispiel #17
0
        public static string yzPwd(string unionID, string money, string companyID, string productID, string mechineID, string type, string dgOrderDetailID, string sftj, string reqsn)
        {
            string ldno = Util.getLDNO(mechineID, productID);

            if (string.IsNullOrEmpty(ldno))
            {
                return("5");//当前机器库存不足,请等待配送员上货
            }
            Random    rd        = new Random();
            int       rand      = rd.Next(10000, 99999);
            string    sql2      = "select * from asm_company where id='" + companyID + "'";
            DataTable d2        = DbHelperSQL.Query(sql2).Tables[0];
            string    trxid     = ConvertDateTimeToInt(DateTime.Now).ToString() + rand;
            string    insertSQL = "insert into asm_pay_info(reqsn,trxid,statu,type,payType,trxamt,createTime,appid,unionID,mechineID,productID,companyID,orderType,dgOrderDetailID,sftj) values('" + reqsn + ",'" + trxid + "',0,2,4," + double.Parse(money) * 100 + ",'" + DateTime.Now + "','" + d2.Rows[0]["tl_APPID"].ToString() + "','" + unionID + "','" + mechineID + "','" + productID + "','" + companyID + "','" + type + "','" + dgOrderDetailID + "','" + sftj + "')";

            Util.Debuglog("insertSQL=" + insertSQL, "余额支付.txt");
            int a = DbHelperSQL.ExecuteSql(insertSQL);


            //验证密码是否正确
            string sql = "select * from asm_member where unionID='" + unionID + "'";

            Util.Debuglog("sql=" + sql, "余额支付.txt");
            DataTable dd = DbHelperSQL.Query(sql).Tables[0];


            string openID = dd.Rows[0]["openID"].ToString();
            //判断该订单支付状态
            string sql1 = "select * from asm_pay_info where trxid='" + trxid + "'";

            Util.Debuglog("sql1=" + sql1, "余额支付.txt");
            DataTable d1 = DbHelperSQL.Query(sql1).Tables[0];

            if (d1.Rows.Count > 0 && d1.Rows[0]["statu"].ToString() == "1")
            {
                return("4");//已经支付完成无需重复支付
            }
            //判断余额
            if (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) - double.Parse(money) < 0)
            {
                return("2");//余额不足
            }
            //更新余额
            string update = "update asm_member set AvailableMoney=AvailableMoney-" + money + ",consumeCount=consumeCount+1,sumConsume=sumConsume+" + money + ",LastTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where openID='" + openID + "'";

            Util.Debuglog("update=" + update, "余额支付.txt");
            DbHelperSQL.ExecuteSql(update);
            string sqlM = "select addres,id,mechineName from asm_mechine where id in(" + mechineID + ")";

            Util.Debuglog("sqlM=" + sqlM, "余额支付.txt");
            DataTable dM      = DbHelperSQL.Query(sqlM).Tables[0];
            string    address = "";

            if (dM.Rows.Count > 0)
            {
                address = dM.Rows[0]["addres"].ToString();
            }
            //发送消息模板

            ////插入记录
            //Util.insertNotice(dd.Rows[0]["id"].ToString(),"余额变动提醒", "您于"+DateTime.Now.ToString("yyyy/MM/dd HH:mm")+"购物消费:"+money+"元;余额:"+ (double.Parse(dd.Rows[0]["AvailableMoney"].ToString())-double.Parse(money)));
            //Util.moneyChange(dd.Rows[0]["id"].ToString(),money,(double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) - double.Parse(money)).ToString(), "会员消费", "2", "");
            //接着更新订单的状态

            string update1 = "update asm_pay_info set chLdNo='" + ldno + "', trxdate='" + DateTime.Now.ToString("yyyyMMdd") + "',statu=1,paytime='" + DateTime.Now.ToString("yyyyMMddHHmmss") + "',acct='" + openID + "',afterMoney=" + (double.Parse(dd.Rows[0]["AvailableMoney"].ToString()) - double.Parse(money)) + " where trxid='" + trxid + "' and unionID='" + unionID + "'";

            Util.Debuglog("update1=" + update1 + ";料道编号=" + ldno, "余额支付.txt");
            DbHelperSQL.ExecuteSql(update1);
            Util.ch(ldno, dM.Rows[0]["id"].ToString(), trxid, "3", productID, money);
            string sqlP = "SELECT * FROM asm_product where productID=" + productID;

            Util.Debuglog("sqlP=" + sqlP + ";料道编号=" + ldno, "余额支付.txt");
            DataTable dp      = DbHelperSQL.Query(sqlP).Tables[0];
            string    updateM = "update asm_member set mechineID=" + dM.Rows[0]["id"].ToString() + " where id=" + dd.Rows[0]["id"].ToString();

            DbHelperSQL.ExecuteSql(updateM);
            Util.chgMoney(dd.Rows[0]["id"].ToString(), money, "会员消费", "购买" + dp.Rows[0]["proName"].ToString(), "2");
            Util.Debuglog("111111", "余额支付.txt");

            wxHelper wx   = new wxHelper(companyID);
            string   data = TemplateMessage.comsume(openID, OperUtil.getMessageID(companyID, "OPENTM401313503"), "亲,你的购买的商品信息如下",
                                                    "" + dp.Rows[0]["proName"].ToString() + "", money, trxid, dM.Rows[0]["mechineName"].ToString(), "“机器已出货,请尽快推开机器左下方推板取出奶品,超过1分钟未取视为丢弃奶品,推板将关闭");

            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
            return("3");
        }
Beispiel #18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                comid = Request.QueryString["companyID"].ToString();
                //comid = "13";
                OperUtil.setCooki("companyID", comid);
                this.companyID.Value = comid;
                Response.Cache.SetNoStore();
                if (OperUtil.getCooki("vshop_openID") != "0")
                {
                    string    sql3 = "select * from asm_member where openID='" + OperUtil.getCooki("vshop_openID") + "' and companyID=" + companyID.Value;
                    DataTable dd   = DbHelperSQL.Query(sql3).Tables[0];
                    if (dd.Rows.Count <= 0)
                    {
                        Response.Redirect("WXCallback.aspx?companyID=" + this.companyID.Value);
                        return;
                    }
                    else
                    {
                        string sql4 = "update asm_member set LastTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where id=" + dd.Rows[0]["id"].ToString();
                        DbHelperSQL.ExecuteSql(sql4);
                    }
                    //获取公众号的appid
                    string    sql = "select * from asm_company where id=" + comid;
                    DataTable dt  = DbHelperSQL.Query(sql).Tables[0];
                    if (dt.Rows.Count > 0 && !string.IsNullOrEmpty(dt.Rows[0]["appId"].ToString()))
                    {
                        this._jlc.Value  = dt.Rows[0]["jlc"].ToString();
                        this.appID.Value = dt.Rows[0]["appId"].ToString();
                        app_id           = dt.Rows[0]["appId"].ToString();
                        //app_id = OpenPFConfig.Appid;
                        if (dt.Rows[0]["p8"].ToString() != "")
                        {
                            this._url1.Value = "1";
                            this.url1.Src    = dt.Rows[0]["p8"].ToString();
                        }
                        if (dt.Rows[0]["p9"].ToString() != "")
                        {
                            this._url2.Value = "1";
                            this.url2.Src    = dt.Rows[0]["p9"].ToString();
                        }
                        if (dt.Rows[0]["p10"].ToString() != "")
                        {
                            this._url3.Value = "1";
                            this.url3.Src    = dt.Rows[0]["p10"].ToString();
                        }
                    }
                    this.memberID.Value = Util.getMemberID();
                    this._openID.Value  = OperUtil.getCooki("vshop_openID");
                }
                else
                {
                    Response.Redirect("WXCallback.aspx?companyID=" + this.companyID.Value);
                }
                wxHelper wx  = new wxHelper(comid);
                string[] str = wx.GetWXInfo(this.Request.Url.ToString(), comid).Split(',');

                //this.ur.Value = this.Request.Url.ToString();
                //this.ticket.Value = wx.GetTicketPlat(comid);
                //this.te.Value = wx.IsExistAccess_Token(comid);
                time    = str[0];
                randstr = str[1];
                signstr = str[2];
                Util.Debuglog("time=" + time + ";randstr=" + randstr + ";signstr=" + signstr + ";url=" + this.Request.Url.ToString(), "微信参数.txt");
            }
            catch
            {
                comid = OperUtil.getCooki("companyID");
                this.companyID.Value = comid;
                Response.Cache.SetNoStore();
                if (OperUtil.getCooki("vshop_openID") != "0")
                {
                    string    sql3 = "select * from asm_member where openID='" + OperUtil.getCooki("vshop_openID") + "' and companyID=" + companyID.Value;
                    DataTable dd   = DbHelperSQL.Query(sql3).Tables[0];
                    if (dd.Rows.Count <= 0)
                    {
                        Response.Redirect("WXCallback.aspx?companyID=" + this.companyID.Value);
                        return;
                    }
                    //获取公众号的appid
                    string    sql = "select * from asm_company where id=" + OperUtil.getCooki("companyID");
                    DataTable dt  = DbHelperSQL.Query(sql).Tables[0];
                    if (dt.Rows.Count > 0 && !string.IsNullOrEmpty(dt.Rows[0]["appId"].ToString()))
                    {
                        this.appID.Value = dt.Rows[0]["appId"].ToString();
                        app_id           = dt.Rows[0]["appId"].ToString();
                        //p_id = OpenPFConfig.Appid;
                        if (dt.Rows[0]["p8"].ToString() != "")
                        {
                            this._url1.Value = "1";
                            this.url1.Src    = dt.Rows[0]["p8"].ToString();
                        }
                        if (dt.Rows[0]["p9"].ToString() != "")
                        {
                            this._url2.Value = "1";
                            this.url2.Src    = dt.Rows[0]["p9"].ToString();
                        }
                        if (dt.Rows[0]["p10"].ToString() != "")
                        {
                            this._url3.Value = "1";
                            this.url3.Src    = dt.Rows[0]["p10"].ToString();
                        }
                    }
                    this.memberID.Value = Util.getMemberID();
                    this._openID.Value  = OperUtil.getCooki("vshop_openID");
                }
                else
                {
                    Response.Redirect("WXCallback.aspx?companyID=" + this.companyID.Value);
                }
                Response.Cache.SetNoStore();
                wxHelper wx = new wxHelper(OperUtil.getCooki("companyID"));
                this.companyID.Value = OperUtil.getCooki("companyID");;
                string[] str = wx.GetWXInfo(this.Request.Url.ToString(), OperUtil.getCooki("companyID")).Split(',');
                //this.ur.Value = this.Request.Url.ToString();
                //this.ticket.Value = wx.GetTicketPlat(OperUtil.getCooki("companyID"));
                //this.te.Value = wx.IsExistAccess_Token(OperUtil.getCooki("companyID"));
                time    = str[0];
                randstr = str[1];
                signstr = str[2];
                Util.Debuglog("2time=" + time + ";randstr=" + randstr + ";signstr=" + signstr + ";url=" + this.Request.Url.ToString(), "微信参数.txt");
            }
        }
Beispiel #19
0
        public static async System.Threading.Tasks.Task paycall(Dictionary <String, String> reqParams)
        {
            string  json = (new JavaScriptSerializer()).Serialize(reqParams);
            JObject jo   = (JObject)JsonConvert.DeserializeObject(json);
            string  sql  = "select * from asm_pay_info where statu=0 and trxid='" + jo["trxid"].ToString() + "'";

            Util.Debuglog("sql=" + sql, "出货信息.txt");
            DataTable dt = DbHelperSQL.Query(sql).Tables[0];

            if (dt.Rows.Count > 0)
            {
                //获取appid查询这个appid的 的appkey
                string sql2 = "select * from asm_company where tl_APPID='" + dt.Rows[0]["appid"].ToString() + "'";
                Util.Debuglog("sql2=" + sql2, "出货信息.txt");
                DataTable d2 = DbHelperSQL.Query(sql2).Tables[0];
                //AppUtil.validSign(reqParams, d2.Rows[0]["tl_APPKEY"].ToString(), d2.Rows[0]["id"].ToString())
                if (dt.Rows[0]["statu"].ToString() == "0")//验签成功
                {
                    //验签成功后,进行业务处理,处理完毕返回成功
                    string trxdate   = jo["trxdate"].ToString();
                    string paytime   = jo["paytime"].ToString();
                    string acct      = jo["acct"].ToString();
                    string chnltrxid = jo["chnltrxid"].ToString();
                    double trxamtY   = double.Parse(jo["trxamt"].ToString()) / 100;

                    //发送出货指令
                    string ldno = "";
                    //继续查找
                    bool b   = true;
                    int  num = 3;
                    while (b && num > 0)
                    {
                        num--;
                        ldno = Util.getLDNO(dt.Rows[0]["mechineID"].ToString(), dt.Rows[0]["productID"].ToString());
                        if (!string.IsNullOrEmpty(ldno))
                        {
                            b = false;
                        }
                        else
                        {
                            Thread.Sleep(1000);
                        }
                    }
                    Util.Debuglog("mechineID=" + dt.Rows[0]["mechineID"].ToString() + ";productID=" + dt.Rows[0]["productID"].ToString() + ";LDNO=" + ldno, "出货信息.txt");
                    if (!string.IsNullOrEmpty(ldno))
                    {
                        Util.ch(ldno, dt.Rows[0]["mechineID"].ToString(), jo["trxid"].ToString(), dt.Rows[0]["payType"].ToString(), dt.Rows[0]["productID"].ToString(), trxamtY.ToString());
                    }

                    Util.Debuglog("出货指令发送完成mechineID=" + dt.Rows[0]["mechineID"].ToString() + ";productID=" + dt.Rows[0]["productID"].ToString() + ";LDNO=" + ldno, "出货信息.txt");

                    //支付成功向asm_pay 表 更新记录
                    if (dt.Rows[0]["payType"].ToString() == "2")
                    {
                        string updateSQL = "update asm_pay_info set chLdNo='" + ldno + "', acct='" + acct + "', paytime='" + paytime + "',statu='1',trxdate='" + trxdate + "',chnltrxid='" + chnltrxid + "' where trxid='" + jo["trxid"].ToString() + "'";
                        Util.Debuglog("updateSQL=" + updateSQL, "出货信息.txt");
                        DbHelperSQL.ExecuteSql(updateSQL);
                    }
                    else
                    {
                        string updateSQL = "update asm_pay_info set chLdNo='" + ldno + "', paytime='" + paytime + "',statu='1',trxdate='" + trxdate + "',chnltrxid='" + chnltrxid + "' where trxid='" + jo["trxid"].ToString() + "'";
                        Util.Debuglog("updateSQL=" + updateSQL, "出货信息.txt");
                        DbHelperSQL.ExecuteSql(updateSQL);
                    }

                    //需要更新会员的消费信息  此处如果是支付宝扫码的话没法更新
                    if (!string.IsNullOrEmpty(dt.Rows[0]["unionID"].ToString()))
                    {
                        string update = "update asm_member set sumConsume=sumConsume+" + trxamtY + ",consumeCount=consumeCount+1,LastTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',point=point+" + trxamtY + ",mechineID='" + dt.Rows[0]["mechineID"].ToString() + "' where unionID='" + dt.Rows[0]["unionID"].ToString() + "'";
                        Util.Debuglog("update=" + update, "更新会员余额消费信息.txt");
                        DbHelperSQL.ExecuteSql(update);
                    }

                    string    sqlM = "select * from asm_member where unionID='" + dt.Rows[0]["unionID"].ToString() + "'";
                    DataTable dtM  = DbHelperSQL.Query(sqlM).Tables[0];

                    //此处判断如果orderType=3是半价的需要根据dgOrderDetailID修改zt为售卖完成 并且给出售人加余额
                    if (dt.Rows[0]["orderType"].ToString() == "3" && dt.Rows[0]["dgOrderDetailID"].ToString() != "0" && !string.IsNullOrEmpty(dt.Rows[0]["dgOrderDetailID"].ToString()))
                    {
                        string    sqlDetail = "select * from asm_orderlistDetail where id=" + dt.Rows[0]["dgOrderDetailID"].ToString();
                        DataTable dtDetail  = DbHelperSQL.Query(sqlDetail).Tables[0];
                        if (dtDetail.Rows.Count > 0 && dtM.Rows.Count > 0)
                        {
                            string id        = dt.Rows[0]["dgOrderDetailID"].ToString();
                            string memberID  = dtM.Rows[0]["id"].ToString();
                            string productID = dt.Rows[0]["productID"].ToString();
                            string updateSql = "update asm_orderlistDetail set zt=6 where id=" + id;
                            int    a         = DbHelperSQL.ExecuteSql(updateSql);
                            if (a > 0)
                            {
                                RedisHelper.Remove(dt.Rows[0]["mechineID"].ToString() + "_SellOrderInfo");
                                //更新余额
                                string    sqlPro       = "select * from asm_product where productID=" + productID;
                                DataTable dpro         = DbHelperSQL.Query(sqlPro).Tables[0];
                                double    price        = double.Parse(dpro.Rows[0]["price0"].ToString()) / 2;
                                string    updateMember = "update asm_member set AvailableMoney=AvailableMoney+" + price + " where id=" + memberID;
                                DbHelperSQL.ExecuteSql(updateMember);
                                Util.chgMoney(memberID, price.ToString(), "售卖", "出售" + dtDetail.Rows[0]["createTime"].ToString() + "日产品", "5");
                            }
                        }
                    }
                    //给会员升级
                    Util.growUpMember(dt.Rows[0]["unionID"].ToString(), "");
                    if (dtM.Rows.Count > 0)
                    {
                        if (!string.IsNullOrEmpty(dtM.Rows[0]["openID"].ToString()))
                        {
                            string    companyID  = dtM.Rows[0]["companyID"].ToString();
                            string    openID     = dtM.Rows[0]["openID"].ToString();
                            string    sqlp       = "select * from asm_product where productID=" + dt.Rows[0]["productID"].ToString();
                            DataTable dp         = DbHelperSQL.Query(sqlp).Tables[0];
                            string    sqlMechine = "select * from asm_mechine where id=" + dt.Rows[0]["mechineID"].ToString();
                            DataTable dMechine   = DbHelperSQL.Query(sqlMechine).Tables[0];
                            wxHelper  wx         = new wxHelper(companyID);
                            string    data       = TemplateMessage.comsume(openID, OperUtil.getMessageID(companyID, "OPENTM401313503"), "亲,你的购买的商品信息如下",
                                                                           "" + dp.Rows[0]["proName"].ToString() + "", trxamtY.ToString(), jo["trxid"].ToString(), dMechine.Rows[0]["mechineName"].ToString(), "“机器已出货,请尽快推开机器左下方推板取出奶品,超过1分钟未取视为丢弃奶品,推板将关闭");
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                        }
                    }
                }
            }

            Util.Debuglog("keyif=回调结束", "_聚合支付回调参数.txt");
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         string code = "";
         if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
         {
             code = Request.QueryString["code"].ToString();
             Util.Debuglog("code=" + code, "_获取会员信息.txt");
             string    companyID = Request.QueryString["companyID"].ToString();
             string    sql2      = "select * from asm_company where id=" + companyID;
             DataTable d1        = DbHelperSQL.Query(sql2).Tables[0];
             if (d1.Rows.Count > 0)
             {
                 appid     = d1.Rows[0]["appId"].ToString();
                 appsecret = d1.Rows[0]["wx_appsecret"].ToString();
             }
             OAuth_Token Model           = Get_token(code, companyID);
             OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
             //OAuthUser OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
             if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
             {
                 tupian  = OAuthUser_Model.headimgurl.ToString();                //头像图片
                 name    = OAuthUser_Model.nickname;                             //昵称
                 id      = OAuthUser_Model.openid;                               //opendid
                 unionID = OAuthUser_Model.unionid;
                 string country  = OAuthUser_Model.country;
                 string province = OAuthUser_Model.province;
                 string city     = OAuthUser_Model.city;
                 Util.Debuglog("unionid=" + OAuthUser_Model.unionid, "_获取会员信息.txt");
                 OperUtil.setCooki("vshop_openID", id);
                 string    sql = "select * from asm_member where openID='" + id + "'or unionID='" + unionID + "' and companyID=" + companyID;
                 DataTable dt  = DbHelperSQL.Query(sql).Tables[0];
                 wxHelper  wx  = new wxHelper(companyID);
                 wx.Get_UserInfo(id);
                 if (dt.Rows.Count <= 0)
                 {
                     //name= System.Web.HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8);
                     //添加会员 会员不一定必须绑定机器  只有会员有订购产品的时候才必须绑定机器
                     string sql1 = "INSERT INTO [dbo].[asm_member]"
                                   + " ([name],[phone],[QQ],[province],[city],[country],[addres],[AvailableMoney],[sumConsume],[sumRecharge],[createDate],[mechineID],[companyID],[age],[LastTime],[memberBH],[consumeCount],[openID],[brithday],[headurl],[nickname],[pwd],[utfName],unionID)"
                                   + " VALUES(N'" + name + "','','','" + province + "','" + city + "','','',0,0,0,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','','" + companyID + "','0','','',0,'" + id + "','','" + tupian + "',N'" + name + "','000000','" + System.Web.HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8) + "','" + unionID + "')";
                     DbHelperSQL.ExecuteSql(sql1);
                     Util.Debuglog("sql1=" + sql1 + ";会员注册", "首页_.txt");
                     string data = TemplateMessage.Member_ZC(id, OperUtil.getMessageID(companyID, "OPENTM203347141"), "恭喜您注册成为会员!", name, "恭喜您注册成为会员,您将享受到会员所有权利!交易密码默认为000000,请前往会员中心修改");
                     TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                     //跳转领取红包判断系统是否开启
                     if (d1.Rows[0]["p4"].ToString() != "" && d1.Rows[0]["p4"].ToString() != null && d1.Rows[0]["p4"].ToString() != "0")
                     {
                         Response.Write("<script>top.location.href='accethb.aspx?companyID=" + companyID + "&openID=" + id + "';</script>");
                     }
                     else
                     {
                         Response.Write("<script>top.location.href='homeIndex.aspx?companyID=" + companyID + "';</script>");
                     }
                 }
                 else
                 {
                     //更新会员信息
                     string sqlupdate = string.Format("update asm_member set name=N'{0}',headurl='{1}',utfName='{3}',unionID='" + unionID + "' where openID='{2}'", name, tupian, id, System.Web.HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8));
                     DbHelperSQL.ExecuteSql(sqlupdate);
                     Response.Write("<script>top.location.href='homeIndex.aspx?companyID=" + companyID + "';</script>");
                 }
             }
         }
     }
 }
Beispiel #21
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string code = "";
                if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
                {
                    code = Request.QueryString["code"].ToString();
                    Util.Debuglog("code=" + code + ";state=" + Request.QueryString["state"], "获取参数.txt");
                    string[] param = Request.QueryString["state"].ToString().Split('|');
                    if (param.Length != 4)
                    {
                        //Response.Write("<span style='color:#FF0000;font-size:20px'>" + "参数不全请重试" + "</span>");
                    }
                    //9|14|43|334|0|1
                    //string money = param[0];//9
                    string companyID = param[0];//14
                    //string mechineID = param[2];//43
                    // string productID = param[3];//334
                    // string dgOrderDetailID = param[4];//0
                    // string type = param[5];//1
                    //string sftj = param[6];//1 是特价
                    string reqsn = param[1];
                    //reqsn= reqsn.Replace("reqsn", "");
                    string    productID           = "";  //334
                    string    mechineID           = "";  //334
                    string    dgOrderDetailID     = "0"; //0
                    string    type                = "2"; //1
                    string    sftj                = "0"; //1 是特价
                    string    asm_product_picksql = "select * from asm_product_pick  where reqsnNo='" + reqsn + "' ";
                    DataTable asm_product_pickdt  = DbHelperSQL.Query(asm_product_picksql).Tables[0];
                    if (asm_product_pickdt.Rows.Count > 0)
                    {
                        productID       = asm_product_pickdt.Rows[0]["productID"].ToString();
                        mechineID       = asm_product_pickdt.Rows[0]["mechineID"].ToString();
                        dgOrderDetailID = asm_product_pickdt.Rows[0]["dgOrderDetailID"].ToString();
                        type            = asm_product_pickdt.Rows[0]["type"].ToString();
                        sftj            = asm_product_pickdt.Rows[0]["sftj"].ToString();
                    }
                    else
                    {
                        return;
                    }
                    string    sql2 = "select * from asm_company where id=" + companyID;
                    DataTable d1   = DbHelperSQL.Query(sql2).Tables[0];
                    if (d1.Rows.Count > 0)
                    {
                        appid     = d1.Rows[0]["appId"].ToString();
                        appsecret = d1.Rows[0]["wx_appsecret"].ToString();
                    }

                    OAuth_Token Model           = Get_token(code, companyID);
                    OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                    {
                        headImg = OAuthUser_Model.headimgurl.ToString();                //头像图片
                        name    = OAuthUser_Model.nickname;                             //昵称
                        id      = OAuthUser_Model.openid;                               //opendid
                        unionID = OAuthUser_Model.unionid;
                        string province = OAuthUser_Model.province;
                        string city     = OAuthUser_Model.city;
                        string country  = OAuthUser_Model.city;
                        string gender   = OAuthUser_Model.sex == "1" ? "男" : "女";
                        // Util.SetSession("_openID", id);
                        Util.Debuglog("id=" + id, "获取token.txt");//o1_mf1aL2bduKZnTzG1irrfvN0x8
                        string sql = "select * from asm_member where unionID='" + unionID + "'";
                        Util.Debuglog("sql=" + sql, "零售支付用户注册.txt");
                        DataTable dt = DbHelperSQL.Query(sql).Tables[0];

                        //判断限购次数
                        if (dt.Rows.Count <= 0)
                        {
                            string insert = "insert into asm_member(name,phone,province,city,country,AvailableMoney,sumConsume,sumRecharge,createDate,companyID,headurl,nickname,sex,unionID,openID,consumeCount)"
                                            + " values(N'" + name + "','','" + province + "','" + city + "','" + country + "',0,0,0,'" + DateTime.Now + "','" + companyID + "','" + headImg + "',N'" + name + "','" + gender + "','" + unionID + "','" + id + "',0);select @@IDENTITY";
                            Util.Debuglog(insert, "零售支付用户注册.txt");
                            object obj = DbHelperSQL.GetSingle(insert);
                            if (obj == null)
                            {
                            }
                            else
                            {
                                string pickupdate = "update  asm_product_pick set memberID=" + Convert.ToInt32(obj).ToString() + " where reqsnNo='" + reqsn + "' ";
                                Util.Debuglog("sqlInsert=" + pickupdate, "获取预生成订单号.txt");
                                DbHelperSQL.ExecuteSql(pickupdate);
                            }

                            //发送注册成为会员模板消息
                            wxHelper wx   = new wxHelper(companyID);
                            string   data = TemplateMessage.Member_ZC(id, OperUtil.getMessageID(companyID, "OPENTM203347141"), "恭喜您注册成为会员!", name, "恭喜您注册成为会员,您将享受到会员所有权利!");
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                        }
                        else
                        {
                            string pickupdate = "update  asm_product_pick set memberID=" + dt.Rows[0]["id"].ToString() + " where reqsnNo='" + reqsn + "' ";
                            Util.Debuglog("sqlInsert=" + pickupdate, "获取预生成订单号.txt");
                            DbHelperSQL.ExecuteSql(pickupdate);
                            //更新
                            string update = "update asm_member set openID='" + id + "' where unionID='" + unionID + "'";
                            Util.Debuglog("更新" + update, "是否限购.txt");
                            DbHelperSQL.ExecuteSql(update);
                            //限购判断
                            if (!Util.xgCount(productID, dt.Rows[0]["id"].ToString(), mechineID))
                            {
                                Util.Debuglog("限购" + unionID, "是否限购.txt");
                                string url13 = "https://wx.bingoseller.com/main/xg.aspx";
                                //限购不让购买
                                Response.Write("<script>window.location.href='" + url13 + "';</script>");
                                return;
                            }
                            if (unionID == "owhCR0esai2hPXH4lYkeLMAcccuE" || unionID == "owhCR0XLU0NM_GauIWydxGogmHfk" || unionID == "owhCR0bslgzXtWBLHv-ll7W1Me4c" || unionID == "owhCR0UPVXSCxYyPhkNy3wejNjNs" || unionID == "owhCR0dm8yPqHIYZhMnjti_PvA3U")
                            {
                                string url1 = "https://wx.bingoseller.com/main/wxorbalanceNew.aspx?companyID=" + companyID + "&mechineID=" + mechineID + "&unionID=" + unionID + "&openID=" + id + "&productID=" + productID + "&dgOrderDetailID=" + dgOrderDetailID + "&type=" + type + "&sftj=" + sftj + "&reqsn=" + reqsn;
                                Util.Debuglog("url1=" + url1, "微信+余额.txt");
                                Response.Write("<script>window.location.href='" + url1 + "';</script>");
                                return;
                            }
                        }
                        string url12 = "https://wx.bingoseller.com/main/wxorbalance.aspx?companyID=" + companyID + "&mechineID=" + mechineID + "&unionID=" + unionID + "&openID=" + id + "&productID=" + productID + "&dgOrderDetailID=" + dgOrderDetailID + "&type=" + type + "&sftj=" + sftj;
                        Util.Debuglog("url12=" + url12, "微信+余额.txt");
                        Response.Write("<script>window.location.href='" + url12 + "';</script>");
                        return;
                    }
                }
            }
        }
Beispiel #22
0
        public DataTable DT = new DataTable(); //平台配置
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                comID = OperUtil.Get("companyID");
                this._operaID.Value = OperUtil.Get("operaID");
                if (string.IsNullOrEmpty(comID))
                {
                    Response.Write("<script>alert('您尚未登录或已长时间未进行操作,请重新登录!');top.location.href='../../index.aspx';</script>");
                    return;
                }
                this._companyID.Value = comID;
                Session.Timeout       = 360;

                if (!IsPostBack)
                {
                    //初始化页面的时候回去数据库校验当前登录用户(企业账号)是否“授权过”,是-展示企业公众号信息,否-展示授权二维码
                    //1-获取登录用户信息
                    string sql = "select * from asm_company where id=" + this._companyID.Value;

                    DC = DbHelperSQL.Query(sql).Tables[0];
                    DT = DbHelperSQL.Query("select * from asm_platformInfo").Tables[0];
                    this.HF_userInfoId.Value = comID;
                    //获取授权成功后回调的参数:
                    string auth_code  = Request.QueryString["auth_code"];
                    string expires_in = Request.QueryString["expires_in"];
                    Util.Debuglog("auth_code=" + auth_code + ";expires_in=" + expires_in, "_授权.txt");
                    if (!string.IsNullOrEmpty(auth_code))
                    {
                        //授权后的回调
                        auth_code = auth_code.Split(new string[] { "@@@" }, StringSplitOptions.RemoveEmptyEntries)[1];
                        string comToken = Util.getComToken();
                        //获取微信公众号接口“调用凭据authorizer_access_token”,用这个参数来调用微信公众平台接口
                        CommonMethod.RootObject authModel = GetAuthToken(OpenPFConfig.Appid, auth_code, comToken);
                        //将authorizer_refresh_token(这个是不会改变的)存入数据库,这是当token过期的时候用来刷新token的。如果authorizer_refresh_token丢失了,则需要重新授权
                        //获取“授权公众号详细信息”
                        authInfoModel = GetAuthInfo(OpenPFConfig.Appid, authModel.authorization_info.authorizer_appid, comToken);
                        string funcinfoIdStr = "";
                        //更新authorizer_refresh_token到userinfo表中
                        if (authInfoModel != null && authInfoModel.authorization_info != null && authInfoModel.authorization_info.func_info != null && authInfoModel.authorization_info.func_info.Count > 0)
                        {
                            UpdateUserInfo(authInfoModel, authModel.authorization_info.authorizer_refresh_token, DC.Rows[0]["id"].ToString());
                            //设置行业为消费品
                            string    sqlC    = "select * from asm_company where id=" + comID;
                            DataTable dt      = DbHelperSQL.Query(sql).Tables[0];
                            wxHelper  wx      = new wxHelper(comID);
                            string    token   = Util.GetTokenInfo(OpenPFConfig.Appid, dt.Rows[0]["appId"].ToString(), Util.getComToken(), dt.Rows[0]["refresh_token"].ToString()).authorizer_access_token;
                            string    result  = wx.setIndustry(token);
                            JObject   jo      = (JObject)JsonConvert.DeserializeObject(result);
                            string    errcode = jo["errcode"].ToString();
                        }
                        authAppid    = authModel.authorization_info.authorizer_appid;
                        refreshToken = authModel.authorization_info.authorizer_refresh_token;
                    }
                    else
                    {
                        //用户主动点击进来的(用户对象中含有Refresh_token属性)
                        if (DC != null && !string.IsNullOrEmpty(DC.Rows[0]["refresh_token"].ToString()))
                        {
                            //有这个值证明已经授权过,且在数据库中有信息
                            authAppid    = DC.Rows[0]["appId"].ToString();
                            refreshToken = DC.Rows[0]["refresh_token"].ToString();
                        }
                        else
                        {
                            //从Redis中取token
                            string comToken = Util.getComToken();
                            if (string.IsNullOrEmpty(comToken))
                            {
                                string ticket = DT.Rows[0]["ticket"].ToString();
                                comToken = GetToken(OpenPFConfig.Appid, OpenPFConfig.Appsecret, ticket);
                            }
                            //获取预授权码
                            string pac = GetPre_Auth_Code(OpenPFConfig.Appid, comToken);
                            //这里要判断下pac是否有值,无值证明comToken过期了,要重新获取
                            if (string.IsNullOrEmpty(pac))
                            {
                                comToken = GetToken(OpenPFConfig.Appid, OpenPFConfig.Appsecret, DT.Rows[0]["ticket"].ToString());
                                pac      = GetPre_Auth_Code(OpenPFConfig.Appid, comToken);
                            }
                            pac = pac.Split(new string[] { "@@@" }, StringSplitOptions.RemoveEmptyEntries)[1];
                            //拼接授权页面地址(用户扫描后跳转的扫码页面,前端必须用一个连接去进行跳转)
                            PhoneAuthPageUrl = "https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=" + OpenPFConfig.Appid + "&pre_auth_code=" + pac + "&redirect_uri=http://nq.bingoseller.com/main/enterprise/authPage.aspx&auth_type=3";
                        }
                    }
                }
            }
            catch (Exception ee)
            {
                Util.Debuglog("auth ee=" + ee.ToString(), "_授权.txt");
            }
        }
Beispiel #23
0
        public static Object ok(string billno, string pwd, string companyID)
        {
            //首先验证二级退款密码是否正确
            string    sql12 = "select * from asm_company where id=" + companyID;
            DataTable dd1   = DbHelperSQL.Query(sql12).Tables[0];

            if (dd1.Rows.Count > 0)
            {
                if (pwd == dd1.Rows[0]["pwd2"].ToString())
                {
                    //查询该笔订单信息
                    string    sql1 = "select * from asm_pay_info where trxid='" + billno + "'";
                    DataTable dt1  = DbHelperSQL.Query(sql1).Tables[0];
                    if (dt1.Rows.Count > 0)
                    {
                        //查询订单信息
                        string    sqlOrder = "select * from  asm_sellDetail where billno='" + billno + "'";
                        DataTable Dorder   = DbHelperSQL.Query(sqlOrder).Tables[0];
                        if (Dorder.Rows.Count <= 0)
                        {
                            return(new { result = 0, msg = "该笔订单查询失败" });
                        }
                        //判断出货状态如果是料道错误或者是交易序列号相同给退款 零售的怎么来怎么退 订购的退到钱包
                        if (!string.IsNullOrEmpty(Dorder.Rows[0]["code"].ToString()))
                        {
                            //订购的
                            if (Dorder.Rows[0]["bz"].ToString() == "料道错误" || Dorder.Rows[0]["bz"].ToString() == "交易序列号相同" || Dorder.Rows[0]["bz"].ToString() == "料道故障" || Dorder.Rows[0]["bz"].ToString() == "校验错误" || Dorder.Rows[0]["bz"].ToString() == "出货失败")
                            {
                                string    sql = "select * from asm_sellDetail where billno='" + billno + "'";
                                DataTable dd  = DbHelperSQL.Query(sql).Tables[0];
                                if (dd.Rows.Count > 0)
                                {
                                    //更新会员钱包 并插入资金变动记录
                                    string    update = "update asm_member set  AvailableMoney=AvailableMoney+" + dd.Rows[0]["totalMoney"].ToString() + ",sumConsume=sumConsume-" + dd.Rows[0]["totalMoney"].ToString() + " where id=" + dd.Rows[0]["memberID"].ToString();
                                    int       a      = DbHelperSQL.ExecuteSql(update);
                                    string    sqlm   = "select * from asm_member where id=" + dd.Rows[0]["memberID"].ToString();
                                    DataTable dt     = DbHelperSQL.Query(sqlm).Tables[0];
                                    if (a > 0)
                                    {
                                        string sqlu = "update asm_sellDetail set bz='退款成功' where billno='" + billno + "'";
                                        DbHelperSQL.ExecuteSql(sqlu);
                                        Util.insertNotice(dt.Rows[0]["id"].ToString(), "出货异常退款", "您于" + Dorder.Rows[0]["orderTime"].ToString() + "取货异常退还金额:" + dd.Rows[0]["totalMoney"].ToString() + ";请查收钱包");
                                        Util.moneyChange(dt.Rows[0]["id"].ToString(), dd.Rows[0]["totalMoney"].ToString(), dt.Rows[0]["AvailableMoney"].ToString(), "退款通知", "7", "", dd.Rows[0]["totalMoney"].ToString());

                                        if (!string.IsNullOrEmpty(dt.Rows[0]["openID"].ToString()))
                                        {
                                            try
                                            {
                                                string   company = Util.getCompany(dt.Rows[0]["companyID"].ToString());
                                                wxHelper wx      = new wxHelper(dt.Rows[0]["companyID"].ToString());
                                                string   data    = TemplateMessage.tk(dt.Rows[0]["openID"].ToString(), OperUtil.getMessageID(dt.Rows[0]["companyID"].ToString(), "OPENTM410089600"), "退款通知", dd.Rows[0]["totalMoney"].ToString(), "您购买的商品没有出货成功,钱已退还到账户");
                                                TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(dt.Rows[0]["companyID"].ToString()), data);
                                            }
                                            catch (Exception e)
                                            {
                                                Util.Debuglog("e=" + e.Message, "会员等级消息模板.txt");
                                            }
                                        }
                                        return(new { result = 0, msg = "退款成功,成功到会员钱包中" });
                                    }
                                }
                            }
                        }
                        else
                        {
                            //零售的
                            if (Dorder.Rows[0]["bz"].ToString() == "料道错误" || Dorder.Rows[0]["bz"].ToString() == "交易序列号相同" || Dorder.Rows[0]["bz"].ToString() == "料道故障" || Dorder.Rows[0]["bz"].ToString() == "校验错误" || Dorder.Rows[0]["bz"].ToString() == "出货失败")
                            {
                                Util.Debuglog("billno=" + billno, "_手动退款.txt");
                                if (Dorder.Rows[0]["payType"].ToString() == "3")
                                {
                                    //退到钱包
                                    string    sql = "select * from asm_sellDetail where billno='" + billno + "'";
                                    DataTable dd  = DbHelperSQL.Query(sql).Tables[0];
                                    if (dd.Rows.Count > 0)
                                    {
                                        //更新会员钱包 并插入资金变动记录
                                        string    update = "update asm_member set  AvailableMoney=AvailableMoney+" + dd.Rows[0]["totalMoney"].ToString() + ",sumConsume=sumConsume-" + dd.Rows[0]["totalMoney"].ToString() + " where id=" + dd.Rows[0]["memberID"].ToString();
                                        int       a      = DbHelperSQL.ExecuteSql(update);
                                        string    sqlm   = "select * from asm_member where id=" + dd.Rows[0]["memberID"].ToString();
                                        DataTable dt     = DbHelperSQL.Query(sqlm).Tables[0];
                                        if (a > 0)
                                        {
                                            string update1 = "update asm_pay_info set statu=2,fintime='" + DateTime.Now.ToString("yyyyMMddHHmmss") + "' where trxid='" + billno + "'";
                                            DbHelperSQL.ExecuteSql(update1);
                                            string sqlu = "update asm_sellDetail set bz='退款成功' where billno='" + billno + "'";
                                            DbHelperSQL.ExecuteSql(sqlu);
                                            Util.insertNotice(dt.Rows[0]["id"].ToString(), "出货异常退款", "您于" + Dorder.Rows[0]["orderTime"].ToString() + "购买商品出货异常退还金额:" + dd.Rows[0]["totalMoney"].ToString() + ";请查收钱包");
                                            Util.moneyChange(dt.Rows[0]["id"].ToString(), dd.Rows[0]["totalMoney"].ToString(), dt.Rows[0]["AvailableMoney"].ToString(), "退款通知", "7", "", "取货异常退还金额:" + dd.Rows[0]["totalMoney"].ToString());
                                            return(new { result = 0, msg = "退款成功,成功到会员钱包中" });
                                        }
                                    }
                                }
                                else if (Dorder.Rows[0]["payType"].ToString() == "1" || Dorder.Rows[0]["payType"].ToString() == "2")
                                {
                                    //退到1微信或者2支付宝
                                    string    sql = "select * from asm_pay_info where trxid='" + billno + "'";
                                    DataTable dd  = DbHelperSQL.Query(sql).Tables[0];
                                    if (dd.Rows.Count > 0 && dd.Rows[0]["statu"].ToString() == "1")
                                    {
                                        SybWxPayService             sybService = new SybWxPayService(Dorder.Rows[0]["mechineID"].ToString());
                                        long                        fen        = long.Parse(dd.Rows[0]["trxamt"].ToString());
                                        Random                      rd         = new Random();
                                        int                         rand       = rd.Next(10000, 99999);
                                        string                      reqsn      = ConvertDateTimeToInt(DateTime.Now).ToString() + rand;
                                        string                      oldtrxid   = dd.Rows[0]["trxid"].ToString();
                                        string                      oldreqsn   = dd.Rows[0]["reqsn"].ToString();
                                        Dictionary <String, String> rsp        = sybService.cancel(fen, reqsn, oldtrxid, oldreqsn);
                                        string                      data       = OperUtil.SerializeDictionaryToJsonString(rsp);
                                        Util.Debuglog("oldtrxid=" + oldtrxid + ";微信支付链接data=" + data, "_手动退款.txt");
                                        //插入预处理订单信息
                                        string json = (new JavaScriptSerializer()).Serialize(rsp);
                                        Util.Debuglog("微信支付链接json=" + json, "_手动退款.txt");
                                        JObject jo = (JObject)JsonConvert.DeserializeObject(json);
                                        if (jo["retcode"].ToString() == "SUCCESS")
                                        {
                                            try
                                            {
                                                string msg = jo["errmsg"].ToString();
                                                return(new { result = 0, msg = msg });
                                            }
                                            catch
                                            {
                                            }
                                            string cusid     = jo["cusid"].ToString();     //商户号
                                            string trxid     = jo["trxid"].ToString();     //交易单号
                                            string fintime   = jo["fintime"].ToString();   //交易完成时间
                                            string reqsn1    = jo["reqsn"].ToString();     //商户订单号
                                            string trxstatus = jo["trxstatus"].ToString(); //交易状态
                                            //更新asm_pay_info
                                            if (trxstatus == "0000")
                                            {
                                                string update = "update asm_pay_info set statu=2,tkreqsn='" + reqsn1 + "',fintime='" + fintime + "',trxstatus='" + trxstatus + "',errmsg='' where trxid='" + oldtrxid + "'";
                                                DbHelperSQL.ExecuteSql(update);
                                                string sqlu = "update asm_sellDetail set bz='退款成功' where billno='" + billno + "'";
                                                DbHelperSQL.ExecuteSql(sqlu);
                                                string update1 = "update asm_member set  sumConsume=sumConsume-" + (double.Parse(dd.Rows[0]["trxamt"].ToString()) / 100) + " where openID='" + dd.Rows[0]["acct"].ToString() + "'";
                                                int    a       = DbHelperSQL.ExecuteSql(update1);

                                                string    sqlm = "select * from asm_member where openID='" + dd.Rows[0]["acct"].ToString() + "'";
                                                DataTable dt   = DbHelperSQL.Query(sqlm).Tables[0];
                                                if (!string.IsNullOrEmpty(dt.Rows[0]["openID"].ToString()))
                                                {
                                                    try
                                                    {
                                                        string    sqlPayInfo = "select * from asm_pay_info where trxid='" + billno + "'";
                                                        DataTable ddpayInfo  = DbHelperSQL.Query(sqlPayInfo).Tables[0];
                                                        string    company    = Util.getCompany(dt.Rows[0]["companyID"].ToString());
                                                        wxHelper  wx         = new wxHelper(dt.Rows[0]["companyID"].ToString());
                                                        data = TemplateMessage.tk(dt.Rows[0]["openID"].ToString(), OperUtil.getMessageID(dt.Rows[0]["companyID"].ToString(), "OPENTM410089600"), "退款通知", (double.Parse(ddpayInfo.Rows[0]["trxamt"].ToString()) / 100).ToString("f2"), "您购买的商品没有出货成功,钱已退还到账户");
                                                        TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(dt.Rows[0]["companyID"].ToString()), data);
                                                    }
                                                    catch (Exception e)
                                                    {
                                                        Util.Debuglog("e=" + e.Message, "会员等级消息模板.txt");
                                                    }
                                                }
                                                return(new { result = 0, msg = "退款成功,已经退到会员的微信或支付宝" });
                                            }
                                            else
                                            {
                                                string errmsg = jo["errmsg"].ToString();//交易失败信息
                                                string update = "update asm_pay_info set tkreqsn='" + reqsn1 + "',fintime='" + fintime + "',trxstatus='" + trxstatus + "',errmsg='" + errmsg + "' where trxid='" + oldtrxid + "'";
                                                DbHelperSQL.ExecuteSql(update);
                                                if (trxstatus == "3008")
                                                {
                                                    return(new { result = 0, msg = errmsg });
                                                }
                                                else
                                                {
                                                    return(new { result = 0, msg = "退款失败" });
                                                }
                                            }
                                        }
                                        else
                                        {
                                            return(new { result = 0, msg = "退款失败" });
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        return(new { result = 0, msg = "该笔订单查询失败" });
                    }
                }
                else
                {
                    return(new { result = 0, msg = "退款密码错误" });//密码错误
                }
            }
            return(new { result = 0, msg = "退款失败" });
        }
Beispiel #24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string code = "";
                if (Request.QueryString["code"] != null && Request.QueryString["code"] != "")
                {
                    code = Request.QueryString["code"].ToString();
                    Util.Debuglog("code=" + code + ";state=" + Request.QueryString["state"], "获取参数.txt");
                    string[] param = Request.QueryString["state"].ToString().Split('|');
                    if (param.Length != 4)
                    {
                        //Response.Write("<span style='color:#FF0000;font-size:20px'>" + "参数不全请重试" + "</span>");
                    }
                    //9|14|43|334|0|1
                    string    money           = param[0]; //9
                    string    companyID       = param[1]; //14
                    string    mechineID       = param[2]; //43
                    string    productID       = param[3]; //334
                    string    dgOrderDetailID = param[4]; //0
                    string    type            = param[5]; //1
                    string    sftj            = param[6]; //1 是特价
                    string    sql2            = "select * from asm_company where id=" + companyID;
                    DataTable d1 = DbHelperSQL.Query(sql2).Tables[0];
                    if (d1.Rows.Count > 0)
                    {
                        appid     = d1.Rows[0]["appId"].ToString();
                        appsecret = d1.Rows[0]["wx_appsecret"].ToString();
                    }

                    OAuth_Token Model           = Get_token(code, companyID);
                    OAuthUser   OAuthUser_Model = Get_UserInfo(Model.access_token, Model.openid);
                    if (OAuthUser_Model.openid != null && OAuthUser_Model.openid != "") //已获取得openid及其他信息
                    {
                        headImg = OAuthUser_Model.headimgurl.ToString();                //头像图片
                        name    = OAuthUser_Model.nickname;                             //昵称
                        id      = OAuthUser_Model.openid;                               //opendid
                        unionID = OAuthUser_Model.unionid;
                        string province = OAuthUser_Model.province;
                        string city     = OAuthUser_Model.city;
                        string country  = OAuthUser_Model.city;
                        string gender   = OAuthUser_Model.sex == "1" ? "男" : "女";
                        // Util.SetSession("_openID", id);
                        Util.Debuglog("id=" + id, "获取token.txt");//o1_mf1aL2bduKZnTzG1irrfvN0x8
                        string sql = "select * from asm_member where unionID='" + unionID + "'";
                        Util.Debuglog("sql=" + sql, "零售支付用户注册.txt");
                        DataTable dt   = DbHelperSQL.Query(sql).Tables[0];
                        string    sql3 = "select * from asm_tqlist where companyID=" + companyID;
                        Util.Debuglog("sql3=" + sql3, "零售支付用户注册.txt");
                        DataTable d3 = DbHelperSQL.Query(sql3).Tables[0];
                        if (d3.Rows.Count > 0 && d3.Rows[0]["memberprice"].ToString() == "1" && dt.Rows.Count > 0)
                        {
                            //查询该产品是否限时特价

                            money = Util.getNewProductPrice(productID, mechineID, dt.Rows[0]["dj"].ToString());
                        }
                        else
                        {
                            string    sql1 = "select * from asm_product where productID=" + productID;
                            DataTable dt1  = DbHelperSQL.Query(sql1).Tables[0];
                            money = dt1.Rows[0]["price0"].ToString();
                        }
                        //判断限购次数



                        if (dt.Rows.Count <= 0)
                        {
                            string insert = "insert into asm_member(name,phone,province,city,country,AvailableMoney,sumConsume,sumRecharge,createDate,companyID,headurl,nickname,sex,unionID,openID,consumeCount)"
                                            + " values(N'" + name + "','','" + province + "','" + city + "','" + country + "',0,0,0,'" + DateTime.Now + "','" + companyID + "','" + headImg + "',N'" + name + "','" + gender + "','" + unionID + "','" + id + "',0)";
                            Util.Debuglog(insert, "零售支付用户注册.txt");
                            DbHelperSQL.ExecuteSql(insert);
                            //发送注册成为会员模板消息
                            wxHelper wx   = new wxHelper(companyID);
                            string   data = TemplateMessage.Member_ZC(id, OperUtil.getMessageID(companyID, "OPENTM203347141"), "恭喜您注册成为会员!", name, "恭喜您注册成为会员,您将享受到会员所有权利!");
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                        }
                        else
                        {
                            //更新
                            string update = "update asm_member set openID='" + id + "' where unionID='" + unionID + "'";
                            Util.Debuglog("更新" + update, "是否限购.txt");
                            DbHelperSQL.ExecuteSql(update);
                            //限购判断
                            if (!Util.xgCount(productID, dt.Rows[0]["id"].ToString(), mechineID))
                            {
                                Util.Debuglog("限购" + unionID, "是否限购.txt");
                                string url13 = "https://wx.bingoseller.com/main/xg.aspx";
                                //限购不让购买
                                Response.Write("<script>window.location.href='" + url13 + "';</script>");
                                return;
                            }
                            if (unionID == "owhCR0esai2hPXH4lYkeLMAcccuE" || unionID == "owhCR0XLU0NM_GauIWydxGogmHfk")
                            {
                                string url1 = "https://wx.bingoseller.com/main/wxorbalanceceshi.aspx?companyID=" + companyID + "&mechineID=" + mechineID + "&money=" + money + "&unionID=" + unionID + "&openID=" + id + "&productID=" + productID + "&dgOrderDetailID=" + dgOrderDetailID + "&type=" + type + "&sftj=" + sftj;
                                Util.Debuglog("url1=" + url1, "微信+余额.txt");
                                Response.Write("<script>window.location.href='" + url1 + "';</script>");
                                return;
                            }


                            if (dt.Rows.Count > 0 && double.Parse(dt.Rows[0]["AvailableMoney"].ToString()) >= double.Parse(money))
                            {
                                string url1 = "https://wx.bingoseller.com/main/wxorbalance.aspx?companyID=" + companyID + "&mechineID=" + mechineID + "&money=" + money + "&unionID=" + unionID + "&openID=" + id + "&productID=" + productID + "&dgOrderDetailID=" + dgOrderDetailID + "&type=" + type + "&sftj=" + sftj;
                                Util.Debuglog("url1=" + url1, "微信+余额.txt");
                                Response.Write("<script>window.location.href='" + url1 + "';</script>");
                                return;
                            }
                        }
                        string url12 = "https://wx.bingoseller.com/main/wxorbalance.aspx?companyID=" + companyID + "&mechineID=" + mechineID + "&money=" + money + "&unionID=" + unionID + "&openID=" + id + "&productID=" + productID + "&dgOrderDetailID=" + dgOrderDetailID + "&type=" + type + "&sftj=" + sftj;
                        Util.Debuglog("url12=" + url12, "微信+余额.txt");
                        Response.Write("<script>window.location.href='" + url12 + "';</script>");
                        return;
                    }
                }
            }
        }
Beispiel #25
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Dictionary <String, String> reqParams = new Dictionary <String, String>();

            /**
             * 此处注意,因为通联收银宝以后可能增加字段,所以,这里一定要动态遍历获取所有的请求参数
             *
             * */
            for (int i = 0; i < Request.Form.Count; i++)
            {
                reqParams.Add(Request.Form.Keys[i], Request.Form[i].ToString());
            }
            if (!reqParams.ContainsKey("sign"))//如果不包含sign,则不进行处理
            {
                Response.Write("error");
                return;
            }
            if (reqParams.ContainsKey("trxid"))
            {
                string    json = (new JavaScriptSerializer()).Serialize(reqParams);
                JObject   jo   = (JObject)JsonConvert.DeserializeObject(json);
                string    sql  = "select * from asm_pay_info where trxid='" + jo["trxid"].ToString() + "'";
                DataTable dt   = DbHelperSQL.Query(sql).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    //获取openid查询这个openid的companyID 的appkey
                    string    sql12 = "select * from asm_member where minOpenID='" + dt.Rows[0]["acct"].ToString() + "'";
                    DataTable d1    = DbHelperSQL.Query(sql12).Tables[0];

                    if (1 == 1 && dt.Rows[0]["statu"].ToString() == "0")//验签成功
                    {
                        //验签成功后,进行业务处理,处理完毕返回成功
                        string trxdate   = Request.Form["trxdate"];
                        string paytime   = Request.Form["paytime"];
                        string acct      = Request.Form["acct"];
                        string chnltrxid = Request.Form["chnltrxid"];
                        double trxamtY   = double.Parse(Request.Form["trxamt"]) / 100;
                        trxamtY = double.Parse(dt.Rows[0]["trxamt"].ToString()) / 100;
                        //支付成功向asm_pay 表 更新记录
                        string updateSQL = "update asm_pay_info set paytime='" + paytime + "',statu='1',trxdate='" + trxdate + "',chnltrxid='" + chnltrxid + "',afterMoney=" + (double.Parse(d1.Rows[0]["AvailableMoney"].ToString()) + trxamtY) + " where trxid='" + jo["trxid"].ToString() + "'";
                        int    a         = DbHelperSQL.ExecuteSql(updateSQL);

                        if (a > 0)
                        {
                            //更新会员余额
                            string update = "update asm_member set AvailableMoney=AvailableMoney+" + dt.Rows[0]["dzMoney"].ToString() + ",sumRecharge=sumRecharge+" + dt.Rows[0]["dzMoney"].ToString() + ",point=point+" + trxamtY + " where minOpenID='" + dt.Rows[0]["acct"].ToString() + "'";
                            Util.Debuglog("update=" + update, "会员充值.txt");
                            DbHelperSQL.ExecuteSql(update);

                            Util.chgMoney(d1.Rows[0]["id"].ToString(), dt.Rows[0]["dzMoney"].ToString(), "会员充值", "充值:" + double.Parse(trxamtY.ToString()).ToString("f2") + "元;实际到账:" + double.Parse(dt.Rows[0]["dzMoney"].ToString()).ToString("f2") + "元", "1");
                            string tqID = Util.growUpMemberBYCZ(dt.Rows[0]["acct"].ToString(), trxamtY.ToString(), dt.Rows[0]["companyID"].ToString());//充值升级
                            //插入参加的活动记录
                            string activityID = dt.Rows[0]["activityID"].ToString();
                            if (!string.IsNullOrEmpty(activityID))
                            {
                                string    sqlAc = "select * from asm_pay_activity where status=1 and id='" + activityID + "'";
                                DataTable dac   = DbHelperSQL.Query(sqlAc).Tables[0];
                                if (dac.Rows.Count > 0)
                                {
                                    string zsType = dac.Rows[0]["type"].ToString();
                                    string status = "1";
                                    string type   = "";
                                    if (zsType == "2")
                                    {
                                        type = "5";
                                    }
                                    else if (zsType == "1")
                                    {
                                        type = "4";
                                    }
                                    if (dac.Rows[0]["type"].ToString() == "2")
                                    {
                                        status = "0";//手动处理的时候发通知
                                    }
                                    else
                                    {
                                        try
                                        {
                                            //发通知
                                            if (!string.IsNullOrEmpty(d1.Rows[0]["openID"].ToString()))
                                            {
                                                string   companyID = d1.Rows[0]["companyID"].ToString();
                                                string   openID    = d1.Rows[0]["openID"].ToString();
                                                wxHelper wx        = new wxHelper(companyID);
                                                string   data      = TemplateMessage.getPrize(openID, "hPFDCcfuANnDAGaIaAjsAnDKfgFXK-Y0SYGK12iIsAM", "活动奖励通知", dac.Rows[0]["activityContent"].ToString(), dac.Rows[0]["activityName"].ToString(), "请尽快到小程序查看奖励");
                                                TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(d1.Rows[0]["companyID"].ToString()), data);
                                            }
                                        }
                                        catch { }
                                    }
                                    string sqlActivity = "insert into asm_partActivity(memberID,partTime,type,activityContent,companyID,zsType,status,activityName,totalMoney,tqID) values('" + d1.Rows[0]["id"].ToString() + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',2,'" + dac.Rows[0]["tag"].ToString() + "','" + dac.Rows[0]["companyID"].ToString() + "','" + type + "'," + status + ",'" + dac.Rows[0]["payName"].ToString() + "'," + trxamtY + ",'" + tqID + "')";
                                    DbHelperSQL.ExecuteSql(sqlActivity);
                                }
                            }
                            Util.insertNotice(d1.Rows[0]["id"].ToString(), "充值到账通知", "充值成功到账金额:" + double.Parse(dt.Rows[0]["dzMoney"].ToString()).ToString("f2") + "元", "");
                            //发送模板消息
                            if (!string.IsNullOrEmpty(d1.Rows[0]["openID"].ToString()))
                            {
                                string companyID = d1.Rows[0]["companyID"].ToString();
                                string openID    = d1.Rows[0]["openID"].ToString();
                                Util.Debuglog("发送模板消息=companyID=" + companyID + ";openID=" + openID, "会员充值.txt");
                                wxHelper wx   = new wxHelper(companyID);
                                string   data = TemplateMessage.success_cz(openID, "Tmin60E6DJtBO962B_5BEzVRC3Rbdv1JrKQNuzoY0Gw",
                                                                           "充值成功通知", trxamtY.ToString(), d1.Rows[0]["AvailableMoney"].ToString(), "充值时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                                TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(d1.Rows[0]["companyID"].ToString()), data);
                            }
                        }
                    }
                }
                else
                {
                    Response.Write("error");
                    return;
                }
            }
            else
            {
                Response.Write("error");
                return;
            }
        }
Beispiel #26
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Dictionary <String, String> reqParams = new Dictionary <String, String>();

            /**
             * 此处注意,因为通联收银宝以后可能增加字段,所以,这里一定要动态遍历获取所有的请求参数
             *
             * */
            for (int i = 0; i < Request.Form.Count; i++)
            {
                reqParams.Add(Request.Form.Keys[i], Request.Form[i].ToString());
                Util.Debuglog("key=" + Request.Form.Keys[i] + ";param=" + Request.Form[i].ToString(), "_充值日志.txt");
            }
            if (!reqParams.ContainsKey("sign"))//如果不包含sign,则不进行处理
            {
                Response.Write("error");
                return;
            }
            if (reqParams.ContainsKey("trxid"))
            {
                string  json = (new JavaScriptSerializer()).Serialize(reqParams);
                JObject jo   = (JObject)JsonConvert.DeserializeObject(json);
                string  sql  = "select * from asm_pay_info where trxid='" + jo["trxid"].ToString() + "'";
                Util.Debuglog("支付信息sql=" + sql, "_充值日志.txt");
                DataTable dt = DbHelperSQL.Query(sql).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    //获取openid查询这个openid的companyID 的appkey
                    string sql12 = "select * from asm_member where openID='" + dt.Rows[0]["acct"].ToString() + "'";

                    DataTable d1   = DbHelperSQL.Query(sql12).Tables[0];
                    string    sql2 = "select * from asm_company where id=" + d1.Rows[0]["companyID"].ToString();

                    DataTable d2 = DbHelperSQL.Query(sql2).Tables[0];
                    //AppUtil.validSign(reqParams, d2.Rows[0]["tl_APPKEY"].ToString(),d1.Rows[0]["companyID"].ToString())
                    Util.Debuglog("支付信息状态=" + dt.Rows[0]["statu"].ToString(), "_充值日志.txt");
                    if (1 == 1 && dt.Rows[0]["statu"].ToString() == "0")//验签成功
                    {
                        //验签成功后,进行业务处理,处理完毕返回成功
                        string trxdate   = Request.Form["trxdate"];
                        string paytime   = Request.Form["paytime"];
                        string acct      = Request.Form["acct"];
                        string chnltrxid = Request.Form["chnltrxid"];
                        double trxamtY   = double.Parse(Request.Form["trxamt"]) / 100;
                        trxamtY = double.Parse(dt.Rows[0]["trxamt"].ToString()) / 100;
                        //支付成功向asm_pay 表 更新记录
                        string updateSQL = "update asm_pay_info set paytime='" + paytime + "',statu='1',trxdate='" + trxdate + "',chnltrxid='" + chnltrxid + "' where trxid='" + jo["trxid"].ToString() + "'";
                        int    a         = DbHelperSQL.ExecuteSql(updateSQL);

                        if (a > 0)
                        {
                            ////更新会员余额
                            //string update = "update asm_member set AvailableMoney=AvailableMoney+" + dt.Rows[0]["dzMoney"].ToString() + ",sumRecharge=sumRecharge+" + dt.Rows[0]["dzMoney"].ToString() + ",point=point+" + trxamtY + " where openID='" + dt.Rows[0]["acct"].ToString() + "'";
                            //Util.Debuglog("充值更新sql" + update, "_充值日志.txt");
                            //DbHelperSQL.ExecuteSql(update);
                            //string sql12 = "select * from asm_member where openID='" + dt.Rows[0]["acct"].ToString() + "'";
                            //DataTable dd = DbHelperSQL.Query(sql12).Tables[0];
                            //wxHelper wx = new wxHelper(d1.Rows[0]["companyID"].ToString());
                            //string data = TemplateMessage.success_cz(dt.Rows[0]["acct"].ToString(), OperUtil.getMessageID(d1.Rows[0]["companyID"].ToString(), "OPENTM410481462"), "充值成功通知", dt.Rows[0]["dzMoney"].ToString(), dd.Rows[0]["AvailableMoney"].ToString(), "充值时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                            //TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(d1.Rows[0]["companyID"].ToString()), data);
                            ////插入记录
                            //Util.insertNotice(dd.Rows[0]["id"].ToString(), "充值成功通知", "您于" + DateTime.Now.ToString("yyyy/MM/dd HH:mm") + "充值金额:" + trxamtY + ";到账金额:" + dt.Rows[0]["dzMoney"].ToString());
                            //Util.moneyChange(dd.Rows[0]["id"].ToString(), trxamtY.ToString(), dd.Rows[0]["AvailableMoney"].ToString(), "会员充值", "1", "");
                            //Util.moneyChange(dd.Rows[0]["id"].ToString(), trxamtY.ToString(), dd.Rows[0]["point"].ToString(), "积分变动", "5", "");


                            //更新会员余额
                            string update = "update asm_member set AvailableMoney=AvailableMoney+" + dt.Rows[0]["dzMoney"].ToString() + ",sumRecharge=sumRecharge+" + dt.Rows[0]["dzMoney"].ToString() + ",point=point+" + trxamtY + " where openID='" + dt.Rows[0]["acct"].ToString() + "'";
                            Util.Debuglog("充值更新update1" + update, "_充值日志.txt");
                            DbHelperSQL.ExecuteSql(update);
                            string sql1           = "select * from asm_member where openID='" + dt.Rows[0]["acct"].ToString() + "'";
                            string shouchongMoney = "0";
                            Util.Debuglog("充值更新sql1" + sql1, "_充值日志.txt");
                            DataTable dd = DbHelperSQL.Query(sql1).Tables[0];
                            shouchongMoney = dd.Rows[0]["hongbaoF"].ToString();
                            //判断系统是否开启首次充值赠送金额活动0不开启
                            string sqlC = "select * from asm_company where id=" + d1.Rows[0]["companyID"].ToString();
                            Util.Debuglog("充值更新sqlC" + sqlC + ";shouchongMoney=" + shouchongMoney, "_充值日志.txt");
                            DataTable dc = DbHelperSQL.Query(sqlC).Tables[0];
                            if (dc.Rows.Count > 0)
                            {
                                if (dc.Rows[0]["p4"].ToString() != "" && dc.Rows[0]["p4"].ToString() != null && dc.Rows[0]["p4"].ToString() != "0")
                                {
                                    //判断是否是在时间段内
                                    DateTime ze = Convert.ToDateTime(dd.Rows[0]["createDate"].ToString());
                                    if (ze.AddDays(int.Parse(dc.Rows[0]["p12"].ToString())) > DateTime.Now)
                                    {
                                        Util.Debuglog("p11" + dc.Rows[0]["p11"].ToString() + ";trxamtY" + trxamtY, "_充值日志.txt");
                                        //并且大于激活下限
                                        if (double.Parse(shouchongMoney) > 0 && double.Parse(dc.Rows[0]["p11"].ToString()) <= trxamtY)
                                        {
                                            //给发红包
                                            string update1 = "update asm_member set AvailableMoney=AvailableMoney+" + shouchongMoney + ",hongbaoF=0 where openID='" + dt.Rows[0]["acct"].ToString() + "'";
                                            Util.Debuglog("充值更新update" + update1, "_充值日志.txt");
                                            DbHelperSQL.ExecuteSql(update1);
                                            dd = DbHelperSQL.Query(sql1).Tables[0];
                                            Util.moneyChange(dd.Rows[0]["id"].ToString(), shouchongMoney, dd.Rows[0]["AvailableMoney"].ToString(), "首冲红包", "7", "");
                                        }
                                    }
                                }
                            }
                            wxHelper wx   = new wxHelper(d1.Rows[0]["companyID"].ToString());
                            string   data = TemplateMessage.success_cz(dt.Rows[0]["acct"].ToString(), OperUtil.getMessageID(d1.Rows[0]["companyID"].ToString(), "OPENTM410481462"), "充值成功通知", trxamtY.ToString(), dd.Rows[0]["AvailableMoney"].ToString(), "充值时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(d1.Rows[0]["companyID"].ToString()), data);
                            //插入记录
                            Util.insertNotice(dd.Rows[0]["id"].ToString(), "充值成功通知", "您于" + DateTime.Now.ToString("yyyy/MM/dd HH:mm") + "充值金额:" + trxamtY + ";到账金额:" + dt.Rows[0]["dzMoney"].ToString(), "");
                            Util.moneyChange(dd.Rows[0]["id"].ToString(), trxamtY.ToString(), dd.Rows[0]["AvailableMoney"].ToString(), "会员充值", "1", "");
                            Util.moneyChange(dd.Rows[0]["id"].ToString(), trxamtY.ToString(), dd.Rows[0]["point"].ToString(), "积分变动", "5", "");
                        }
                    }
                }
                else
                {
                    Response.Write("error");
                    return;
                }
            }
            else
            {
                Response.Write("error");
                return;
            }
        }
Beispiel #27
0
        public static string dh(string orderNO, string syMoney, string need_money, string zq, string productID, string yhfs)
        {
            //1需要先把旧的的订单的状态更改为已兑换
            //2按照旧的订单的配送方式重新生成新的订单 2 天之后配送
            //3钱款多退少补
            //先判断当前状态不是完成的才可以兑换
            string    sql1 = "select * from asm_order where orderNO='" + orderNO + "' and zt in (0,1)";
            DataTable dt   = DbHelperSQL.Query(sql1).Tables[0];

            if (dt.Rows.Count <= 0)
            {
                return("2");
            }
            string sql22 = "update asm_order set zt=4 where orderNO='" + orderNO + "'";

            DbHelperSQL.ExecuteSql(sql22);
            string sql = "update asm_orderDetail set zt=7 where orderNO='" + orderNO + "' and zt=5";

            DbHelperSQL.ExecuteSql(sql);
            if (dt.Rows.Count > 0)
            {
                string   sellDate = insertIntoOrderDetail(dt.Rows[0]["psfs"].ToString(), dt.Rows[0]["psStr"].ToString(), zq);
                string[] sellArr  = sellDate.Split(',');
                string   order_NO = ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000).ToString();
                string   fkzt     = "1";
                //创建订单
                string sqlInsert = @"INSERT INTO [dbo].[asm_order](
                                                       [mechineID],
                                                       [productID],
                                                       [memberID],
                                                       [totalNum],
                                                       [consumeNum],
                                                       [syNum],
                                                       [createTime],
                                                       [zq],
                                                       [qsDate],
                                                       [zdDate],
                                                       [psStr],
                                                       [psfs],
                                                       [orderNO],
                                                       [fkzt],
                                                       [zt],
                                                       [qhAddress],
                                                       [totalMoney],
                                                       [yhfs])
                        VALUES(" + dt.Rows[0]["mechineID"].ToString() + "," + productID + "," + dt.Rows[0]["memberID"].ToString() + "," + zq + ",0," + zq + ",'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "'," + zq + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + sellArr[sellArr.Length - 1] + "','" + dt.Rows[0]["psStr"].ToString() + "'," + dt.Rows[0]["psfs"].ToString() + ",'" + order_NO + "'," + fkzt + ",0,'" + dt.Rows[0]["qhAddress"].ToString() + "'," + need_money + ",'" + yhfs + "')";
                int    a         = DbHelperSQL.ExecuteSql(sqlInsert);
                if (a > 0)
                {
                    //更新商品销售数量
                    string ss = "update asm_product set ljxs=CONVERT(float,ISNULL(ljxs,0))+1 where productID=" + productID;
                    DbHelperSQL.ExecuteSql(ss);
                    string[] selDate = sellArr;
                    if (selDate.Length > 0)
                    {
                        for (int i = 0; i < selDate.Length; i++)
                        {
                            int code = new Random(Guid.NewGuid().GetHashCode()).Next(100000, 999999);
                            //zt   1-已完成;2-已失效;3-已转售;4-待取货;5-待配送
                            string sql2 = @"INSERT INTO [dbo].[asm_orderDetail](
                                                    [mechineID],
                                                    [productID],
                                                    [createTime],
                                                    [code],
                                                    [memberID],
                                                    [zt],
                                                    [ldNO],
                                                    [orderNO],
                                                    [statu],
                                                    [sellPrice])
                                VALUES('" + dt.Rows[0]["mechineID"].ToString() + "','" + productID + "','" + selDate[i] + "','" + code + "'," + dt.Rows[0]["memberID"].ToString() + ",5,'','" + order_NO + "',0,0)";
                            DbHelperSQL.ExecuteSql(sql2);
                        }
                    }
                    //给会员绑定机器
                    string sql4 = "update asm_member set mechineID=" + dt.Rows[0]["mechineID"].ToString() + ",LastTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',consumeCount=consumeCount+1,sumConsume=sumConsume+" + need_money + " where id=" + dt.Rows[0]["memberID"].ToString();
                    DbHelperSQL.ExecuteSql(sql4);
                    string    sql5 = "select * from asm_product where productID=" + productID;
                    DataTable dd5  = DbHelperSQL.Query(sql5).Tables[0];
                    string    sql6 = "select * from asm_mechine where id=" + dt.Rows[0]["mechineID"].ToString();
                    DataTable dd6  = DbHelperSQL.Query(sql6).Tables[0];
                    wxHelper  wx   = new wxHelper(OperUtil.getCooki("companyID"));
                    string    data = TemplateMessage.comsume(OperUtil.getCooki("vshop_openID"), "ti4Dkcm1ELNqaskSYsCYMzqL87nPqapNeOgwhvSci_Q", "亲,你的购买的商品信息如下", "" + dd5.Rows[0]["proName"].ToString() + "", need_money, order_NO, dd6.Rows[0]["bh"].ToString(), "欢迎惠顾");
                    TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(OperUtil.getCooki("companyID")), data);
                    //多退少补
                    if (double.Parse(need_money) < double.Parse(syMoney))
                    {
                        //退给会员钱包
                        string sqlUpdate = "update asm_member set AvailableMoney=AvailableMoney+" + (double.Parse(need_money) - double.Parse(syMoney)) + " where id=" + dt.Rows[0]["memberID"].ToString();
                        DbHelperSQL.ExecuteSql(sqlUpdate);
                    }
                }
            }
            return("1");
        }
 public ValuesController(IMemoryCache cache)
 {
     this.cache  = cache;
     this.helper = new wxHelper();
 }
Beispiel #29
0
        public static async System.Threading.Tasks.Task paycall(Dictionary <String, String> reqParams)
        {
            string  json = (new JavaScriptSerializer()).Serialize(reqParams);
            JObject jo   = (JObject)JsonConvert.DeserializeObject(json);

            string sql = "select * from asm_pay_info where statu=0 and trxid='" + jo["trxid"].ToString() + "'";

            Util.Debuglog("sql=" + sql, "出货信息.txt");
            DataTable dt = DbHelperSQL.Query(sql).Tables[0];

            if (dt.Rows.Count > 0)
            {
                string pickupdate = "update  asm_product_pick set payStatus=3,payTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where reqsnNo='" + dt.Rows[0]["reqsn"].ToString() + "' ";
                Util.Debuglog("sqlInsert=" + pickupdate, "获取预生成订单号.txt");
                DbHelperSQL.ExecuteSql(pickupdate);

                //获取appid查询这个appid的 的appkey
                string sql2 = "select * from asm_company where tl_APPID='" + dt.Rows[0]["appid"].ToString() + "'";
                Util.Debuglog("sql2=" + sql2, "出货信息.txt");
                DataTable d2 = DbHelperSQL.Query(sql2).Tables[0];
                //AppUtil.validSign(reqParams, d2.Rows[0]["tl_APPKEY"].ToString(), d2.Rows[0]["id"].ToString())
                if (dt.Rows[0]["statu"].ToString() == "0")//验签成功
                {
                    string trxidInfo = RedisHelper.GetRedisModel <string>(jo["trxid"].ToString());
                    if (string.IsNullOrEmpty(trxidInfo))
                    {
                        //退到1微信或者2支付宝

                        SybWxPayService             sybService = new SybWxPayService(dt.Rows[0]["mechineID"].ToString());
                        long                        fen        = long.Parse(dt.Rows[0]["trxamt"].ToString());
                        Random                      rd         = new Random();
                        int                         rand       = rd.Next(10000, 99999);
                        string                      reqsn      = Util.ConvertDateTimeToInt(DateTime.Now).ToString() + rand;
                        string                      oldtrxid   = dt.Rows[0]["trxid"].ToString();
                        string                      oldreqsn   = dt.Rows[0]["reqsn"].ToString();
                        Dictionary <String, String> rsp        = sybService.cancel(fen, reqsn, oldtrxid, oldreqsn);
                        string                      data       = OperUtil.SerializeDictionaryToJsonString(rsp);

                        Util.Debuglog("微信支付链接data=" + data, "_退款.txt");
                        //插入预处理订单信息
                        string  returnJson = (new JavaScriptSerializer()).Serialize(rsp);
                        JObject returnjo   = (JObject)JsonConvert.DeserializeObject(returnJson);
                        if (returnjo["retcode"].ToString() == "SUCCESS")
                        {
                            string cusid     = returnjo["cusid"].ToString();     //商户号
                            string trxid     = returnjo["trxid"].ToString();     //交易单号
                            string fintime   = returnjo["fintime"].ToString();   //交易完成时间
                            string reqsn1    = returnjo["reqsn"].ToString();     //商户订单号
                            string trxstatus = returnjo["trxstatus"].ToString(); //交易状态
                            if (trxstatus == "0000")
                            {
                                //更新asm_pay_info
                                string update = "update asm_pay_info set statu=2,tkreqsn='" + reqsn1 + "',fintime='" + fintime + "',trxstatus='" + trxstatus + "' where trxid='" + oldtrxid + "'";
                                DbHelperSQL.ExecuteSql(update);

                                string    sqlm   = "select * from asm_member where openID='" + dt.Rows[0]["acct"].ToString() + "'";
                                DataTable sqlmdt = DbHelperSQL.Query(sqlm).Tables[0];
                                if (sqlmdt.Rows.Count > 0)
                                {
                                    Util.insertNotice(sqlmdt.Rows[0]["id"].ToString(), "出货异常退款", "您于" + dt.Rows[0]["createTime"].ToString() + "购买商品出货异常退还金额:" + double.Parse(dt.Rows[0]["trxamt"].ToString()) / 100 + ";请查收微信或支付宝", dt.Rows[0]["mechineID"].ToString());
                                    Util.moneyChange(sqlmdt.Rows[0]["id"].ToString(), (double.Parse(fen.ToString()) / 100).ToString("0.00"), sqlmdt.Rows[0]["AvailableMoney"].ToString(), "退款通知", "7", "");

                                    try
                                    {
                                        string   company = Util.getCompany(sqlmdt.Rows[0]["companyID"].ToString());
                                        wxHelper wx      = new wxHelper(sqlmdt.Rows[0]["companyID"].ToString());
                                        data = TemplateMessage.tk(sqlmdt.Rows[0]["openID"].ToString(), OperUtil.getMessageID(sqlmdt.Rows[0]["companyID"].ToString(), "OPENTM410089600"), "退款通知", (double.Parse(dt.Rows[0]["trxamt"].ToString()) / 100).ToString("f2"), "您购买的商品没有出货成功,钱已退还到账户");
                                        TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(sqlmdt.Rows[0]["companyID"].ToString()), data);
                                    }
                                    catch (Exception e)
                                    {
                                        Util.Debuglog("e=" + e.Message, "会员等级消息模板.txt");
                                    }
                                }
                            }
                            else
                            {
                                string errmsg = jo["errmsg"].ToString();//交易失败信息
                                string update = "update asm_pay_info set tkreqsn='" + reqsn1 + "',fintime='" + fintime + "',trxstatus='" + trxstatus + "',errmsg='" + errmsg + "' where trxid='" + oldtrxid + "'";
                                DbHelperSQL.ExecuteSql(update);
                            }
                        }

                        return;
                    }
                    //验签成功后,进行业务处理,处理完毕返回成功
                    string trxdate   = jo["trxdate"].ToString();
                    string paytime   = jo["paytime"].ToString();
                    string acct      = jo["acct"].ToString();
                    string chnltrxid = jo["chnltrxid"].ToString();
                    double trxamtY   = double.Parse(jo["trxamt"].ToString()) / 100;

                    //发送出货指令
                    string ldno = "";
                    //继续查找
                    bool b   = true;
                    int  num = 3;
                    while (b && num > 0)
                    {
                        num--;
                        ldno = Util.getLDNO(dt.Rows[0]["mechineID"].ToString(), dt.Rows[0]["productID"].ToString());
                        if (!string.IsNullOrEmpty(ldno))
                        {
                            b = false;
                        }
                        else
                        {
                            Thread.Sleep(1000);
                        }
                    }
                    Util.Debuglog("mechineID=" + dt.Rows[0]["mechineID"].ToString() + ";productID=" + dt.Rows[0]["productID"].ToString() + ";LDNO=" + ldno, "出货信息.txt");
                    if (!string.IsNullOrEmpty(ldno))
                    {
                        Util.chNew(ldno, dt.Rows[0]["mechineID"].ToString(), jo["trxid"].ToString(), dt.Rows[0]["payType"].ToString(), dt.Rows[0]["productID"].ToString(), trxamtY.ToString());
                    }

                    Util.Debuglog("出货指令发送完成mechineID=" + dt.Rows[0]["mechineID"].ToString() + ";productID=" + dt.Rows[0]["productID"].ToString() + ";LDNO=" + ldno, "出货信息.txt");

                    //支付成功向asm_pay 表 更新记录
                    if (dt.Rows[0]["payType"].ToString() == "2")
                    {
                        string updateSQL = "update asm_pay_info set chLdNo='" + ldno + "', acct='" + acct + "', paytime='" + paytime + "',statu='1',trxdate='" + trxdate + "',chnltrxid='" + chnltrxid + "' where trxid='" + jo["trxid"].ToString() + "'";
                        Util.Debuglog("updateSQL=" + updateSQL, "出货信息.txt");
                        DbHelperSQL.ExecuteSql(updateSQL);
                    }
                    else
                    {
                        string updateSQL = "update asm_pay_info set chLdNo='" + ldno + "', paytime='" + paytime + "',statu='1',trxdate='" + trxdate + "',chnltrxid='" + chnltrxid + "' where trxid='" + jo["trxid"].ToString() + "'";
                        Util.Debuglog("updateSQL=" + updateSQL, "出货信息.txt");
                        DbHelperSQL.ExecuteSql(updateSQL);
                    }

                    //需要更新会员的消费信息  此处如果是支付宝扫码的话没法更新
                    if (!string.IsNullOrEmpty(dt.Rows[0]["unionID"].ToString()))
                    {
                        string update = "update asm_member set sumConsume=sumConsume+" + trxamtY + ",consumeCount=consumeCount+1,LastTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',point=point+" + trxamtY + ",mechineID='" + dt.Rows[0]["mechineID"].ToString() + "' where unionID='" + dt.Rows[0]["unionID"].ToString() + "'";
                        Util.Debuglog("update=" + update, "更新会员余额消费信息.txt");
                        DbHelperSQL.ExecuteSql(update);
                    }

                    string    sqlM = "select * from asm_member where unionID='" + dt.Rows[0]["unionID"].ToString() + "'";
                    DataTable dtM  = DbHelperSQL.Query(sqlM).Tables[0];

                    string    searchSql   = "select 1 from asm_firstPayRecord where mechineID=" + dt.Rows[0]["mechineID"].ToString() + " AND memberID='" + dtM.Rows[0]["id"].ToString() + "'";
                    DataTable searchSqldt = DbHelperSQL.Query(searchSql).Tables[0];
                    if (searchSqldt.Rows.Count > 0)
                    {
                    }
                    else
                    {
                        string insertsql = "insert into   asm_firstPayRecord(mechineID,memberID,firstinfo,firstbuyTime,type) values (" + dt.Rows[0]["mechineID"].ToString() + "," + dtM.Rows[0]["id"].ToString() + ",'" + jo["trxid"].ToString() + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + 2 + "') ";
                        Util.Debuglog("sqlInsert=" + insertsql, "获取预生成订单号.txt");
                        DbHelperSQL.ExecuteSql(insertsql);
                    }
                    //此处判断如果orderType=3是半价的需要根据dgOrderDetailID修改zt为售卖完成 并且给出售人加余额
                    if (dt.Rows[0]["orderType"].ToString() == "3" && dt.Rows[0]["dgOrderDetailID"].ToString() != "0" && !string.IsNullOrEmpty(dt.Rows[0]["dgOrderDetailID"].ToString()))
                    {
                        string    sqlDetail = "select * from asm_orderlistDetail where id=" + dt.Rows[0]["dgOrderDetailID"].ToString();
                        DataTable dtDetail  = DbHelperSQL.Query(sqlDetail).Tables[0];
                        if (dtDetail.Rows.Count > 0)
                        {
                            string id        = dt.Rows[0]["dgOrderDetailID"].ToString();
                            string memberID  = dtDetail.Rows[0]["memberID"].ToString();
                            string productID = dt.Rows[0]["productID"].ToString();
                            string updateSql = "update asm_orderlistDetail set zt=6 where id=" + id;
                            int    a         = DbHelperSQL.ExecuteSql(updateSql);
                            if (a > 0)
                            {
                                RedisHelper.Remove(dt.Rows[0]["mechineID"].ToString() + "_SellOrderInfo");
                                //更新余额
                                string    sqlPro       = "select * from asm_product where productID=" + productID;
                                DataTable dpro         = DbHelperSQL.Query(sqlPro).Tables[0];
                                string    updateMember = "update asm_member set AvailableMoney=AvailableMoney+" + dtDetail.Rows[0]["sellPrice"].ToString() + " where id=" + memberID;
                                DbHelperSQL.ExecuteSql(updateMember);
                                Util.chgMoney(memberID, dtDetail.Rows[0]["sellPrice"].ToString(), "售卖", "出售" + dtDetail.Rows[0]["createTime"].ToString() + "日产品", "5");
                            }
                        }
                    }
                    //给会员升级
                    Util.growUpMember(dt.Rows[0]["unionID"].ToString(), "");
                    if (dtM.Rows.Count > 0)
                    {
                        if (!string.IsNullOrEmpty(dtM.Rows[0]["openID"].ToString()))
                        {
                            string    companyID  = dtM.Rows[0]["companyID"].ToString();
                            string    openID     = dtM.Rows[0]["openID"].ToString();
                            string    sqlp       = "select * from asm_product where productID=" + dt.Rows[0]["productID"].ToString();
                            DataTable dp         = DbHelperSQL.Query(sqlp).Tables[0];
                            string    sqlMechine = "select * from asm_mechine where id=" + dt.Rows[0]["mechineID"].ToString();
                            DataTable dMechine   = DbHelperSQL.Query(sqlMechine).Tables[0];
                            wxHelper  wx         = new wxHelper(companyID);
                            string    data       = TemplateMessage.comsume(openID, OperUtil.getMessageID(companyID, "OPENTM401313503"), "亲,你的购买的商品信息如下",
                                                                           "" + dp.Rows[0]["proName"].ToString() + "", trxamtY.ToString(), jo["trxid"].ToString(), dMechine.Rows[0]["mechineName"].ToString(), "“机器已出货,请尽快推开机器左下方推板取出奶品,超过1分钟未取视为丢弃奶品,推板将关闭");
                            TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(companyID), data);
                        }
                    }
                }
            }

            Util.Debuglog("keyif=回调结束", "_聚合支付回调参数.txt");
        }
Beispiel #30
0
        public void createOrder(HttpContext context)
        {
            string mechine_id = context.Request["mechine_id"].ToString();

            Util.Debuglog("mechine_id=" + mechine_id, "_.参数.txt");
            string product_id = context.Request["product_id"].ToString();

            Util.Debuglog("product_id=" + product_id, "_.参数.txt");

            string _orderNO = context.Request["_orderNO"].ToString();

            Util.Debuglog("_orderNO=" + _orderNO, "_.参数.txt");

            string _totalMoney = context.Request["_totalMoney"].ToString();

            Util.Debuglog("_totalMoney=" + _totalMoney, "_.参数.txt");

            string _trxID = context.Request["_trxID"].ToString();

            Util.Debuglog("_trxID=" + _trxID, "_.参数.txt");

            string memberID = Util.getMemberID();

            if (memberID == "0")
            {
                System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
                stringBuilder.Append("{");
                stringBuilder.Append("\"result\":\"3\""); //当前没有登录
                stringBuilder.Append("}");
                context.Response.Write(stringBuilder.ToString());

                return;
            }
            //根据机器id获取机器地址
            string    sql1 = "select * from asm_mechine where id=" + mechine_id;
            DataTable dt   = DbHelperSQL.Query(sql1).Tables[0];

            string sql12 = "select * from asm_order where orderNO='" + _orderNO + "'";

            DataTable d12 = DbHelperSQL.Query(sql12).Tables[0];

            if (d12.Rows.Count <= 0)
            {
            }
            else
            {
                //判断当前的优惠方式如果是赠送天数的话需要更新totalNum
                if (d12.Rows[0]["yhfs"].ToString().Contains("赠送"))
                {
                    string num = d12.Rows[0]["yhfs"].ToString();
                    num = num.Replace("赠送", "").Replace("天", "");
                    string update = "update asm_order set fkzt=1,trxID='" + _trxID + "',totalNum=totalNum+" + num + ",syNum=syNum+" + num + " where id=" + d12.Rows[0]["id"].ToString();
                    DbHelperSQL.ExecuteSql(update);
                }
                else
                {
                    string update = "update asm_order set fkzt=1,trxID='" + _trxID + "' where id=" + d12.Rows[0]["id"].ToString();
                    DbHelperSQL.ExecuteSql(update);
                }
                //更新状态
            }
            if (1 == 1)
            {
                d12 = DbHelperSQL.Query(sql12).Tables[0];
                //更新商品销售数量
                string ss = "update asm_product set ljxs=CONVERT(float,ISNULL(ljxs,0))+1 where productID=" + product_id;
                DbHelperSQL.ExecuteSql(ss);
                //string[] selDate = _selDate.Split(',');

                string[] selDate = insertIntoOrderDetail(d12.Rows[0]["psfs"].ToString(), d12.Rows[0]["psStr"].ToString(), d12.Rows[0]["totalNum"].ToString(), d12.Rows[0]["qsDate"].ToString()).Split(',');

                Util.Debuglog(insertIntoOrderDetail(d12.Rows[0]["psfs"].ToString(), d12.Rows[0]["psStr"].ToString(), d12.Rows[0]["totalNum"].ToString(), d12.Rows[0]["qsDate"].ToString()), "时间格式.txt");
                if (selDate.Length > 0)
                {
                    string    sql14 = "select * from asm_orderDetail where id=0";
                    DataTable dtNew = DbHelperSQL.Query(sql14).Tables[0];
                    for (int i = 0; i < selDate.Length; i++)
                    {
                        int code = new Random(Guid.NewGuid().GetHashCode()).Next(100000, 999999);
                        //zt   1-已完成;2-已失效;3-已转售;4-待取货;5-待配送
                        DataRow dr = dtNew.NewRow();
                        dr["mechineID"]  = mechine_id;          //通过索引赋值
                        dr["productID"]  = product_id;
                        dr["createTime"] = delTime(selDate[i]); //
                        dr["code"]       = code;                //
                        dr["memberID"]   = memberID;            //通过索引赋值
                        dr["zt"]         = "5";
                        dr["ldNO"]       = "";                  //
                        dr["orderNO"]    = _orderNO;            //
                        dr["statu"]      = "0";                 //通过索引赋值
                        dr["sellPrice"]  = 0.0;
                        dr["sellTime"]   = "";
                        dr["bz"]         = "";
                        dtNew.Rows.Add(dr);
                    }
                    DbHelperSQL.BatchInsertBySqlBulkCopy(dtNew, "[dbo].[asm_orderDetail]");
                }
                //给会员绑定机器
                string sql4 = "update asm_member set mechineID=" + mechine_id + ",LastTime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',consumeCount=consumeCount+1,sumConsume=sumConsume+" + _totalMoney + " where id=" + memberID;
                Util.Debuglog("会员绑定机器=" + sql4, "_.插入订购订单.txt");
                DbHelperSQL.ExecuteSql(sql4);
                string    sql5    = "select * from asm_product where productID=" + product_id;
                DataTable dd5     = DbHelperSQL.Query(sql5).Tables[0];
                Thread    threadB = new Thread(
                    () =>
                {
                    wxHelper wx = new wxHelper(OperUtil.getCooki("companyID"));
                    string data = TemplateMessage.comsume(OperUtil.getCooki("vshop_openID"), "ti4Dkcm1ELNqaskSYsCYMzqL87nPqapNeOgwhvSci_Q", "亲,你的购买的商品信息如下", "" + dd5.Rows[0]["proName"].ToString() + "", _totalMoney, _orderNO, dt.Rows[0]["bh"].ToString(), "欢迎惠顾");
                    TemplateMessage.SendTemplateMsg(wx.IsExistAccess_Token(OperUtil.getCooki("companyID")), data);
                });
                threadB.Start();
                System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
                stringBuilder.Append("{");
                stringBuilder.Append("\"result\":\"4\""); //订单提交成功
                stringBuilder.Append("}");
                context.Response.Write(stringBuilder.ToString());
            }
            else
            {
                System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
                stringBuilder.Append("{");
                stringBuilder.Append("\"result\":\"2\""); //订单提交失败
                stringBuilder.Append("}");
                context.Response.Write(stringBuilder.ToString());
            }
        }