Przeglądaj źródła

修复商户进件、签约流程
修复进件失败流程
增加删除数据同步mysql数据
增加微信支付宝回调执行服务程序

lichunlei 3 lat temu
rodzic
commit
44dc2e28cb

+ 4 - 0
AppStart/Alipay/AlipayFunction.cs

@@ -40,6 +40,7 @@ namespace MySystem
             {
                 AlipayOpenAgentCreateResponse response = client.Execute(request);
                 result = response.Body;
+                function.WriteLog(result, "开启事务");
                 //{"alipay_open_agent_create_response":{"code":"10000","msg":"Success","batch_no":"2022021011321326200059849","batch_status":"init"},"sign":"su+weyK1CZEXES8mdckalg16J4BELTQeVNJSpXVYg3nh5g3E7jDh/mQctkjH8HbM0RybQSahZ2j60aUTossPMXqdq2nPRkR4c/kM34toFFNU/2p7jqo9k/MbB1JotW+qFI+C/GCX/9mZQqm2tSQdYIiZlCsEtP13ZP2EQ6momEZrApyLQYUl1H54PojJgqo6zGKDXTnXuZcpi/VPP5YoWhYMx8WPFMS6+T3zr+LNPDOI94j5vDdUHQdjFAGiQMyyhfNOBcFFi18bAfWhPqlLWwblCZamTHN/QaOHo+fkBZeo9uKqrnSHPn8XW0tDAIf1qNUfY2eBzYZUIqWKbz509A=="}
             }
             catch (Exception ex)
@@ -107,6 +108,7 @@ namespace MySystem
             {
                 AlipayOpenAgentCommonSignResponse response = client.Execute(request);
                 result = response.Body;
+                function.WriteLog(result, "代商家发起签约产品申请");
                 //{"alipay_open_agent_common_sign_response":{"code":"10000","msg":"Success"},"sign":"qt0DiXFXIJ7mX+W2+IX+cyYXx8ROGe8yxesXHGNltxpEv/s/zW16xzf4HQLtUlaAiWf3DiD2QV7Hj+REyoZw9AcktDAmlobcjQ28lTYufPECZoUJHpkn9VpGB932FC0hScVwCbsxQakH84MGT4cmjr1hCuSs7+XogdhlCTIKjau1e7ZglLnt7f1NqT8JnljVhmvkkE9gJTLq5H+Zq6XbFfBVptvM9w09HdjfhrsxAXJyQ4yU6JYX2tUYsRGz8ZrveDQMvXKTN9jnwKE9hh8ik6Sq49eUqfutV9GkKqhC96+Vy3nOTOTnPoECXZkco1wP5jsqHottWVsRV+NxdylnTw=="}
             }
             catch (Exception ex)
@@ -129,6 +131,7 @@ namespace MySystem
             {
                 AlipayOpenAgentCommonsignConfirmResponse response = client.Execute(request);
                 result = response.Body;
+                function.WriteLog(result, "提交信息确认");
                 //{"alipay_open_agent_order_query_response":{"code":"10000","msg":"Success","order_no":"20220210034000100000015895929361","product_agent_status_infos":[{"product_code":"QUICK_WAP_WAY","product_name":"手机网站支付","status":"WAIT_CONFIRM"}],"order_status":"MERCHANT_CONFIRM","confirm_url":"https:\/\/openhome.alipay.com\/isv\/settling\/confirm.htm?orderNo=20220210034000100000015895929361","merchant_pid":"2088012934025363"},"sign":"mgdhauHMV9352S3FVrQmesXvHOrk633FX/EOXRYdc2ix5phCBZJ2KZRRP9MWJ566YEtWbnQlAJzHVS9X29hjgiJWOQ/wCidql4AoSAYYeqPtxiqKAZw/QEM/du5AdbWC0xBmmkQljXF9Hx8cm+IrOyPMSJXIw4Tqpm/T96YBwhsjw4Xr5dcUcvF6HX9h/i5FSdIJODxQ26PJcqQ98GQ3Y50YhTpPQkIPDFVE2QzcL6dvuhBOpwu5KbTxvgzS8Wtm3G6nMbzJ33Cv/I2lhTCIMHz90c9bvyjJpWxPWBzywO2zzv7+EZCbDkZGkdRic9l5s6qac+ZVMHkPbveaZ2wyig=="}
             }
             catch (Exception ex)
@@ -154,6 +157,7 @@ namespace MySystem
             {
                 AlipayOpenAgentOrderQueryResponse response = client.Execute(request);
                 result = response.Body;
+                function.WriteLog(result, "查询签约申请的结果");
             }
             catch (Exception ex)
             {

+ 75 - 0
AppStart/Helper/AlipayPayBackService.cs

@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class AlipayPayBackService
+    {
+        public readonly static AlipayPayBackService Instance = new AlipayPayBackService();
+        private AlipayPayBackService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                dosomething();
+                string Msg = "success";
+                jobInfo.Status = Msg == "success" ? 1 : 0;
+                jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    TendisDbconn.Instance.AddList("public_err", data);
+                }
+                else
+                {
+                    TendisDbconn.Instance.AddList("public_service", DateTime.Now.ToString() + ":" + ex.ToString());
+                }
+            }
+        }
+
+        private void dosomething()
+        { 
+            bool op = true;
+            while (op)
+            {
+                string content = TendisDbconn.Instance.RPop<string>("PayCallBack");
+                if (!string.IsNullOrEmpty(content))
+                {
+                    JsonData jsonObj = JsonMapper.ToObject(content);
+                    string OrderNo = jsonObj["out_trade_no"].ToString();
+                    string TradeNo = jsonObj["transaction_id"].ToString();
+                    decimal TotalFee = decimal.Parse(function.CheckNum(jsonObj["total_fee"].ToString()));
+                    WebCMSEntities db = new WebCMSEntities();
+                    ConsumerOrderForNo forNo = db.ConsumerOrderForNo.FirstOrDefault(m => m.OrderNo == OrderNo);
+                    if (forNo != null)
+                    {
+                        ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == forNo.OrderIds);
+                        if (order != null)
+                        {
+                            order.Status = 1;
+                            order.UpdateDate = DateTime.Now;
+                        }
+                    }
+                    db.Dispose();
+                }
+                else
+                {
+                    op = false;
+                }
+            }
+        }
+    }
+}

+ 38 - 25
AppStart/Helper/CheckAlipaySignService.cs

@@ -4,6 +4,7 @@ using System.Linq;
 using MySystem.Models;
 using Library;
 using LitJson;
+using System.Text.RegularExpressions;
 
 namespace MySystem
 {
@@ -17,19 +18,19 @@ namespace MySystem
         {
             try
             {
-                WebCMSEntities db = new WebCMSEntities();
+                PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                 List<MerchantSign> deletes = new List<MerchantSign>();
-                List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("AliaySignList", 1, 10000000);
+                List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("AlipaySignList", 1, 10000000); // TODO: 换成mysql存储遍历
                 foreach (MerchantSign sign in signs)
                 {
-                    string content = new AlipayFunction().CommonSignConfirm(sign.BusinessCode);
+                    string content = new AlipayFunction().QuerySignStatus(sign.BusinessCode);
                     JsonData dic = JsonMapper.ToObject(content);
                     if (dic["alipay_open_agent_order_query_response"]["code"].ToString() == "10000")
                     {
                         if (dic["alipay_open_agent_order_query_response"]["order_status"].ToString() == "MERCHANT_CONFIRM")
                         {
                             string sign_url = dic["alipay_open_agent_order_query_response"]["confirm_url"].ToString();
-                            MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.QueryCount == 0);
+                            PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.QueryCount == 0);
                             if (merchantadd != null)
                             {
                                 merchantadd.QueryCount = 1;
@@ -43,38 +44,22 @@ namespace MySystem
                                     SignUrlList = "Alipay:" + sign_url+ ";" + SignUrlList;
                                 }
                                 merchantadd.SeoKeyword = SignUrlList;
+                                merchantadd.SeoTitle = dic["alipay_open_agent_order_query_response"]["merchant_pid"].ToString();
                                 db.SaveChanges();
-                                PxcModels.WebCMSEntities dbpxc = new PxcModels.WebCMSEntities();
-                                PxcModels.MerchantAddInfo merchantadd2 = dbpxc.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.QueryCount == 0);
-                                if (merchantadd2 != null)
-                                {
-                                    merchantadd2.QueryCount = 1;
-                                    merchantadd2.SeoKeyword = SignUrlList;
-                                    dbpxc.SaveChanges();
-                                }
-                                dbpxc.Dispose();
                                 BothdisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
                             }
                         }
                         else if (dic["alipay_open_agent_order_query_response"]["order_status"].ToString() == "MERCHANT_CONFIRM_SUCCESS")
                         {
-                            MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.QueryCount == 1);
+                            PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.QueryCount == 1);
                             if (merchantadd != null)
                             {
                                 merchantadd.QueryCount = 2;
                                 db.SaveChanges();
-                                PxcModels.WebCMSEntities dbpxc = new PxcModels.WebCMSEntities();
-                                PxcModels.MerchantAddInfo merchantadd2 = dbpxc.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.QueryCount == 1);
-                                if (merchantadd2 != null)
-                                {
-                                    merchantadd2.QueryCount = 2;
-                                    dbpxc.SaveChanges();
-                                }
-                                dbpxc.Dispose();
                                 BothdisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
-                                MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
-                                List<MerchantInfo> merchants = RedisDbconn.Instance.GetList<MerchantInfo>("TmpMerchantInfo:" + merchant.UserId, 1, 1000000);
-                                MerchantInfo check = merchants.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                List<PxcModels.MerchantInfo> merchants = RedisDbconn.Instance.GetList<PxcModels.MerchantInfo>("TmpMerchantInfo:" + merchant.UserId, 1, 1000000);
+                                PxcModels.MerchantInfo check = merchants.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
                                 if (check != null)
                                 {
                                     merchants.Remove(check);
@@ -84,6 +69,34 @@ namespace MySystem
                                 deletes.Add(sign);
                             }
                         }
+                        else if (dic["alipay_open_agent_order_query_response"]["order_status"].ToString() == "MERCHANT_APPLY_ORDER_CANCELED")
+                        { 
+                            PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchantadd != null)
+                            {
+                                string Season = function.CheckNull(merchantadd.SeoDescription);
+                                if (string.IsNullOrEmpty(Season))
+                                {
+                                    Season = "Alipay:" + dic["alipay_open_agent_order_query_response"]["reject_reason"].ToString() + ";";
+                                }
+                                else
+                                {
+                                    Season = Regex.Replace(Season, "Alipay:.*?;", "");
+                                    Season += "Alipay:" + dic["alipay_open_agent_order_query_response"]["reject_reason"].ToString() + ";";
+                                }
+                                merchantadd.SeoDescription = Season;
+                                merchantadd.QueryCount = -1;
+                                db.SaveChanges();
+                                BothdisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                                PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                if (merchant != null)
+                                {
+                                    merchant.Status = -1;
+                                    BothdisDbconn.Instance.Set("MerchantInfo:" + sign.MerchantAddInfoId, merchant);
+                                }
+                                deletes.Add(sign);
+                            }
+                        }
                     }
                 }
                 if (deletes.Count > 0)

+ 42 - 21
AppStart/Helper/CheckWeChatSignService.cs

@@ -4,6 +4,7 @@ using System.Linq;
 using MySystem.Models;
 using Library;
 using LitJson;
+using System.Text.RegularExpressions;
 
 namespace MySystem
 {
@@ -17,9 +18,9 @@ namespace MySystem
         {
             try
             {
-                WebCMSEntities db = new WebCMSEntities();
+                PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                 List<MerchantSign> deletes = new List<MerchantSign>();
-                List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("WeChatSignList", 1, 10000000);
+                List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("WeChatSignList", 1, 10000000); // TODO: 换成mysql存储遍历
                 foreach (MerchantSign sign in signs)
                 {
                     Dictionary<string, object> dic = new WeChatFunction().QueryMerchant(sign.BusinessCode);
@@ -27,7 +28,7 @@ namespace MySystem
                     {
                         string sign_url = dic["sign_url"].ToString();
                         string sub_mchid = dic["sub_mchid"].ToString();
-                        MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.Status == 0);
+                        PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.Status == 0);
                         if (merchantadd != null)
                         {
                             merchantadd.Status = 1;
@@ -42,36 +43,28 @@ namespace MySystem
                                 SignUrlList += "WeChat:" + sign_url+ ";";
                             }
                             merchantadd.SeoKeyword = SignUrlList;
-                            db.SaveChanges();
-                            PxcModels.WebCMSEntities dbpxc = new PxcModels.WebCMSEntities();
-                            PxcModels.MerchantAddInfo merchantadd2 = dbpxc.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.Status == 0);
-                            if (merchantadd2 != null)
+                            PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchantadd.Status > 0 && merchantadd.QueryCount > 0)
                             {
-                                merchantadd2.Status = 1;
-                                merchantadd2.SeoKeyword = SignUrlList;
-                                dbpxc.SaveChanges();
+                                merchant.Status = 1;
                             }
-                            dbpxc.Dispose();
+                            db.SaveChanges();
                             BothdisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
                         }
                     }
                     else if (dic["applyment_state"].ToString() == "APPLYMENT_STATE_FINISHED")
                     { 
-                        MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.Status == 1);
+                        PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.Status == 1);
                         if (merchantadd != null)
                         {
                             merchantadd.Status = 2;
-                            db.SaveChanges();
-                            PxcModels.WebCMSEntities dbpxc = new PxcModels.WebCMSEntities();
-                            PxcModels.MerchantAddInfo merchantadd2 = dbpxc.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.Status == 1);
-                            if (merchantadd2 != null)
+                            BothdisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                            PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchantadd.Status == 2 && merchantadd.QueryCount == 2)
                             {
-                                merchantadd2.Status = 2;
-                                dbpxc.SaveChanges();
+                                merchant.Status = 2;
                             }
-                            dbpxc.Dispose();
-                            BothdisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
-                            MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            db.SaveChanges();
                             List<MerchantInfo> merchants = RedisDbconn.Instance.GetList<MerchantInfo>("TmpMerchantInfo:" + merchant.UserId, 1, 1000000);
                             MerchantInfo check = merchants.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
                             if (check != null)
@@ -83,6 +76,34 @@ namespace MySystem
                             deletes.Add(sign);
                         }
                     }
+                    else if (dic["applyment_state"].ToString() == "APPLYMENT_STATE_REJECTED")
+                    {
+                        PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                        if (merchantadd != null)
+                        {
+                            string Season = function.CheckNull(merchantadd.SeoDescription);
+                            if (string.IsNullOrEmpty(Season))
+                            {
+                                Season = "WeChat:" + dic["reject_reason"].ToString() + ";";
+                            }
+                            else
+                            {
+                                Season = Regex.Replace(Season, "WeChat:.*?;", "");
+                                Season += "WeChat:" + dic["reject_reason"].ToString() + ";";
+                            }
+                            merchantadd.SeoDescription = Season;
+                            merchantadd.Status = -1;
+                            db.SaveChanges();
+                            BothdisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                            PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchant != null)
+                            {
+                                merchant.Status = -1;
+                                BothdisDbconn.Instance.Set("MerchantInfo:" + sign.MerchantAddInfoId, merchant);
+                            }
+                            deletes.Add(sign);
+                        }
+                    }
                 }
                 if (deletes.Count > 0)
                 {

+ 4 - 1
AppStart/Helper/DelMySql/DeleteMySqlDataService.cs

@@ -19,7 +19,10 @@ namespace MySystem
                 string[] data = TableString.Split(':');
                 int Id = int.Parse(function.CheckInt(data[1]));
                 string Table = data[0];
-                
+                dbconn.op("delete from " + Table + " where Id=" + Id);
+                OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+                OtherMySqlConn.op("delete from " + Table + " where Id=" + Id);
+                OtherMySqlConn.connstr = "";
             }
             catch (Exception ex)
             {

+ 7 - 2
AppStart/Helper/MakeReferenceQrCodeService.cs

@@ -28,14 +28,19 @@ namespace MySystem
                         user.ReferenceQrCode = path.Replace("//", "/").Replace("bsserver_com/", "");
                         db.SaveChanges();
                         PxcModels.WebCMSEntities pxcdb = new PxcModels.WebCMSEntities();
-                        Users tmpuser = db.Users.FirstOrDefault(m => m.Id == UserId);
+                        PxcModels.Users tmpuser = pxcdb.Users.FirstOrDefault(m => m.Id == UserId);
                         if (tmpuser != null)
                         {
                             tmpuser.ReferenceQrCode = user.ReferenceQrCode;
                             pxcdb.SaveChanges();
                         }
                         pxcdb.Dispose();
-                        BothdisDbconn.Instance.SendMq("Pop:Users", user);
+                        PxcModels.Users editUser = BothdisDbconn.Instance.Get<PxcModels.Users>("Users:" + UserId);
+                        if (editUser != null)
+                        {
+                            editUser.ReferenceQrCode = user.ReferenceQrCode;
+                            BothdisDbconn.Instance.Set("Users:" + UserId, editUser);
+                        }
                     }
                     db.Dispose();
                 }

+ 159 - 100
AppStart/Helper/MerchantConfirmService.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Text.RegularExpressions;
 using MySystem.Models;
 using Library;
 using LitJson;
@@ -13,14 +14,14 @@ namespace MySystem
         private MerchantConfirmService()
         { }
 
-        public void Start(string MerchantIdString)
+        public void Start(string MerchantIdString, int Kind = 0)
         {
             try
             {
                 int MerchantId = int.Parse(function.CheckInt(MerchantIdString));
-                WebCMSEntities db = new WebCMSEntities();
-                MerchantAddInfo AddInfo = db.MerchantAddInfo.FirstOrDefault(m => m.Id == MerchantId);
-                MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
+                PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
+                PxcModels.MerchantAddInfo AddInfo = db.MerchantAddInfo.FirstOrDefault(m => m.Id == MerchantId);
+                PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
                 if (AddInfo != null && merchant != null)
                 {
                     string BusinessCode = AddInfo.BusinessCode;
@@ -28,86 +29,28 @@ namespace MySystem
                     { 
                         BusinessCode = "KXS" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(5);
                         AddInfo.BusinessCode = BusinessCode;
-                        db.SaveChanges();
                     }
+                    merchant.LoginPwd = function.MD532(AddInfo.MobilePhone.Substring(6));
+                    db.SaveChanges();
                     List<MerchantInfo> merchants = TendisDbconn.Instance.GetList<MerchantInfo>("MerchantList:" + merchant.UserId, 1, 10000000);
-                    
-                    //微信
-                    string result = new WeChatFunction().MerchantCreate(AddInfo, merchant);
-                    if (result.Contains("\"applyment_id\":"))
-                    {
-                        JsonData jsonObj = JsonMapper.ToObject(result);
-                        AddInfo.ApplymentId = jsonObj["applyment_id"].ToString();
-                        db.SaveChanges();
-                        List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("MerchantSignList", 1, 10000000);
-                        bool op = signs.Any(m => m.BusinessCode == BusinessCode);
-                        if (!op)
-                        {
-                            TendisDbconn.Instance.AddList("WeChatSignList", new MerchantSign()
-                            {
-                                BusinessCode = BusinessCode,
-                                MerchantAddInfoId = MerchantId,
-                                Status = ""
-                            });
-                        }
-                        signs.Clear();
-                        if (merchants.Any(m => m.Id == merchant.Id) == false)
-                        {
-                            BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
-                        }
-                    }
-                    else if (result.Contains("\"message\":"))
-                    {
-                        JsonData jsonObj = JsonMapper.ToObject(result);
-                        AddInfo.Status = -1;
-                        string Season = function.CheckNull(AddInfo.SeoDescription);
-                        if (string.IsNullOrEmpty(Season))
-                        {
-                            Season = "WeChat:" + jsonObj["message"].ToString() + ";";
-                        }
-                        else
-                        {
-                            Season += "WeChat:" + jsonObj["message"].ToString()+ ";";
-                        }
-                        AddInfo.SeoDescription = Season;
-                        db.SaveChanges();
-                        if (merchants.Any(m => m.Id == merchant.Id) == false)
-                        {
-                            BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
-                        }
-                        List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("WeChatSignList", 1, 10000000);
-                        MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
-                        if (sign != null)
-                        {
-                            signs.Remove(sign);
-                            TendisDbconn.Instance.Clear("WeChatSignList");
-                            TendisDbconn.Instance.AddList("WeChatSignList", signs.ToArray());
-                        }
-                    }
 
-                    //支付宝
-                    bool checkAlipay = true;
-                    string content = new AlipayFunction().GetBatchNo(AddInfo.CreateMan, AddInfo.IdCardName, AddInfo.MobilePhone, AddInfo.ContactEmail);
-                    JsonData json = JsonMapper.ToObject(content);
-                    if (json["alipay_open_agent_create_response"]["code"].ToString() == "1000")
+                    //微信
+                    if (Kind == 0 || Kind == 2)
                     {
-                        string batch_no = json["alipay_open_agent_create_response"]["batch_no"].ToString();
-                        string Qualifications = AddInfo.Qualifications;
-                        if (!string.IsNullOrEmpty(Qualifications))
-                        {
-                            Qualifications = function.getPath("/bsserver_com" + Qualifications);
-                        }
-                        content = new AlipayFunction().CommonSign(batch_no, AddInfo.UpdateMan, AddInfo.LicenseNumber, function.getPath("/bsserver_com" + AddInfo.LicenseCopy), Qualifications);
-                        json = JsonMapper.ToObject(content);
-                        if (json["alipay_open_agent_common_sign_response"]["code"].ToString() == "1000")
+                        string result = new WeChatFunction().MerchantCreate(AddInfo, merchant);
+                        if (result.Contains("\"applyment_id\":"))
                         {
+                            JsonData jsonObj = JsonMapper.ToObject(result);
+                            AddInfo.ApplymentId = jsonObj["applyment_id"].ToString();
+                            AddInfo.Status = 0;
+                            db.SaveChanges();
                             List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("MerchantSignList", 1, 10000000);
-                            bool op = signs.Any(m => m.BusinessCode == batch_no);
+                            bool op = signs.Any(m => m.BusinessCode == BusinessCode);
                             if (!op)
                             {
-                                TendisDbconn.Instance.AddList("AlipaySignList", new MerchantSign()
+                                TendisDbconn.Instance.AddList("WeChatSignList", new MerchantSign()
                                 {
-                                    BusinessCode = batch_no,
+                                    BusinessCode = BusinessCode,
                                     MerchantAddInfoId = MerchantId,
                                     Status = ""
                                 });
@@ -117,44 +60,160 @@ namespace MySystem
                             {
                                 BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
                             }
+                            else
+                            {
+                                PxcModels.MerchantAddInfo merchantAddInfo = BothdisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
+                                if (merchantAddInfo != null)
+                                {
+                                    merchantAddInfo.ApplymentId = AddInfo.ApplymentId;
+                                    merchantAddInfo.Status = AddInfo.Status;
+                                    BothdisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
+                                }
+                            }
                         }
-                        else
+                        else if (result.Contains("\"message\":"))
                         {
-                            checkAlipay = false;
+                            JsonData jsonObj = JsonMapper.ToObject(result);
+                            AddInfo.Status = -1;
+                            merchant.Status = -1;
+                            string Season = function.CheckNull(AddInfo.SeoDescription);
+                            if (string.IsNullOrEmpty(Season))
+                            {
+                                Season = "WeChat:" + jsonObj["message"].ToString() + ";";
+                            }
+                            else
+                            {
+                                Season = Regex.Replace(Season, "WeChat:.*?;", "");
+                                Season += "WeChat:" + jsonObj["message"].ToString() + ";";
+                            }
+                            AddInfo.SeoDescription = Season;
+                            db.SaveChanges();
+                            if (merchants.Any(m => m.Id == merchant.Id) == false)
+                            {
+                                BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
+                            }
+                            else
+                            {
+                                PxcModels.MerchantAddInfo merchantAddInfo = BothdisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
+                                if (merchantAddInfo != null)
+                                {
+                                    merchantAddInfo.SeoDescription = AddInfo.SeoDescription;
+                                    merchantAddInfo.Status = AddInfo.Status;
+                                    BothdisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
+                                }
+                            }
+                            List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("WeChatSignList", 1, 10000000);
+                            MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
+                            if (sign != null)
+                            {
+                                signs.Remove(sign);
+                                TendisDbconn.Instance.Clear("WeChatSignList");
+                                TendisDbconn.Instance.AddList("WeChatSignList", signs.ToArray());
+                            }
                         }
                     }
-                    else
-                    {
-                        checkAlipay = false;
-                    }
-                    if(!checkAlipay)
+
+                    //支付宝
+                    if (Kind == 0 || Kind == 1)
                     {
-                        JsonData jsonObj = JsonMapper.ToObject(content);
-                        AddInfo.QueryCount = -1;
-                        string Season = function.CheckNull(AddInfo.SeoDescription);
-                        if (string.IsNullOrEmpty(Season))
+                        bool checkAlipay = true;
+                        string content = new AlipayFunction().GetBatchNo(AddInfo.CreateMan, AddInfo.IdCardName, AddInfo.MobilePhone, AddInfo.ContactEmail);
+                        JsonData json = JsonMapper.ToObject(content);
+                        if (json["alipay_open_agent_create_response"]["code"].ToString() == "10000")
                         {
-                            Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString() + ";";
+                            string batch_no = json["alipay_open_agent_create_response"]["batch_no"].ToString();
+                            string Qualifications = AddInfo.Qualifications;
+                            if (!string.IsNullOrEmpty(Qualifications))
+                            {
+                                Qualifications = function.getPath("/bsserver_com" + Qualifications);
+                            }
+                            content = new AlipayFunction().CommonSign(batch_no, AddInfo.UpdateMan, AddInfo.LicenseNumber, function.getPath("/bsserver_com" + AddInfo.LicenseCopy), Qualifications);
+                            json = JsonMapper.ToObject(content);
+                            if (json["alipay_open_agent_common_sign_response"]["code"].ToString() == "10000")
+                            {
+                                content = new AlipayFunction().CommonSignConfirm(batch_no);
+                                json = JsonMapper.ToObject(content);
+                                if (json["alipay_open_agent_commonsign_confirm_response"]["code"].ToString() == "10000")
+                                {
+                                    AddInfo.QueryCount = 0;
+                                    AddInfo.SeoTitle = batch_no;
+                                    db.SaveChanges();
+                                    List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("MerchantSignList", 1, 10000000);
+                                    bool op = signs.Any(m => m.BusinessCode == batch_no);
+                                    if (!op)
+                                    {
+                                        TendisDbconn.Instance.AddList("AlipaySignList", new MerchantSign()
+                                        {
+                                            BusinessCode = batch_no,
+                                            MerchantAddInfoId = MerchantId,
+                                            Status = ""
+                                        });
+                                    }
+                                    signs.Clear();
+                                    if (merchants.Any(m => m.Id == merchant.Id) == false)
+                                    {
+                                        BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
+                                    }
+                                }
+                                else
+                                {
+                                    checkAlipay = false;
+                                }
+                            }
+                            else
+                            {
+                                checkAlipay = false;
+                            }
                         }
                         else
                         {
-                            Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString()+ ";" + Season;
-                        }
-                        AddInfo.SeoDescription = Season;
-                        db.SaveChanges();
-                        if (merchants.Any(m => m.Id == merchant.Id) == false)
-                        {
-                            BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
+                            checkAlipay = false;
                         }
-                        List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("AliaySignList", 1, 10000000);
-                        MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
-                        if (sign != null)
+                        if (!checkAlipay)
                         {
-                            signs.Remove(sign);
-                            TendisDbconn.Instance.Clear("AliaySignList");
-                            TendisDbconn.Instance.AddList("AliaySignList", signs.ToArray());
+                            JsonData jsonObj = JsonMapper.ToObject(content);
+                            AddInfo.QueryCount = -1;
+                            merchant.Status = -1;
+                            string Season = function.CheckNull(AddInfo.SeoDescription);
+                            if (string.IsNullOrEmpty(Season))
+                            {
+                                Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString() + ";";
+                            }
+                            else
+                            {
+                                Season = Regex.Replace(Season, "Alipay:.*?;", "");
+                                Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString() + ";" + Season;
+                            }
+                            AddInfo.SeoDescription = Season;
+                            db.SaveChanges();
+                            if (merchants.Any(m => m.Id == merchant.Id) == false)
+                            {
+                                BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
+                            }
+                            else
+                            {
+                                PxcModels.MerchantAddInfo merchantAddInfo = BothdisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
+                                if (merchantAddInfo != null)
+                                {
+                                    merchantAddInfo.SeoDescription = AddInfo.SeoDescription;
+                                    merchantAddInfo.QueryCount = AddInfo.QueryCount;
+                                    BothdisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
+                                }
+                            }
+                            List<MerchantSign> signs = TendisDbconn.Instance.GetList<MerchantSign>("AlipaySignList", 1, 10000000);
+                            MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
+                            if (sign != null)
+                            {
+                                signs.Remove(sign);
+                                TendisDbconn.Instance.Clear("AlipaySignList");
+                                TendisDbconn.Instance.AddList("AlipaySignList", signs.ToArray());
+                            }
                         }
                     }
+                    BothdisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, AddInfo);
+                    BothdisDbconn.Instance.Set("MerchantInfo:" + MerchantId, merchant);
+                    BothdisDbconn.Instance.SendMq("Pop:MerchantAddInfo", AddInfo);
+                    BothdisDbconn.Instance.SendMq("Pop:MerchantInfo", merchant);
                 }
                 db.Dispose();
             }

+ 109 - 0
AppStart/Helper/WeChatPayBackService.cs

@@ -0,0 +1,109 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using MySystem.PxcModels;
+using Org.BouncyCastle.Crypto.Modes;
+using Org.BouncyCastle.Crypto.Engines;
+using Org.BouncyCastle.Crypto.Parameters;
+using System.Text;
+
+namespace MySystem
+{
+    public class WeChatPayBackService
+    {
+        public readonly static WeChatPayBackService Instance = new WeChatPayBackService();
+        private WeChatPayBackService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                dosomething();
+                string Msg = "success";                
+                jobInfo.Status = Msg == "success" ? 1 : 0;
+                jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    TendisDbconn.Instance.AddList("public_err", data);
+                }
+                else
+                {
+                    TendisDbconn.Instance.AddList("public_service", DateTime.Now.ToString() + ":" + ex.ToString());
+                }
+            }
+        }
+
+        private void dosomething()
+        {
+            bool op = true;
+            while (op)
+            {
+                string content = TendisDbconn.Instance.RPop<string>("WeChatPayBack");
+                if (!string.IsNullOrEmpty(content))
+                {
+                    JsonData jsonObj = JsonMapper.ToObject(content);
+                    if (jsonObj.Count > 0)
+                    {
+                        if (jsonObj["event_type"].ToString() == "TRANSACTION.SUCCESS")
+                        {
+                            JsonData resource = jsonObj["resource"];
+                            //开始解密
+                            string WxPayResourceDecryptModel = AesGcmDecrypt(resource["associated_data"].ToString(), resource["nonce"].ToString(), resource["ciphertext"].ToString());
+                            JsonData orderObj = JsonMapper.ToObject(WxPayResourceDecryptModel);
+                            string OrderNo = orderObj["out_trade_no"].ToString();
+                            WebCMSEntities db = new WebCMSEntities();
+                            ConsumerOrderForNo forNo = db.ConsumerOrderForNo.FirstOrDefault(m => m.OrderNo == OrderNo);
+                            if (forNo != null)
+                            {
+                                ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == forNo.OrderIds);
+                                if (order != null)
+                                {
+                                    order.Status = 1;
+                                    order.UpdateDate = DateTime.Now;
+                                }
+                            }
+                            db.Dispose();
+                        }
+                    }
+                }
+                else
+                {
+                    op = false;
+                }
+            }
+        }
+
+        private string ALGORITHM = "AES/GCM/NoPadding";
+        private int TAG_LENGTH_BIT = 128;
+        private int NONCE_LENGTH_BYTE = 12;
+        private string AES_KEY = "MnCaYwY1Oe8LpK287141Yj7FLLGOvIve";//你的v3秘钥
+
+        public string AesGcmDecrypt(string associatedData, string nonce, string ciphertext)
+        {
+            GcmBlockCipher gcmBlockCipher = new GcmBlockCipher(new AesEngine());
+            AeadParameters aeadParameters = new AeadParameters(
+                new KeyParameter(Encoding.UTF8.GetBytes(AES_KEY)),
+                128,
+                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);
+            gcmBlockCipher.DoFinal(plaintext, length);
+            return Encoding.UTF8.GetString(plaintext);
+        }
+    }
+}

+ 11 - 9
AppStart/WeChatFunction.cs

@@ -21,7 +21,7 @@ namespace MySystem
 
         #region 服务商平台商户进件提交申请单API
 
-        public string MerchantCreate(MerchantAddInfo info, MerchantInfo merchant)
+        public string MerchantCreate(PxcModels.MerchantAddInfo info, PxcModels.MerchantInfo merchant)
         {
             // pubkey = GetPublicKey();
 
@@ -210,6 +210,7 @@ namespace MySystem
                 string merchantId = "1613112281";   //商户号
                 string serialNo = "61D99F7218B487788E35D6C4E3ED398E0979D3F6";  //证书编号
                 string result = postJson("https://api.mch.weixin.qq.com/v3/applyment4sub/applyment/business_code/" + BusinessCode, "", prikey, merchantId, serialNo, "GET");
+                function.WriteLog(result, "服务商平台查询申请单状态API");
                 //{\"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\"}
                 JsonData jsonObj = JsonMapper.ToObject(result);
                 return_result.Add("applyment_id", jsonObj["applyment_id"].ToString()); //微信支付申请单号
@@ -219,14 +220,15 @@ namespace MySystem
                 {
                     List<Dictionary<string, string>> audit_detail = new List<Dictionary<string, string>>();
                     JsonData auditObj = jsonObj["audit_detail"]; //驳回原因详情
-                    for (int i = 0; i < auditObj.Count; i++)
-                    {
-                        Dictionary<string, string> row = new Dictionary<string, string>();
-                        row.Add("field", auditObj[i]["field"].ToString()); //字段名
-                        row.Add("field_name", auditObj[i]["field_name"].ToString()); //字段名称
-                        row.Add("reject_reason", auditObj[i]["reject_reason"].ToString()); //驳回原因
-                        audit_detail.Add(row);
-                    }
+                    // for (int i = 0; i < auditObj.Count; i++)
+                    // {
+                    //     Dictionary<string, string> row = new Dictionary<string, string>();
+                    //     // row.Add("field", auditObj[i]["field"].ToString()); //字段名
+                    //     // row.Add("field_name", auditObj[i]["field_name"].ToString()); //字段名称
+                    //     row.Add("reject_reason", auditObj[i]["reject_reason"].ToString()); //驳回原因
+                    //     audit_detail.Add(row);
+                    // }
+                    return_result.Add("reject_reason", auditObj[0]["reject_reason"].ToString());
                     return_result.Add("audit_detail", audit_detail); //申请状态描述
                 }
                 if (result.Contains("\"sign_url\":"))

+ 2 - 24
Controllers/HomeController.cs

@@ -56,31 +56,9 @@ namespace MySystem.Controllers
 
 
         private static object o = new object();
-        public string test()
+        public string addmer(string mid, int k = 0)
         {
-            // PublicTableHelper.Instance.Start("Users");
-            // WebCMSEntities db = new WebCMSEntities();
-            // MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == 2) ?? new MerchantInfo();
-            // BothdisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
-            // lock (o)
-            // {
-            //     function.WriteLog("start:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
-            //     using (WebCMSEntities db = new WebCMSEntities())
-            //     {
-            //         Users user = db.Users.FirstOrDefault(m => m.Id == 2);
-            //         if (user != null)
-            //         {
-            //             string content = function.get_Random(10);
-            //             function.WriteLog("content:" + content);
-            //             user.SeoTitle = content;
-            //             db.SaveChanges();
-            //         }
-            //     }
-            //     function.WriteLog("end:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
-            // }
-            // th1();
-            // th2();
-            // PublicTableHelper.Instance.Start("MerchantAddInfo");
+            MerchantConfirmService.Instance.Start(mid, k);
             return "ok";
         }
 

+ 11 - 0
PxcModels/ConsumerOrderForNo.cs

@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+
+namespace MySystem.PxcModels
+{
+    public partial class ConsumerOrderForNo
+    {
+        public string OrderNo { get; set; }
+        public int OrderIds { get; set; }
+    }
+}

+ 14 - 0
PxcModels/WebCMSEntities.cs

@@ -28,6 +28,7 @@ namespace MySystem.PxcModels
         public virtual DbSet<BankInfo> BankInfo { get; set; }
         public virtual DbSet<Col> Col { get; set; }
         public virtual DbSet<ConsumerOpenIds> ConsumerOpenIds { get; set; }
+        public virtual DbSet<ConsumerOrderForNo> ConsumerOrderForNo { get; set; }
         public virtual DbSet<ConsumerOrders> ConsumerOrders { get; set; }
         public virtual DbSet<ConsumerProfit> ConsumerProfit { get; set; }
         public virtual DbSet<Consumers> Consumers { get; set; }
@@ -1154,6 +1155,19 @@ namespace MySystem.PxcModels
                 entity.Property(e => e.ConsumerId).HasColumnType("int(11)");
             });
 
+            modelBuilder.Entity<ConsumerOrderForNo>(entity =>
+            {
+                entity.HasKey(e => e.OrderNo)
+                    .HasName("PRIMARY");
+
+                entity.Property(e => e.OrderNo)
+                    .HasColumnType("varchar(50)")
+                    .HasCharSet("utf8")
+                    .HasCollation("utf8_general_ci");
+
+                entity.Property(e => e.OrderIds).HasColumnType("int(11)");
+            });
+
             modelBuilder.Entity<ConsumerOrders>(entity =>
             {
                 entity.Property(e => e.Id).HasColumnType("int(11)");

+ 5 - 1
Startup.cs

@@ -219,8 +219,12 @@ namespace MySystem
             RabbitMQClient.Instance.StartReceive("CheckAlipaySign");
             RabbitMQClient.Instance.StartReceive("PublicMainServer");
             RabbitMQClient.Instance.StartReceive("DeleteMySqlData");
-            // RabbitMQClient.Instance.StartReceive("SycnTableData");
+            RabbitMQClient.Instance.StartReceive("WeChatPayBack");
+            RabbitMQClient.Instance.StartReceive("AlipayPayBack");
+
 
+
+            // RabbitMQClient.Instance.StartReceive("SycnTableData");
             // PayHelper.Instance.Start();
             // OrderHelper.Instance.Start();
             // OrderRefundHelper.Instance.Start();

BIN
bin/Debug/netcoreapp3.0/MySystem.dll


BIN
bin/Debug/netcoreapp3.0/MySystem.pdb


+ 35 - 0
bin/Debug/netcoreapp3.0/log/服务商平台查询申请单状态API/2022/2/25/content.log

@@ -0,0 +1,35 @@
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}
+{"applyment_id":2000002265436670,"applyment_state":"APPLYMENT_STATE_REJECTED","applyment_state_msg":"","audit_detail":[{"reject_reason":"请按照“费率结算规则对照表”中提示的行业类别填写完整并保持一致,根据贵司的主营业务选择匹配的适用行业名称。如需了解如何选择结算规则及适用行业请参考https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml"}],"business_code":"KXS2022022516361714019666","sign_url":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG-8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAySkhRczlFb3JlUjIxaDhEMGh5YzMAAgRImhhiAwQAjScA"}

+ 20 - 0
bin/Debug/netcoreapp3.0/log/服务商平台查询申请单状态API异常/2022/2/25/content.log

@@ -0,0 +1,20 @@
+02/25/2022 16:58:48
+System.Collections.Generic.KeyNotFoundException: The given key 'field' was not present in the dictionary.
+   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
+   at LitJson.JsonData.get_Item(String prop_name)
+   at MySystem.WeChatFunction.QueryMerchant(String BusinessCode) in /Users/Shared/Previously Relocated Items/Security/MyDisk/我的/项目/myprogram_vs2019/KeXiaoShuang/MainServer/AppStart/WeChatFunction.cs:line 226
+02/25/2022 17:01:53
+System.Collections.Generic.KeyNotFoundException: The given key 'field' was not present in the dictionary.
+   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
+   at LitJson.JsonData.get_Item(String prop_name)
+   at MySystem.WeChatFunction.QueryMerchant(String BusinessCode) in /Users/Shared/Previously Relocated Items/Security/MyDisk/我的/项目/myprogram_vs2019/KeXiaoShuang/MainServer/AppStart/WeChatFunction.cs:line 226
+02/25/2022 17:03:39
+System.Collections.Generic.KeyNotFoundException: The given key 'field' was not present in the dictionary.
+   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
+   at LitJson.JsonData.get_Item(String prop_name)
+   at MySystem.WeChatFunction.QueryMerchant(String BusinessCode) in /Users/Shared/Previously Relocated Items/Security/MyDisk/我的/项目/myprogram_vs2019/KeXiaoShuang/MainServer/AppStart/WeChatFunction.cs:line 226
+02/25/2022 17:04:45
+System.Collections.Generic.KeyNotFoundException: The given key 'field' was not present in the dictionary.
+   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
+   at LitJson.JsonData.get_Item(String prop_name)
+   at MySystem.WeChatFunction.QueryMerchant(String BusinessCode) in /Users/Shared/Previously Relocated Items/Security/MyDisk/我的/项目/myprogram_vs2019/KeXiaoShuang/MainServer/AppStart/WeChatFunction.cs:line 226

BIN
bin/release/netcoreapp3.0/MySystem.dll


BIN
bin/release/netcoreapp3.0/MySystem.pdb


BIN
bin/release/netcoreapp3.0/publish/MySystem.dll


BIN
bin/release/netcoreapp3.0/publish/MySystem.pdb


BIN
obj/Debug/netcoreapp3.0/MySystem.dll


BIN
obj/Debug/netcoreapp3.0/MySystem.pdb


BIN
obj/release/netcoreapp3.0/MySystem.dll


BIN
obj/release/netcoreapp3.0/MySystem.pdb