Ver Fonte

修复好哒获取审核状态bug

lcl há 3 meses atrás
pai
commit
05c018ed89
2 ficheiros alterados com 122 adições e 141 exclusões
  1. 0 4
      Startup.cs
  2. 122 137
      Util/HaoDa/CheckWeChatSignService.cs

+ 0 - 4
Startup.cs

@@ -148,7 +148,6 @@ namespace MySystem
                 CheckWeChatSignService.Instance.Start(); //查询商户审核状态
                 CheckWeChatBindService.Instance.Start(); //执行好哒微信绑定appid
                 ProfitShareService.Instance.Start(); //分账状态监控队列,分账完成则提交返现
-                // ProfitShareService.Instance.StartCheck(); //复核头一天的分账
                 HaoDaExtHelper.Instance.StartWeChat();
                 HaoDaExtHelper.Instance.StartAlipay();
                 HaoDaExtQueryHelper.Instance.StartWeChat();
@@ -163,7 +162,6 @@ namespace MySystem
                 ProfitHelper.Instance.StartListenTrade(); //返现队列-支付宝
                 ProfitHelper.Instance.StartListenWxTrade(); //返现队列-微信
                 ProfitHelper.Instance.StartSetDivi(); //设置订单当前返现金额
-                // ProfitHelper.Instance.StartListenProfit(); //每月分润
                 ProfitBeforeHelper.Instance.StartListenProfit(); //每月分润
                 ProfitAfterHelper.Instance.StartListenProfit(); //每月分润
                 ProfitCheckHelper.Instance.Start(); //检查订单是否在队列里
@@ -178,12 +176,10 @@ namespace MySystem
                 MerchantStandardService.Instance.StartThree(); //商户缴纳服务费次月起连续不间断三个月,每月活动交易额大于1W,奖励进件创客100元
                 MerchantStandardService.Instance.StartActive();
                 
-                // GetHaoDaFTPInfoService.Instance.Start(); // 获取好哒FTP交易数据
                 GetTencentAddressInfoService.Instance.Start(); // 获取腾讯地图地址
 
                 OrderPushHelper.Instance.Start(); //给商户单独推送订单信息
             }
-            // GetHaoDaFTPInfoService.Instance.GetFTPDataInfoYesterday();
         }
 
         //初始化数据结构

+ 122 - 137
Util/HaoDa/CheckWeChatSignService.cs

@@ -27,29 +27,6 @@ namespace MySystem
         {
             while (true)
             {
-                // string content = RedisDbconn.Instance.RPop<string>("WeChatSignHdQueue");
-                // if (!string.IsNullOrEmpty(content))
-                // {
-                //     if (content == "sleep")
-                //     {
-                //         RedisDbconn.Instance.AddList("WeChatSignHdQueue", "sleep");
-                //         Thread.Sleep(60000);
-                //     }
-                //     else
-                //     {
-                //         QueryMerchantStatus queryMerchantStatus = Newtonsoft.Json.JsonConvert.DeserializeObject<QueryMerchantStatus>(content);
-                //         string result = StartDo(queryMerchantStatus);
-                //         if (result == "wait")
-                //         {
-                //             Thread.Sleep(500);
-                //             RedisDbconn.Instance.AddList("WeChatSignHdQueue", queryMerchantStatus);
-                //         }
-                //     }
-                // }
-                // else
-                // {
-                //     Thread.Sleep(2000);
-                // }
                 DataTable dt = CustomerSqlConn.dtable("select Id,MchtNo from MerchantAddInfo where Id in (select Id from MerchantInfo where Sort=1 and `Status`=0 and QueryCount=0) and MchtNo!='' and MchtNo is not null", AppConfig.Base.SqlConnStr);
                 foreach (DataRow dr in dt.Rows)
                 {
@@ -84,150 +61,158 @@ namespace MySystem
 
                 //查询商户审核状态
                 var returnInfo = HaoDaHelper.Instance.QueryMerchantStatus(BrhCode, query.MerchantNo, merchantadd.BrandId);
+                returnInfo = returnInfo.Replace("null", "\"\"");
                 JsonData dic = JsonMapper.ToObject(returnInfo);
-                //审核成功(1- 待审核 2 -审核中 3 -审核被拒绝 4 -审核通过 6 -待复核)
-                if (dic["data"]["code"].ToString() == "4" && !string.IsNullOrEmpty(dic["data"]["storeNo"].ToString()) && !string.IsNullOrEmpty(dic["data"]["outMchtNo"].ToString()))
+                if(dic["resultCode"].ToString() == "1")
                 {
-                    //查询商户是否存在
-                    if (merchantadd != null)
+                    //审核成功(1- 待审核 2 -审核中 3 -审核被拒绝 4 -审核通过 6 -待复核)
+                    if (dic["data"]["code"].ToString() == "4")// && !string.IsNullOrEmpty(dic["data"]["storeNo"].ToString()) && !string.IsNullOrEmpty(dic["data"]["outMchtNo"].ToString()))
                     {
-                        MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == mId);
-                        merchantadd.StoreNo = dic["data"]["storeNo"].ToString();
-                        merchantadd.HdStatus = 1; //0 待审核 1 已通过 2 已开通分账 3 已添加接收方
-                        merchantadd.OutMchtNo = dic["data"]["outMchtNo"].ToString();
-                        if (merchantadd.BrandId == 1)
+                        //查询商户是否存在
+                        if (merchantadd != null)
                         {
-                            merchantadd.Status = 2;
-                            merchantadd.QueryCount = 2;
+                            MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == mId);
+                            merchantadd.StoreNo = dic["data"]["storeNo"].ToString();
+                            merchantadd.HdStatus = 1; //0 待审核 1 已通过 2 已开通分账 3 已添加接收方
+                            merchantadd.OutMchtNo = dic["data"]["outMchtNo"].ToString();
+                            if (merchantadd.BrandId == 1)
+                            {
+                                merchantadd.Status = 2;
+                                merchantadd.QueryCount = 2;
 
-                            merchant.Status = 2;
-                            merchant.QueryCount = 2;
+                                merchant.Status = 2;
+                                merchant.QueryCount = 2;
 
-                            merchantadd.HdPassDate = DateTime.Parse(dic["data"]["time"].ToString());
-                        }
-                        else
-                        {
-                            if (merchant != null)
-                            {
-                                merchant.Status = 1;
-                            }
-                            //商户开通分账
-                            JsonData Info = JsonMapper.ToObject(HaoDaHelper.Instance.OpenDivideAccounts(merchantadd.OutMchtNo, merchantadd.StoreNo, merchantadd.BrandId));
-                            //开通失败
-                            if (Info["resultCode"].ToString() == "0")
-                            {
-                                merchantadd.Status = -1;
-                                merchantadd.WeChatRemark = Info["errorDesc"].ToString();
+                                merchantadd.HdPassDate = DateTime.Parse(dic["data"]["time"].ToString());
                             }
-                            //开通成功
-                            if (Info["resultCode"].ToString() == "1")
+                            else
                             {
-                                merchantadd.OpenAct = 1;//是否开通分账(1 是 0 否)
-                                merchantadd.HdStatus = 2; //0 待审核 1 已通过 2 已开通分账 3 已添加接收方
-                                                          //分账接收方签约
-                                JsonData Infos = JsonMapper.ToObject(HaoDaHelper.Instance.DivideAccountsSign(AppConfig.Haoda.AcctNo, merchantadd.OutMchtNo, merchantadd.StoreNo, merchantadd.BrandId));
-                                //失败
-                                if (Infos["resultCode"].ToString() == "0")
+                                if (merchant != null)
                                 {
-                                    merchantadd.WeChatRemark = Infos["errorDesc"].ToString();
+                                    merchant.Status = 1;
                                 }
-                                //成功
-                                else
+                                //商户开通分账
+                                JsonData Info = JsonMapper.ToObject(HaoDaHelper.Instance.OpenDivideAccounts(merchantadd.OutMchtNo, merchantadd.StoreNo, merchantadd.BrandId));
+                                //开通失败
+                                if (Info["resultCode"].ToString() == "0")
                                 {
-                                    merchantadd.HdStatus = 3; //0 待审核 1 已通过 2 已开通分账 3 已添加接收方
-                                    if (!string.IsNullOrEmpty(merchantadd.ToAcctNo))
+                                    merchantadd.Status = -1;
+                                    merchantadd.WeChatRemark = Info["errorDesc"].ToString();
+                                }
+                                //开通成功
+                                if (Info["resultCode"].ToString() == "1")
+                                {
+                                    merchantadd.OpenAct = 1;//是否开通分账(1 是 0 否)
+                                    merchantadd.HdStatus = 2; //0 待审核 1 已通过 2 已开通分账 3 已添加接收方
+                                                            //分账接收方签约
+                                    JsonData Infos = JsonMapper.ToObject(HaoDaHelper.Instance.DivideAccountsSign(AppConfig.Haoda.AcctNo, merchantadd.OutMchtNo, merchantadd.StoreNo, merchantadd.BrandId));
+                                    //失败
+                                    if (Infos["resultCode"].ToString() == "0")
                                     {
-                                        if (!merchantadd.ToAcctNo.Contains("," + AppConfig.Haoda.AcctNo + ","))
-                                        {
-                                            merchantadd.ToAcctNo += "," + AppConfig.Haoda.AcctNo + ",";
-                                        }
+                                        merchantadd.WeChatRemark = Infos["errorDesc"].ToString();
                                     }
+                                    //成功
                                     else
                                     {
-                                        merchantadd.ToAcctNo += "," + AppConfig.Haoda.AcctNo + ",";
+                                        merchantadd.HdStatus = 3; //0 待审核 1 已通过 2 已开通分账 3 已添加接收方
+                                        if (!string.IsNullOrEmpty(merchantadd.ToAcctNo))
+                                        {
+                                            if (!merchantadd.ToAcctNo.Contains("," + AppConfig.Haoda.AcctNo + ","))
+                                            {
+                                                merchantadd.ToAcctNo += "," + AppConfig.Haoda.AcctNo + ",";
+                                            }
+                                        }
+                                        else
+                                        {
+                                            merchantadd.ToAcctNo += "," + AppConfig.Haoda.AcctNo + ",";
+                                        }
+                                        merchantadd.HdPassDate = DateTime.Now;
                                     }
-                                    merchantadd.HdPassDate = DateTime.Now;
                                 }
-                            }
 
-                            //开户意愿申请
-                            RedisDbconn.Instance.AddList("AlipayForHaoDaQueue", mId);
-                            RedisDbconn.Instance.AddList("WeChatForHaoDaQueue", mId);
-                        }
-                        db.SaveChanges();
+                                //开户意愿申请
+                                RedisDbconn.Instance.AddList("AlipayForHaoDaQueue", mId);
+                                RedisDbconn.Instance.AddList("WeChatForHaoDaQueue", mId);
+                            }
+                            db.SaveChanges();
 
-                        //创客账号
-                        Models.Main1.WebCMSEntities db1 = new Models.Main1.WebCMSEntities();
-                        string pwd = merchantadd.MobilePhone.Substring(5);
-                        merchant.LoginPwd = function.MD532(pwd);
-                        Models.Main1.MerchantLoginInfo info = db1.MerchantLoginInfo.FirstOrDefault(m => m.LoginMobile == merchantadd.MobilePhone);
-                        if (info == null)
-                        {
-                            info = db1.MerchantLoginInfo.Add(new Models.Main1.MerchantLoginInfo()
+                            //创客账号
+                            Models.Main1.WebCMSEntities db1 = new Models.Main1.WebCMSEntities();
+                            string pwd = merchantadd.MobilePhone.Substring(5);
+                            merchant.LoginPwd = function.MD532(pwd);
+                            Models.Main1.MerchantLoginInfo info = db1.MerchantLoginInfo.FirstOrDefault(m => m.LoginMobile == merchantadd.MobilePhone);
+                            if (info == null)
                             {
-                                LoginMobile = merchantadd.MobilePhone,
-                            }).Entity;
+                                info = db1.MerchantLoginInfo.Add(new Models.Main1.MerchantLoginInfo()
+                                {
+                                    LoginMobile = merchantadd.MobilePhone,
+                                }).Entity;
+                                db1.SaveChanges();
+                            }
+                            info.LoginPwd = function.MD532(pwd);
                             db1.SaveChanges();
-                        }
-                        info.LoginPwd = function.MD532(pwd);
-                        db1.SaveChanges();
-                        Models.Main1.MerchantAccountLinkInfo infolink = db1.MerchantAccountLinkInfo.FirstOrDefault(m => m.LoginId == info.Id && m.MerchantId == merchantadd.Id && m.Kind == 2);
-                        if (infolink == null)
-                        {
-                            infolink = db1.MerchantAccountLinkInfo.Add(new Models.Main1.MerchantAccountLinkInfo()
+                            Models.Main1.MerchantAccountLinkInfo infolink = db1.MerchantAccountLinkInfo.FirstOrDefault(m => m.LoginId == info.Id && m.MerchantId == merchantadd.Id && m.Kind == 2);
+                            if (infolink == null)
                             {
-                                LoginId = info.Id,
-                                MerchantId = merchantadd.Id,
-                                Kind = 2,
-                            }).Entity;
-                            db1.SaveChanges();
-                        }
-                        db1.Dispose();
+                                infolink = db1.MerchantAccountLinkInfo.Add(new Models.Main1.MerchantAccountLinkInfo()
+                                {
+                                    LoginId = info.Id,
+                                    MerchantId = merchantadd.Id,
+                                    Kind = 2,
+                                }).Entity;
+                                db1.SaveChanges();
+                            }
+                            db1.Dispose();
 
-                        if (merchantadd.BrandId == 1 && !string.IsNullOrEmpty(merchantadd.CybMakerCode))
-                        {
-                            SortedList<string, string> obj = new SortedList<string, string>();
-                            obj.Add("bind_time", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
-                            obj.Add("merch_no", merchantadd.MchtNo);
-                            obj.Add("name", merchantadd.CertMerchantName);
-                            string IdCardNumber = merchantadd.IdCardNumber;
-                            if(!string.IsNullOrEmpty(IdCardNumber))
+                            if (merchantadd.BrandId == 1 && !string.IsNullOrEmpty(merchantadd.CybMakerCode))
                             {
-                                IdCardNumber = IdCardNumber.Substring(0, 6) + "**********" + IdCardNumber.Substring(IdCardNumber.Length - 4);
+                                SortedList<string, string> obj = new SortedList<string, string>();
+                                obj.Add("bind_time", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                                obj.Add("merch_no", merchantadd.MchtNo);
+                                obj.Add("name", merchantadd.CertMerchantName);
+                                string IdCardNumber = merchantadd.IdCardNumber;
+                                if(!string.IsNullOrEmpty(IdCardNumber))
+                                {
+                                    IdCardNumber = IdCardNumber.Substring(0, 6) + "**********" + IdCardNumber.Substring(IdCardNumber.Length - 4);
+                                }
+                                obj.Add("supplement_info", IdCardNumber);
+                                obj.Add("mobile", merchantadd.MobilePhone);
+                                obj.Add("maker_code", merchantadd.CybMakerCode);
+                                PushHelper.Instance.Do(obj);
                             }
-                            obj.Add("supplement_info", IdCardNumber);
-                            obj.Add("mobile", merchantadd.MobilePhone);
-                            obj.Add("maker_code", merchantadd.CybMakerCode);
-                            PushHelper.Instance.Do(obj);
                         }
                     }
-                }
-                //审核被拒绝
-                else if (dic["data"]["code"].ToString() == "3")
-                {
-                    if (merchantadd != null)
+                    //审核被拒绝
+                    else if (dic["data"]["code"].ToString() == "3")
                     {
-                        string WeChatRemark = dic["data"]["option"].ToString();
-                        if (WeChatRemark.Contains("租赁协议") && WeChatRemark.Contains("水电煤") && WeChatRemark.Contains("门头合影") && WeChatRemark.Contains("下载地址"))
-                        {
-                            WeChatRemark = "门头不一致需补充 “名称不一致说明函”";
-                        }
-                        if (WeChatRemark.Contains("盒伙人在门头合影"))
+                        if (merchantadd != null)
                         {
-                            WeChatRemark = "门头不一致需补充 “名称不一致说明函”";
-                        }
-                        if (WeChatRemark.Contains("不支持跨商户进件"))
-                        {
-                            WeChatRemark = "该商户已注册,错误指令【404】";
-                        }
-                        merchantadd.WeChatRemark = WeChatRemark;
-                        merchantadd.Status = -1;
-                        MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == mId);
-                        if (merchant != null)
-                        {
-                            merchant.Status = -1;
+                            string WeChatRemark = dic["data"]["option"].ToString();
+                            if (WeChatRemark.Contains("租赁协议") && WeChatRemark.Contains("水电煤") && WeChatRemark.Contains("门头合影") && WeChatRemark.Contains("下载地址"))
+                            {
+                                WeChatRemark = "门头不一致需补充 “名称不一致说明函”";
+                            }
+                            if (WeChatRemark.Contains("盒伙人在门头合影"))
+                            {
+                                WeChatRemark = "门头不一致需补充 “名称不一致说明函”";
+                            }
+                            if (WeChatRemark.Contains("不支持跨商户进件"))
+                            {
+                                WeChatRemark = "该商户已注册,错误指令【404】";
+                            }
+                            merchantadd.WeChatRemark = WeChatRemark;
+                            merchantadd.Status = -1;
+                            MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == mId);
+                            if (merchant != null)
+                            {
+                                merchant.Status = -1;
+                            }
+                            db.SaveChanges();
                         }
-                        db.SaveChanges();
+                    }
+                    else
+                    {
+                        return "wait";
                     }
                 }
                 else