Bläddra i källkod

调整开户意愿确认
添加开户意愿申请
添加自动进行实名认证
添加支付回调等
添加分账队列

DuGuYang 1 år sedan
förälder
incheckning
753d5f2c5b

+ 1 - 1
Models/Main/WebCMSEntities.cs

@@ -5731,7 +5731,7 @@ namespace MySystem.Models.Main
                     .HasCollation("utf8_general_ci");
 
                 entity.Property(e => e.WeChatSignUrl)
-                    .HasColumnType("varchar(500)")
+                    .HasColumnType("longtext")
                     .HasCharSet("utf8")
                     .HasCollation("utf8_general_ci");
 

+ 3 - 0
Startup.cs

@@ -143,6 +143,9 @@ namespace MySystem
             HaoDaExtHelper.Instance.StartAlipay();
             HaoDaExtQueryHelper.Instance.StartWeChat();
             HaoDaExtQueryHelper.Instance.StartAlipay();
+            HaoDaAuthQueryHelper.Instance.Start(); //查询实名认证状态
+            WeChatPayBackService.Instance.Start(); //支付回调
+            WeChatPayBackService.Instance.StartProfitShare(); //分账队列
         }
 
         //初始化数据结构

+ 16 - 15
Util/HaoDa/AlipayFunctionForHD.cs

@@ -28,21 +28,21 @@ namespace MySystem
 
         #region 商家认证申请单提交
         public string AuthOrderCreate(MerchantAddInfo info, string MerToken)
-        {            
+        {
             IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
-            AlipayMerchantIndirectAuthorderCreateRequest request = new AlipayMerchantIndirectAuthorderCreateRequest() ;
+            AlipayMerchantIndirectAuthorderCreateRequest request = new AlipayMerchantIndirectAuthorderCreateRequest();
             string out_biz_no = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
             string identity_type = info.SubjectType;
-            if(identity_type == "SUBJECT_TYPE_ENTERPRISE") identity_type = "ENTERPRISE";
-            if(identity_type == "SUBJECT_TYPE_INDIVIDUAL") identity_type = "IND_BIZ";
-            if(identity_type == "SUBJECT_TYPE_SMALL") identity_type = "MSE";
+            if (identity_type == "SUBJECT_TYPE_ENTERPRISE") identity_type = "ENTERPRISE";
+            if (identity_type == "SUBJECT_TYPE_INDIVIDUAL") identity_type = "IND_BIZ";
+            if (identity_type == "SUBJECT_TYPE_SMALL") identity_type = "MSE";
             string PeriodEnd = info.PeriodEnd.Value.ToString("yyyy-MM-dd");
-            if(PeriodEnd.Substring(0, 4) == "2050")
+            if (PeriodEnd.Substring(0, 4) == "2050")
             {
                 PeriodEnd = "forever";
             }
             string CardPeriodEnd = info.CardPeriodEnd.Value.ToString("yyyy-MM-dd");
-            if(CardPeriodEnd.Substring(0, 4) == "2050")
+            if (CardPeriodEnd.Substring(0, 4) == "2050")
             {
                 CardPeriodEnd = "forever";
             }
@@ -68,14 +68,14 @@ namespace MySystem
             "      \"effect_time\":\"" + info.PeriodBegin.Value.ToString("yyyy-MM-dd") + "\"," +
             "      \"expire_time\":\"" + PeriodEnd + "\"" +
             "    },";
-            if(info.SubjectType == "SUBJECT_TYPE_SMALL")
+            if (info.SubjectType == "SUBJECT_TYPE_SMALL")
             {
                 string bizAddressCode = info.BizAddressCode;
                 string province_code = "", city_code = "", district_code = "";
                 string province = "", city = "", district = "";
                 WebCMSEntities db = new WebCMSEntities();
                 OpenBankCityTable cityItem = db.OpenBankCityTable.FirstOrDefault(m => m.CityName.EndsWith(bizAddressCode));
-                if(cityItem != null)
+                if (cityItem != null)
                 {
                     district_code = cityItem.Code;
                     city_code = district_code.Substring(0, 4) + "00";
@@ -113,17 +113,17 @@ namespace MySystem
             "  }" +
             "}";
             request.BizContent = BizContent;
-            function.WriteLog(BizContent, "商家认证申请单提交异常");
-
+            function.WriteLog(BizContent, "支付宝开户意愿确认");
             string result = "";
             try
             {
                 AlipayMerchantIndirectAuthorderCreateResponse response = client.Execute(request, null, MerToken);
                 result = response.Body;
+                function.WriteLog(result, "支付宝开户意愿确认");
             }
             catch (Exception ex)
             {
-                function.WriteLog(ex.ToString(), "商家认证申请单提交异常");
+                function.WriteLog(ex.ToString(), "支付宝开户意愿确认异常");
                 result = "";
             }
             return result;
@@ -139,17 +139,18 @@ namespace MySystem
             request.BizContent = "{" +
             "  \"order_no\":\"" + OrderNo + "\"" +
             "}";
-            function.WriteLog(request.BizContent, "查询商家认证申请单状态");
+            function.WriteLog(request.BizContent, "查询支付宝商家认证申请单状态");
 
             string result = "";
             try
             {
                 AlipayMerchantIndirectAuthorderQuerystatusResponse response = client.Execute(request);
                 result = response.Body;
+                function.WriteLog(result, "查询支付宝商家认证申请单状态");
             }
             catch (Exception ex)
             {
-                function.WriteLog(ex.ToString(), "查询商家认证申请单状态异常");
+                function.WriteLog(ex.ToString(), "查询支付宝商家认证申请单状态异常");
                 result = "";
             }
             return result;
@@ -166,7 +167,7 @@ namespace MySystem
             string imageBase64 = function.imageToBase64String(function.getPath(path));
             // imageBase64 = imageBase64.Substring(imageBase64.IndexOf(";base64,") + 8);
             AntMerchantExpandIndirectImageUploadRequest request = new AntMerchantExpandIndirectImageUploadRequest();
-            FileItem imageContent = new FileItem(fileName,Convert.FromBase64String(imageBase64));
+            FileItem imageContent = new FileItem(fileName, Convert.FromBase64String(imageBase64));
             request.ImageContent = imageContent;
             request.ImageType = "jpg";
             AntMerchantExpandIndirectImageUploadResponse response = client.Execute(request);

+ 7 - 2
Util/HaoDa/CheckWeChatSignService.cs

@@ -60,7 +60,7 @@ namespace MySystem
                     MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == mId);
                     if (merchantadd != null)
                     {
-                        merchantadd.Status = 1;
+                        // merchantadd.Status = 1;
                         merchantadd.StoreNo = dic["data"]["storeNo"].ToString();
                         merchantadd.OutMchtNo = dic["data"]["outMchtNo"].ToString();
                         MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == mId);
@@ -73,7 +73,7 @@ namespace MySystem
                         //开通失败
                         if (Info["resultCode"].ToString() == "0")
                         {
-                            merchantadd.QueryCount = -1;
+                            merchantadd.Status = -1;
                             merchantadd.AlipayRemark = Info["errorDesc"].ToString();
                         }
                         //开通成功
@@ -111,6 +111,11 @@ namespace MySystem
                             }
                         }
                         db.SaveChanges();
+
+                        //开户意愿申请
+                        RedisDbconn.Instance.AddList("AlipayForHaoDaQueue",mId);
+                        RedisDbconn.Instance.AddList("WeChatForHaoDaQueue",mId);
+
                     }
                     return "wait";
                 }

+ 83 - 0
Util/HaoDa/HaoDaAuthQueryHelper.cs

@@ -0,0 +1,83 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Linq;
+using Microsoft.Extensions.Hosting;
+using MySystem;
+using MySystem.Models;
+using LitJson;
+using Library;
+using MySystem.Models.Main;
+
+public class HaoDaAuthQueryHelper
+{
+    public readonly static HaoDaAuthQueryHelper Instance = new HaoDaAuthQueryHelper();
+    private HaoDaAuthQueryHelper()
+    {
+    }
+
+    public void Start()
+    {
+        Thread th = new Thread(StartDo);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void StartDo()
+    {
+        while (true)
+        {
+            string content = RedisDbconn.Instance.RPop<string>("HaoDaAuthQueryHelper");
+            if (!string.IsNullOrEmpty(content))
+            {
+                JsonData json = JsonMapper.ToObject(content);
+                QueryAuthStatus(json["MerchantId"].ToString(), json["MchtNo"].ToString(), json["StoreNo"].ToString());
+            }
+            else
+            {
+                Thread.Sleep(10000);
+            }
+        }
+    }
+
+    public void QueryAuthStatus(string MerchantId, string MchtNo, string StoreNo)
+    {
+        try
+        {
+            var Id = int.Parse(MerchantId);
+            var jsonObj = JsonMapper.ToObject(HaoDaHelper.Instance.QueryAuthStatus(MchtNo, StoreNo));
+            //成功(已认证)
+            if (jsonObj["resultCode"].ToString() == "1")
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
+                MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                var wxcheck = jsonObj["wechatVerifyState"].ToString();
+                var alicheck = jsonObj["aliVerifyState"].ToString();
+                if (wxcheck == "1")
+                {
+                    info.Status = 2;
+                    merchant.Status = 2;
+                    info.WeChatRemark = "";
+                }
+                if (alicheck == "1")
+                {
+                    info.QueryCount = 2;
+                    merchant.QueryCount = 2;
+                    info.AlipayRemark = "";
+                }
+                if (wxcheck != "1" || alicheck != "1")
+                {
+                    RedisDbconn.Instance.AddList("HaoDaAuthQueryHelper", "{\"MerchantId\":\"" + MerchantId + "\",\"MchtNo\":\"" + info.MchtNo + "\",\"StoreNo\":\"" + info.StoreNo + "\"}");
+                }
+
+                db.SaveChanges();
+            }
+        }
+        catch (Exception ex)
+        {
+            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "查询实名认证状态异常");
+        }
+    }
+}

+ 7 - 5
Util/HaoDa/HaoDaExtQueryHelper.cs

@@ -16,7 +16,7 @@ public class HaoDaExtQueryHelper
     private HaoDaExtQueryHelper()
     {
     }
-    
+
     public void StartWeChat()
     {
         Thread th = new Thread(StartWeChatDo);
@@ -49,14 +49,15 @@ public class HaoDaExtQueryHelper
             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_FINISHED")
+            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["sign_url"].ToString();
+                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")
             {
@@ -72,7 +73,7 @@ public class HaoDaExtQueryHelper
             }
             db.Dispose();
         }
-        catch(Exception ex)
+        catch (Exception ex)
         {
             function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "微信开户意愿申请异常");
         }
@@ -123,6 +124,7 @@ public class HaoDaExtQueryHelper
                     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 + "\"}");
                 }
                 else if (order_status == "AUDIT_PASS" || order_status == "AUDIT_REJECT" || order_status == "AUDIT_FREEZE")
                 {
@@ -147,7 +149,7 @@ public class HaoDaExtQueryHelper
             }
             db.Dispose();
         }
-        catch(Exception ex)
+        catch (Exception ex)
         {
             function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝开户意愿申请异常");
         }

+ 27 - 22
Util/HaoDa/WeChatFunctionForHD.cs

@@ -55,7 +55,7 @@ namespace MySystem
             //主体资料
             Dictionary<string, object> subject_info = new Dictionary<string, object>();
             string SubjectType = info.SubjectType;
-            if(SubjectType == "SUBJECT_TYPE_SMALL") SubjectType = "SUBJECT_TYPE_MICRO";
+            if (SubjectType == "SUBJECT_TYPE_SMALL") SubjectType = "SUBJECT_TYPE_MICRO";
             subject_info.Add("subject_type", SubjectType); //主体类型
 
             Dictionary<string, object> business_licence_info = new Dictionary<string, object>();
@@ -65,12 +65,14 @@ namespace MySystem
             business_licence_info.Add("legal_person", info.CertLegalPerson); //个体户经营者/法人姓名
             business_licence_info.Add("company_address", info.BizStoreAddress); //注册地址
             string PeriodEnd = info.PeriodEnd.Value.ToString("yyyy-MM-dd");
-            if(PeriodEnd.Substring(0, 4) == "2050")
+            // if (PeriodEnd.Substring(0, 4) == "2050")
+            if (PeriodEnd.Substring(0, 4) == "9999")
             {
-                PeriodEnd = "forever";
+                // PeriodEnd = "forever";
+                PeriodEnd = "长期";
             }
             business_licence_info.Add("licence_valid_date", "[\"" + info.PeriodBegin.Value.ToString("yyyy-MM-dd") + "\",\"" + PeriodEnd + "\"]"); //营业执照有效日期
-            
+
             subject_info.Add("business_licence_info", business_licence_info); //营业执照
             result.Add("subject_info", subject_info);
 
@@ -80,15 +82,16 @@ namespace MySystem
             identification_info.Add("identification_name", RSAEncrypt(info.CertLegalPerson)); //身份证姓名
             identification_info.Add("identification_number", RSAEncrypt(info.IdCardNumber)); //身份证号码
             string CardPeriodEnd = info.CardPeriodEnd.Value.ToString("yyyy-MM-dd");
-            if(CardPeriodEnd.Substring(0, 4) == "2050")
+            if (CardPeriodEnd.Substring(0, 4) == "2050")
             {
-                CardPeriodEnd = "forever";
+                // CardPeriodEnd = "forever";
+                CardPeriodEnd = "长期";
             }
             identification_info.Add("identification_valid_date", "[\"" + info.CardPeriodBegin.Value.ToString("yyyy-MM-dd") + "\",\"" + CardPeriodEnd + "\"]"); //身份证有效期
             identification_info.Add("identification_front_copy", GetMediaId("/" + info.IdCardCopy)); //身份证件正面照片
             identification_info.Add("identification_back_copy", GetMediaId("/" + info.IdCardNational)); //身份证件反面照片
             bool owner = true;
-            if(info.SubjectType == "SUBJECT_TYPE_ENTERPRISE")
+            if (info.SubjectType == "SUBJECT_TYPE_ENTERPRISE")
             {
                 identification_info.Add("identification_address", RSAEncrypt(info.IdCardAddress)); //身份证居住地址
                 identification_info.Add("owner", owner);
@@ -97,7 +100,7 @@ namespace MySystem
 
 
             //最终受益人信息列表(UBO)----仅企业需要填写
-            if(info.SubjectType == "SUBJECT_TYPE_ENTERPRISE" && !owner)
+            if (info.SubjectType == "SUBJECT_TYPE_ENTERPRISE" && !owner)
             {
                 List<Dictionary<string, object>> ubo_info_list = new List<Dictionary<string, object>>();
                 Dictionary<string, object> ubo_info_list_item = new Dictionary<string, object>();
@@ -108,7 +111,7 @@ namespace MySystem
                 ubo_info_list_item.Add("ubo_id_doc_number", RSAEncrypt(info.IdCardNumber)); //身份证号码
                 ubo_info_list_item.Add("ubo_id_doc_address", RSAEncrypt(info.IdCardAddress)); //身份证居住地址
                 ubo_info_list_item.Add("ubo_period_begin", info.CardPeriodBegin.Value.ToString("yyyy-MM-dd")); //身份证有效期
-                if(CardPeriodEnd == "forever")
+                if (CardPeriodEnd == "forever")
                 {
                     CardPeriodEnd = "长期";
                 }
@@ -141,9 +144,11 @@ namespace MySystem
             {
                 result = postJson("https://api.mch.weixin.qq.com/v3/apply4subject/applyment?applyment_id=" + BusinessCode, "", "GET");
                 //"{\"applyment_state\":\"APPLYMENT_STATE_REJECTED\",\"reject_param\":\"licence_valid_date|cert_valid_date\",\"reject_reason\":\"有效期开始日期填写有误,请填写与营业执照上一致的开始日期,如影印件上无开始日期请填写成立日期/注册日期;有效期结束日期填写有误,请填写与营业执照上一致的日期,如影印件上无结束日期请填写“长期”\"}"
-                
+
                 //{\"applyment_id\":2000002247709762,\"applyment_state\":\"APPLYMENT_STATE_FINISHED\",\"applyment_state_msg\":\"商户入驻申请已完成\",\"audit_detail\":[],\"business_code\":\"0123456789\",\"sign_url\":\"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQFv7zwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyUXE1czkzb3JlUjIxZHpXbTF5Y2YAAgRjbe9hAwQAjScA\",\"sub_mchid\":\"1619775262\"}
-                
+                function.WriteLog(BusinessCode, "间连商户开户意愿确认(提交申请单)查询申请单状态-请求参数");
+                function.WriteLog(result, "间连商户开户意愿确认(提交申请单)查询申请单状态");
+
             }
             catch (Exception ex)
             {
@@ -152,13 +157,13 @@ namespace MySystem
             return result;
         }
         #endregion
-        
+
 
 
         #region 获取平台证书
 
         public string GetPlatCert()
-        { 
+        {
             string merchantId = MchId;   //商户号
             string result = postJson("https://api.mch.weixin.qq.com/v3/certificates", "", "GET");
             return result;
@@ -204,7 +209,7 @@ namespace MySystem
             //     Encoding.UTF8.GetBytes(nonce), 
             //     Encoding.UTF8.GetBytes(associatedData));
             // gcmBlockCipher.Init(false, aeadParameters);
-    
+
             // byte[] data = Convert.FromBase64String(ciphertext);
             // byte[] plaintext = new byte[gcmBlockCipher.GetOutputSize(data.Length)];
             // int length = gcmBlockCipher.ProcessBytes(data, 0, data.Length, plaintext, 0);
@@ -307,16 +312,16 @@ namespace MySystem
                 builder.Append(hash[i].ToString("x2"));
             }
             var sha256 = builder.ToString();
-            string metaStr = "{\"filename\":\""+ filename + "\",\"sha256\":\"" + sha256 + "\"}";
+            string metaStr = "{\"filename\":\"" + filename + "\",\"sha256\":\"" + sha256 + "\"}";
             media_id = UploadImgApi(metaStr, imgBytesIn, filename);
             RedisDbconn.Instance.Set(key, media_id);
             return media_id;
         }
 
-        public string UploadImgApi(string metaStr, Byte[] imgBytesIn,string filename)
+        public string UploadImgApi(string metaStr, Byte[] imgBytesIn, string filename)
         {
             string url = "https://api.mch.weixin.qq.com/v3/merchant/media/upload";
-            
+
             string merchantId = MchId;   //商户号
             string privateKey = prikey;
             #region 定义请求体中的内容 并转成二进制
@@ -335,16 +340,16 @@ namespace MySystem
                 + Enter
                 + "--" + boundary
                 + Enter
-                + "Content-Disposition:form-data;name=\"file\";filename=\""+ filename + "\";"
+                + "Content-Disposition:form-data;name=\"file\";filename=\"" + filename + "\";"
                 + Enter
                 + "Content-Type:image/jpeg"
                 + Enter
                 + Enter;
             byte[] byteData2
                 = imgBytesIn;
-            string campaignIDStr3 
+            string campaignIDStr3
                 = Enter
-                + "--" + boundary 
+                + "--" + boundary
                 + Enter;
             var byteData1 = System.Text.Encoding.UTF8.GetBytes(campaignIDStr1);
 
@@ -352,7 +357,7 @@ namespace MySystem
             #endregion
 
             string transactionsResponse = UploadImg_postJson(url, byteData1, byteData2, byteData3, metaStr, privateKey, merchantId, serialNo, boundary, "POST");
-            var result=JsonMapper.ToObject(transactionsResponse);
+            var result = JsonMapper.ToObject(transactionsResponse);
             return result["media_id"].ToString();
         }
         public string UploadImg_postJson(string url, byte[] b1, byte[] b2, byte[] b3, string metaStr, string privateKey, string merchantId, string serialNo, string boundary, string method = "POST")
@@ -436,7 +441,7 @@ namespace MySystem
         #region 获取文件sha256
 
         public string GetSha256(FileStream stream)
-        { 
+        {
             using (SHA256 mySHA256 = SHA256.Create())
             {
                 byte[] hashValue = mySHA256.ComputeHash(stream);

+ 19 - 22
Util/HaoDa/WeChatPayBackService.cs

@@ -57,30 +57,26 @@ namespace MySystem
                 string OrderNo = jsonObj["outOrderNo"].ToString();
                 string TradeNo = jsonObj["orderNo"].ToString();
                 WebCMSEntities db = new WebCMSEntities();
-                ConsumerOrderForNo forNo = db.ConsumerOrderForNo.FirstOrDefault(m => m.OrderNo == OrderNo);
-                if (forNo != null)
+                ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.OrderNo == OrderNo && m.Status == 0);
+                if (order != null)
                 {
-                    ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == forNo.OrderIds && m.Status == 0);
-                    if (order != null)
+                    order.Status = 1;
+                    order.UpdateDate = DateTime.Now;
+                    order.PayMoney = order.PayMoney;
+                    order.MaxDivi = order.MaxDivi;
+                    order.SeoTitle = TradeNo;
+                    MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == order.MerchantId) ?? new MerchantInfo();
+                    order.UserId = merchant.UserId;
+                    ConsumerOrders check = db.ConsumerOrders.FirstOrDefault(m => m.Id < order.Id && m.Status > 0 && m.PayMode == order.PayMode && m.MerchantId == order.MerchantId);
+                    if (check != null)
                     {
-                        order.Status = 1;
-                        order.UpdateDate = DateTime.Now;
-                        order.PayMoney = order.PayMoney;
-                        order.MaxDivi = order.MaxDivi;
-                        order.SeoTitle = TradeNo;
-                        MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == order.MerchantId) ?? new MerchantInfo();
-                        order.UserId = merchant.UserId;
-                        ConsumerOrders check = db.ConsumerOrders.FirstOrDefault(m => m.Id < order.Id && m.Status > 0 && m.PayMode == order.PayMode && m.MerchantId == order.MerchantId);
-                        if (check != null)
-                        {
-                            order.QueryCount = check.QueryCount + 1;
-                        }
-                        else
-                        {
-                            order.QueryCount = 1;
-                        }
-                        db.SaveChanges();
+                        order.QueryCount = check.QueryCount + 1;
                     }
+                    else
+                    {
+                        order.QueryCount = 1;
+                    }
+                    db.SaveChanges();
                 }
                 db.Dispose();
             }
@@ -121,10 +117,11 @@ namespace MySystem
                                 {
                                     string applyNo = "FZ" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8); //批次号
                                     string mchtNo = merchantAdd.OutMchtNo; //慧掌柜商户号
-                                    string orderNo = order.OrderNo; //交易订单号(好哒平台订单号,G开头)
+                                    string orderNo = order.SeoTitle; //交易订单号(好哒平台订单号,G开头)
                                     string acctNo = AppConfig.Haoda.AcctNo; //账户号,账户类型为商户收款账户时填收款商户号, 账户类型为分账接收方时填分账接收方账户号
                                     string acctType = "1"; //账户类型(0:商户收款账户(大B),1:分账接收方账户(小B))
                                     string amount = (fee * (1M - 0.0038M)).ToString(); //金额(分)
+                                    amount = decimal.Parse(amount).ToString("f0");
                                     HaoDaHelper.Instance.OrderDivideAccounts(OrderDivideAccountsUtil.AddValue(applyNo, mchtNo, orderNo, acctNo, acctType, amount));
 
                                     //开始监听分账状态

+ 1 - 1
appsettings.Development.json

@@ -12,7 +12,7 @@
     "Database": "TpAdminServer",
     "SqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer;charset=utf8;",
     "BsSqlConnStr": "server=47.109.31.237;port=3306;user=KxsBsServer;password=wyA1bEhi6aAkN8SB;database=KxsBsServer;charset=utf8;",
-    "RedisConnStr": "47.109.31.237:6379,password=klm@redis,DefaultDatabase=1,poolsize=500,preheat=50,asyncPipeline=true",
+    "RedisConnStr": "47.109.31.237:6379,password=klm@redis,DefaultDatabase=5,poolsize=500,preheat=50,asyncPipeline=true",
     "IOSAppVersion": "1.0.0",
     "AndroidAppVersion": "1.0.0",
     "OSSKey": "iL9dWgBunZRwGbHQ",