瀏覽代碼

添加商户意愿接口日志

DuGuYang 1 年之前
父節點
當前提交
04c3851e80

+ 13 - 13
Startup.cs

@@ -135,19 +135,19 @@ namespace MySystem
             });
 
             initMainServer();
-            MerchantConfirmService.Instance.Start(); //提交商户进件
-            CheckWeChatSignService.Instance.Start(); //查询商户审核状态
-            ProfitShareService.Instance.Start(); //分账状态监控队列,分账完成则提交返现
-            HaoDaExtHelper.Instance.StartWeChat();
-            HaoDaExtHelper.Instance.StartAlipay();
-            HaoDaExtQueryHelper.Instance.StartWeChat();
-            HaoDaExtQueryHelper.Instance.StartAlipay();
-            HaoDaAuthQueryHelper.Instance.Start(); //查询实名认证状态
-            WeChatPayBackService.Instance.Start(); //支付回调
-            WeChatPayBackService.Instance.StartProfitShare(); //分账队列
-            ProfitHelper.Instance.StartListenTrade(); //返现队列-支付宝
-            ProfitHelper.Instance.StartListenWxTrade(); //返现队列-微信
-            // TestHaoDaService.Instance.Start(); //好哒测试
+            // MerchantConfirmService.Instance.Start(); //提交商户进件
+            // CheckWeChatSignService.Instance.Start(); //查询商户审核状态
+            // ProfitShareService.Instance.Start(); //分账状态监控队列,分账完成则提交返现
+            // HaoDaExtHelper.Instance.StartWeChat();
+            // HaoDaExtHelper.Instance.StartAlipay();
+            // HaoDaExtQueryHelper.Instance.StartWeChat();
+            // HaoDaExtQueryHelper.Instance.StartAlipay();
+            // HaoDaAuthQueryHelper.Instance.Start(); //查询实名认证状态
+            // WeChatPayBackService.Instance.Start(); //支付回调
+            // WeChatPayBackService.Instance.StartProfitShare(); //分账队列
+            // ProfitHelper.Instance.StartListenTrade(); //返现队列-支付宝
+            // ProfitHelper.Instance.StartListenWxTrade(); //返现队列-微信
+            TestHaoDaService.Instance.Start(); //好哒测试
         }
 
         //初始化数据结构

+ 4 - 0
Util/HaoDa/AlipayFunctionForHD.cs

@@ -46,6 +46,10 @@ namespace MySystem
             {
                 CardPeriodEnd = "forever";
             }
+            if (info.SubjectType == "SUBJECT_TYPE_SMALL")
+            {
+                info.LicenseCopy = info.IdCardCopy;
+            }
             string BizContent = "{" +
             "  \"out_biz_no\":\"" + out_biz_no + "\"," +
             "  \"contact_person_info\":{" +

+ 24 - 3
Util/HaoDa/HaoDaExtHelper.cs

@@ -16,7 +16,7 @@ public class HaoDaExtHelper
     private HaoDaExtHelper()
     {
     }
-    
+
     public void StartWeChat()
     {
         Thread th = new Thread(StartWeChatDo);
@@ -47,24 +47,34 @@ public class HaoDaExtHelper
             WebCMSEntities db = new WebCMSEntities();
             MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
             string result = WeChatFunctionForHD.Instance.MerchantApply(info);
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交微信商户意愿申请单");
+            LogHelper.Instance.WriteLog(result, "提交微信商户意愿申请单");
             if (result.Contains("\"applyment_id\":"))
             {
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交微信商户意愿申请单");
+                LogHelper.Instance.WriteLog("success", "提交微信商户意愿申请单");
                 JsonData json = JsonMapper.ToObject(result);
                 string applyment_id = json["applyment_id"].ToString();
                 RedisDbconn.Instance.AddList("WeChatResultForHaoDaQueue", "{\"MerchantId\":\"" + Id + "\",\"ApplymentId\":\"" + applyment_id + "\"}");
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交微信商户意愿申请单");
+                LogHelper.Instance.WriteLog("end", "提交微信商户意愿申请单");
             }
             else if (result.Contains("\"message\":"))
             {
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交微信商户意愿申请单");
+                LogHelper.Instance.WriteLog("false", "提交微信商户意愿申请单");
                 MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
                 JsonData jsonObj = JsonMapper.ToObject(result);
                 info.Status = -1;
                 merchant.Status = -1;
                 info.WeChatRemark = jsonObj["message"].ToString();
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交微信商户意愿申请单");
+                LogHelper.Instance.WriteLog("end", "提交微信商户意愿申请单");
                 db.SaveChanges();
             }
             db.Dispose();
         }
-        catch(Exception ex)
+        catch (Exception ex)
         {
             LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "微信开户意愿申请异常");
         }
@@ -103,22 +113,33 @@ public class HaoDaExtHelper
             MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
             string result = AlipayFunctionForHD.Instance.AuthOrderCreate(info, info.AlipayAuthToken);
             JsonData jsonObj = JsonMapper.ToObject(result);
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交支付宝商户意愿申请单");
+            LogHelper.Instance.WriteLog(result, "提交支付宝商户意愿申请单");
             if (jsonObj["alipay_merchant_indirect_authorder_create_response"]["code"].ToString() == "10000")
             {
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交支付宝商户意愿申请单");
+                LogHelper.Instance.WriteLog("success", "提交支付宝商户意愿申请单");
                 string order_no = jsonObj["alipay_merchant_indirect_authorder_create_response"]["order_no"].ToString();
                 RedisDbconn.Instance.AddList("AlipayResultForHaoDaQueue", "{\"MerchantId\":\"" + Id + "\",\"order_no\":\"" + order_no + "\"}");
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交支付宝商户意愿申请单");
+                LogHelper.Instance.WriteLog("end", "提交支付宝商户意愿申请单");
             }
             else
             {
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交支付宝商户意愿申请单");
+                LogHelper.Instance.WriteLog("false", "提交支付宝商户意愿申请单");
                 MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
                 info.QueryCount = -1;
                 merchant.QueryCount = -1;
                 info.AlipayRemark = jsonObj["alipay_merchant_indirect_authorder_create_response"]["msg"].ToString();
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "提交支付宝商户意愿申请单");
+                LogHelper.Instance.WriteLog("end", "提交支付宝商户意愿申请单");
                 db.SaveChanges();
+
             }
             db.Dispose();
         }
-        catch(Exception ex)
+        catch (Exception ex)
         {
             LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝开户意愿申请异常");
         }

+ 19 - 0
Util/HaoDa/HaoDaExtQueryHelper.cs

@@ -45,12 +45,16 @@ public class HaoDaExtQueryHelper
     {
         try
         {
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "查询微信商户意愿申请状态");
+            LogHelper.Instance.WriteLog("start", "查询微信商户意愿申请状态");
             WebCMSEntities db = new WebCMSEntities();
             MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
             string result = WeChatFunctionForHD.Instance.QueryMerchant(ApplymentId);
+            LogHelper.Instance.WriteLog(result, "查询微信商户意愿申请状态");
             JsonData jsonObj = JsonMapper.ToObject(result);
             if (jsonObj["applyment_state"].ToString() == "APPLYMENT_STATE_WAITTING_FOR_CONFIRM_CONTACT")
             {
+                LogHelper.Instance.WriteLog("starts", "查询支付宝商户意愿申请状态");
                 MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
                 info.Status = 1;
                 merchant.Status = 1;
@@ -58,18 +62,23 @@ public class HaoDaExtQueryHelper
                 info.WeChatSignUrl = jsonObj["qrcode_data"].ToString();
                 db.SaveChanges();
                 RedisDbconn.Instance.AddList("HaoDaAuthQueryHelper", "{\"MerchantId\":\"" + Id + "\",\"MchtNo\":\"" + info.MchtNo + "\",\"StoreNo\":\"" + info.StoreNo + "\"}");
+                LogHelper.Instance.WriteLog("startsend", "查询支付宝商户意愿申请状态");
             }
             else if (jsonObj["applyment_state"].ToString() == "APPLYMENT_STATE_REJECTED")
             {
+                LogHelper.Instance.WriteLog("start1", "查询支付宝商户意愿申请状态");
                 MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
                 info.Status = -1;
                 merchant.Status = -1;
                 info.WeChatRemark = jsonObj["reject_reason"].ToString();
+                LogHelper.Instance.WriteLog("start1end", "查询支付宝商户意愿申请状态");
                 db.SaveChanges();
             }
             else
             {
+                LogHelper.Instance.WriteLog("starte", "查询支付宝商户意愿申请状态");
                 RedisDbconn.Instance.AddList("WeChatResultForHaoDaQueue", "{\"MerchantId\":\"" + Id + "\",\"ApplymentId\":\"" + ApplymentId + "\"}");
+                LogHelper.Instance.WriteLog("start2end", "查询支付宝商户意愿申请状态");
             }
             db.Dispose();
         }
@@ -109,15 +118,20 @@ public class HaoDaExtQueryHelper
     {
         try
         {
+            LogHelper.Instance.WriteLog(DateTime.Now.ToString(), "查询支付宝商户意愿申请状态");
+            LogHelper.Instance.WriteLog("start", "查询支付宝商户意愿申请状态");
             WebCMSEntities db = new WebCMSEntities();
             MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
             string result = AlipayFunctionForHD.Instance.AuthOrderQuery(OrderNo);
             JsonData jsonObj = JsonMapper.ToObject(result);
+            LogHelper.Instance.WriteLog(result, "查询支付宝商户意愿申请状态");
             if (jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["code"].ToString() == "10000")
             {
+                LogHelper.Instance.WriteLog("starts", "查询支付宝商户意愿申请状态");
                 string order_status = jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["order_status"].ToString();
                 if (order_status == "CONTACT_CONFIRM")
                 {
+                    LogHelper.Instance.WriteLog("start1", "查询支付宝商户意愿申请状态");
                     MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
                     info.QueryCount = 1;
                     merchant.QueryCount = 1;
@@ -125,21 +139,26 @@ public class HaoDaExtQueryHelper
                     info.AlipaySignUrl = jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["qr_code"].ToString();
                     db.SaveChanges();
                     RedisDbconn.Instance.AddList("HaoDaAuthQueryHelper", "{\"MerchantId\":\"" + Id + "\",\"MchtNo\":\"" + info.MchtNo + "\",\"StoreNo\":\"" + info.StoreNo + "\"}");
+                    LogHelper.Instance.WriteLog("start1end", "查询支付宝商户意愿申请状态");
                 }
                 else if (order_status == "AUDIT_REJECT" || order_status == "AUDIT_FREEZE")
                 {
+                    LogHelper.Instance.WriteLog("start2", "查询支付宝商户意愿申请状态");
                     MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
                     info.QueryCount = -1;
                     merchant.QueryCount = -1;
                     info.AlipayRemark = jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["msg"].ToString();
+                    LogHelper.Instance.WriteLog("start2end", "查询支付宝商户意愿申请状态");
                     db.SaveChanges();
                 }
                 else if (order_status == "AUDIT_PASS")
                 {
+                    LogHelper.Instance.WriteLog("start2", "查询支付宝商户意愿申请状态");
                     MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
                     info.QueryCount = 2;
                     merchant.QueryCount = 2;
                     info.AlipayRemark = "";
+                    LogHelper.Instance.WriteLog("start2end", "查询支付宝商户意愿申请状态");
                     db.SaveChanges();
                 }
                 else

+ 287 - 4
Util/HaoDa/TestHaoDaService.cs

@@ -27,10 +27,16 @@ namespace MySystem
 
         public void StartListen()
         {
-            // QueryMerchantStatus(2);//新建商户查询状态
-            // QueryAuthStatus(2);//查询实名认证状态
-            // QueryAuthStatus(2);//查询实名认证状态
-            // QueryAuthStatus(2);//查询实名认证状态
+            //开户意愿申请
+            // RedisDbconn.Instance.AddList("AlipayForHaoDaQueue",824);
+            // RedisDbconn.Instance.AddList("WeChatForHaoDaQueue",824);
+            AlipayAddInfo(826);//提交支付宝开户意愿申请单
+            // AlipayAddInfo(824,"202309011037515410");//查询支付宝开户意愿申请状态
+            // WeChatAddInfo(826);//提交微信开户意愿申请单
+            // WeChatAddInfo(824,"202309011037515410");//查询微信开户意愿申请状态
+            // QueryMerchantStatus(824);//新建商户查询状态
+            // QueryAuthStatus(824);//查询实名认证状态
+            // ConfiemMer(808);//新建商户
             // ChangeMerchantCard(1);//商户修改银行卡
         }
 
@@ -44,6 +50,184 @@ namespace MySystem
             db.Dispose();
         }
 
+        //提交支付宝开户意愿申请单
+        public void AlipayAddInfo(int Id)
+        {
+            try
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
+                string result = AlipayFunctionForHD.Instance.AuthOrderCreate(info, info.AlipayAuthToken);
+                JsonData jsonObj = JsonMapper.ToObject(result);
+                LogHelper.Instance.WriteLog(result, "提交支付宝商户意愿申请单");
+                if (jsonObj["alipay_merchant_indirect_authorder_create_response"]["code"].ToString() == "10000")
+                {
+                    LogHelper.Instance.WriteLog("success", "提交支付宝商户意愿申请单");
+                    string order_no = jsonObj["alipay_merchant_indirect_authorder_create_response"]["order_no"].ToString();
+                    RedisDbconn.Instance.AddList("AlipayResultForHaoDaQueue", "{\"MerchantId\":\"" + Id + "\",\"order_no\":\"" + order_no + "\"}");
+                    LogHelper.Instance.WriteLog("end", "提交支付宝商户意愿申请单");
+                }
+                else
+                {
+                    LogHelper.Instance.WriteLog("false", "提交支付宝商户意愿申请单");
+                    MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                    info.QueryCount = -1;
+                    merchant.QueryCount = -1;
+                    info.AlipayRemark = jsonObj["alipay_merchant_indirect_authorder_create_response"]["msg"].ToString();
+                    LogHelper.Instance.WriteLog("end", "提交支付宝商户意愿申请单");
+                    db.SaveChanges();
+
+                }
+                db.Dispose();
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝开户意愿申请异常");
+            }
+        }
+        //查询支付宝开户意愿申请状态
+        public void AlipayAddInfo(int Id, string OrderNo)
+        {
+            try
+            {
+                LogHelper.Instance.WriteLog("start", "查询支付宝商户意愿申请状态");
+                WebCMSEntities db = new WebCMSEntities();
+                MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
+                string result = AlipayFunctionForHD.Instance.AuthOrderQuery(OrderNo);
+                JsonData jsonObj = JsonMapper.ToObject(result);
+                LogHelper.Instance.WriteLog(result, "查询支付宝商户意愿申请状态");
+                if (jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["code"].ToString() == "10000")
+                {
+                    LogHelper.Instance.WriteLog("start1", "查询支付宝商户意愿申请状态");
+                    string order_status = jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["order_status"].ToString();
+                    if (order_status == "CONTACT_CONFIRM")
+                    {
+                        LogHelper.Instance.WriteLog("start1", "查询支付宝商户意愿申请状态");
+                        MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                        info.QueryCount = 1;
+                        merchant.QueryCount = 1;
+                        info.AlipayRemark = "";
+                        info.AlipaySignUrl = jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["qr_code"].ToString();
+                        db.SaveChanges();
+                        RedisDbconn.Instance.AddList("HaoDaAuthQueryHelper", "{\"MerchantId\":\"" + Id + "\",\"MchtNo\":\"" + info.MchtNo + "\",\"StoreNo\":\"" + info.StoreNo + "\"}");
+                        LogHelper.Instance.WriteLog("start1end", "查询支付宝商户意愿申请状态");
+                    }
+                    else if (order_status == "AUDIT_REJECT" || order_status == "AUDIT_FREEZE")
+                    {
+                        LogHelper.Instance.WriteLog("start2", "查询支付宝商户意愿申请状态");
+                        MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                        info.QueryCount = -1;
+                        merchant.QueryCount = -1;
+                        info.AlipayRemark = jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["msg"].ToString();
+                        LogHelper.Instance.WriteLog("start2end", "查询支付宝商户意愿申请状态");
+                        db.SaveChanges();
+                    }
+                    else if (order_status == "AUDIT_PASS")
+                    {
+                        LogHelper.Instance.WriteLog("start2", "查询支付宝商户意愿申请状态");
+                        MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                        info.QueryCount = 2;
+                        merchant.QueryCount = 2;
+                        info.AlipayRemark = "";
+                        LogHelper.Instance.WriteLog("start2end", "查询支付宝商户意愿申请状态");
+                        db.SaveChanges();
+                    }
+                    else
+                    {
+                        RedisDbconn.Instance.AddList("AlipayResultForHaoDaQueue", "{\"MerchantId\":\"" + Id + "\",\"order_no\":\"" + OrderNo + "\"}");
+                    }
+                }
+                else
+                {
+                    MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                    info.QueryCount = -1;
+                    merchant.QueryCount = -1;
+                    info.AlipayRemark = jsonObj["alipay_merchant_indirect_authorder_querystatus_response"]["msg"].ToString();
+                    db.SaveChanges();
+                }
+                db.Dispose();
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝开户意愿申请异常");
+            }
+        }
+
+        //提交微信开户意愿申请单
+        public void WeChatAddInfo(int Id)
+        {
+            try
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
+                string result = WeChatFunctionForHD.Instance.MerchantApply(info);
+                LogHelper.Instance.WriteLog(result, "提交微信商户意愿申请单");
+                if (result.Contains("\"applyment_id\":"))
+                {
+                    LogHelper.Instance.WriteLog("success", "提交微信商户意愿申请单");
+                    JsonData json = JsonMapper.ToObject(result);
+                    string applyment_id = json["applyment_id"].ToString();
+                    RedisDbconn.Instance.AddList("WeChatResultForHaoDaQueue", "{\"MerchantId\":\"" + Id + "\",\"ApplymentId\":\"" + applyment_id + "\"}");
+                    LogHelper.Instance.WriteLog("end", "提交微信商户意愿申请单");
+                }
+                else if (result.Contains("\"message\":"))
+                {
+                    LogHelper.Instance.WriteLog("false", "提交微信商户意愿申请单");
+                    MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                    JsonData jsonObj = JsonMapper.ToObject(result);
+                    info.Status = -1;
+                    merchant.Status = -1;
+                    info.WeChatRemark = jsonObj["message"].ToString();
+                    LogHelper.Instance.WriteLog("end", "提交微信商户意愿申请单");
+                    db.SaveChanges();
+                }
+                db.Dispose();
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "微信开户意愿申请异常");
+            }
+        }
+
+        //查询微信开户意愿申请状态
+        public void WeChatAddInfo(int Id, string ApplymentId)
+        {
+            try
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
+                string result = WeChatFunctionForHD.Instance.QueryMerchant(ApplymentId);
+                JsonData jsonObj = JsonMapper.ToObject(result);
+                if (jsonObj["applyment_state"].ToString() == "APPLYMENT_STATE_WAITTING_FOR_CONFIRM_CONTACT")
+                {
+                    MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                    info.Status = 1;
+                    merchant.Status = 1;
+                    info.WeChatRemark = "";
+                    info.WeChatSignUrl = jsonObj["qrcode_data"].ToString();
+                    db.SaveChanges();
+                    RedisDbconn.Instance.AddList("HaoDaAuthQueryHelper", "{\"MerchantId\":\"" + Id + "\",\"MchtNo\":\"" + info.MchtNo + "\",\"StoreNo\":\"" + info.StoreNo + "\"}");
+                }
+                else if (jsonObj["applyment_state"].ToString() == "APPLYMENT_STATE_REJECTED")
+                {
+                    MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                    info.Status = -1;
+                    merchant.Status = -1;
+                    info.WeChatRemark = jsonObj["reject_reason"].ToString();
+                    db.SaveChanges();
+                }
+                else
+                {
+                    RedisDbconn.Instance.AddList("WeChatResultForHaoDaQueue", "{\"MerchantId\":\"" + Id + "\",\"ApplymentId\":\"" + ApplymentId + "\"}");
+                }
+                db.Dispose();
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "微信开户意愿申请异常");
+            }
+        }
+
         //添加分账接收方账户
         public void AddOpenDivideAccounts(int MerchantId)
         {
@@ -53,6 +237,105 @@ namespace MySystem
             db.Dispose();
         }
 
+        public void ConfiemMer(int MerchantId)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            Models.Main1.WebCMSEntities db1 = new Models.Main1.WebCMSEntities();
+            MerchantAddInfo AddInfo = db.MerchantAddInfo.FirstOrDefault(m => m.Id == MerchantId);
+            MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
+            if (AddInfo != null && merchant != null)
+            {
+                string BusinessCode = AddInfo.BusinessCode;
+                if (string.IsNullOrEmpty(BusinessCode))
+                {
+                    BusinessCode = "LKB" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(5);
+                    AddInfo.BusinessCode = BusinessCode;
+                }
+                string pwd = AddInfo.MobilePhone.Substring(5);
+                merchant.LoginPwd = function.MD532(pwd);
+                MerchantParamSet query = db.MerchantParamSet.FirstOrDefault(m => m.Id == MerchantId);
+                if (query == null)
+                {
+                    query = new MerchantParamSet();
+                    query.IsAll = 1;
+                    db.MerchantParamSet.Add(query);
+                    db.SaveChanges();
+                }
+                MerchantForMobile merchantForMobile = db.MerchantForMobile.FirstOrDefault(m => m.Mobile == AddInfo.MobilePhone);
+                if (merchantForMobile == null)
+                {
+                    merchantForMobile = db.MerchantForMobile.Add(new MerchantForMobile()
+                    {
+                        Mobile = AddInfo.MobilePhone,
+                    }).Entity;
+                    db.SaveChanges();
+                }
+                merchantForMobile.MerchantId = MerchantId;
+                db.SaveChanges();
+                Models.Main1.MerchantLoginInfo info = db1.MerchantLoginInfo.FirstOrDefault(m => m.LoginMobile == AddInfo.MobilePhone);
+                if (info == null)
+                {
+                    info = db1.MerchantLoginInfo.Add(new Models.Main1.MerchantLoginInfo()
+                    {
+                        LoginMobile = AddInfo.MobilePhone,
+                    }).Entity;
+                    db1.SaveChanges();
+                }
+                info.LoginPwd = function.MD532(pwd);
+                db1.SaveChanges();
+                Models.Main1.MerchantAccountLinkInfo infolink = db1.MerchantAccountLinkInfo.FirstOrDefault(m => m.LoginId == info.Id && m.MerchantId == MerchantId && m.Kind == 2);
+                if (infolink == null)
+                {
+                    infolink = db1.MerchantAccountLinkInfo.Add(new Models.Main1.MerchantAccountLinkInfo()
+                    {
+                        LoginId = info.Id,
+                        MerchantId = MerchantId,
+                        Kind = 2,
+                    }).Entity;
+                    db1.SaveChanges();
+                }
+                if (AddInfo.Status <= 0)
+                {
+                    //好哒新建商户
+                    string result = HaoDaHelper.Instance.AddNewMerchant(AddNewMerchantSetUtil.SetValue(AddInfo));
+                    JsonData jsonObj = JsonMapper.ToObject(result);
+                    //创建成功
+                    if (jsonObj["resultCode"].ToString() == "1")
+                    {
+                        AddInfo.WeChatRemark = "";
+                        if (string.IsNullOrEmpty(AddInfo.MchtNo))
+                        {
+                            AddInfo.MchtNo = jsonObj["data"]["mchtNo"].ToString();
+                        }
+                        AddInfo.Status = 0;
+                        merchant.Status = 0;
+                        db.SaveChanges();
+                        QueryMerchantStatus queryMerchantStatus = new QueryMerchantStatus();
+                        queryMerchantStatus.MerchantId = MerchantId.ToString();
+                        queryMerchantStatus.MerchantNo = AddInfo.MchtNo;
+                        RedisDbconn.Instance.AddList("WeChatSignHdQueue", queryMerchantStatus);
+                    }
+                    //创建失败
+                    else
+                    {
+                        AddInfo.Status = -1;
+                        merchant.Status = -1;
+                        AddInfo.WeChatRemark = jsonObj["errorDesc"].ToString();
+                        // if (string.IsNullOrEmpty(AddInfo.MchtNo))
+                        // {
+                        //     if (jsonObj.ToJson().Contains("mchtNo"))
+                        //     {
+                        //         AddInfo.MchtNo = jsonObj["data"]["mchtNo"].ToString();
+                        //     }
+                        // }
+                        db.SaveChanges();
+                    }
+                }
+            }
+            db.Dispose();
+            db1.Dispose();
+        }
+
         //商户开通分账
         public void OpenDivideAccounts(int MerchantId)
         {

+ 5 - 0
Util/HaoDa/WeChatFunctionForHD.cs

@@ -59,6 +59,11 @@ namespace MySystem
             subject_info.Add("subject_type", SubjectType); //主体类型
 
             Dictionary<string, object> business_licence_info = new Dictionary<string, object>();
+
+            if (info.SubjectType == "SUBJECT_TYPE_SMALL")
+            {
+                info.LicenseCopy = info.IdCardCopy;
+            }
             business_licence_info.Add("licence_number", info.LicenseNumber); //注册号/统一社会信用代码
             business_licence_info.Add("licence_copy", GetMediaId("/" + info.LicenseCopy)); //营业执照照片
             business_licence_info.Add("merchant_name", info.CertMerchantName); //商户名称