Переглянути джерело

代码补全,添加实时监听程序

DuGuYang 1 рік тому
батько
коміт
29695d3e36

+ 142 - 2
AppStart/Helper/UpdateMerchantChangeCardStatusService.cs

@@ -3,11 +3,10 @@ using System.Threading;
 using System.Linq;
 using System.Data;
 using Library;
-using MySystem.Models;
-using System.Collections.Generic;
 using LitJson;
 using Newtonsoft.Json;
 using MySystem.Models.Main2;
+using MySystem.Service.Main2;
 
 /// <summary>
 /// 更新商户修改结算卡状态
@@ -30,6 +29,79 @@ namespace MySystem
             Thread thread1 = new Thread(TriggerUpdateStatus); // 触发更新商户修改结算卡状态
             thread1.IsBackground = true;
             thread1.Start();
+
+            Thread thread2 = new Thread(RealTimeUpdateStatus); // 实时更新商户修改结算卡状态
+            thread2.IsBackground = true;
+            thread2.Start();
+        }
+
+        public void RealTimeUpdateStatus()
+        {
+            while (true)
+            {
+                try
+                {
+                    WebCMSEntities maindb = new WebCMSEntities();
+
+                    var infos = maindb.MerchantChangeSettlementCardRecord.Where(m => m.Status == 1).ToList();
+                    foreach (var item in infos)
+                    {
+                        var info = infos.FirstOrDefault(m => m.Id == item.Id) ?? new MerchantChangeSettlementCardRecord();
+
+                        //好哒查询修改银行卡任务审核状态
+                        JsonData results = JsonMapper.ToObject(HaoDaHelper.Instance.QueryChangeCardStatus(info.MchtNo, info.TaskId.ToString()));
+                        if (results["resultCode"].ToString() == "1")
+                        {
+                            var Status = int.Parse(results["data"]["status"].ToString());
+                            var Remark = results["data"]["desc"].ToString();
+                            //Status(1 待审核 3 审核拒绝 4 任务失效 5 审核通过)
+                            info.Status = Status;
+                            info.Remark = Remark;
+
+                            //审核成功修改商户结算信息
+                            if (Status == 5)
+                            {
+                                var merchantAddInfo = maindb.MerchantAddInfo.FirstOrDefault(m => m.Id == info.MerchantId) ?? new MerchantAddInfo();
+                                merchantAddInfo.AccountNumber = info.AccountNo;
+                                merchantAddInfo.AccountName = info.AccountName;
+                                var bankInfo = OpenBankAllService.Query(" and BankChildNo='" + info.ZbankNo + "'");
+                                merchantAddInfo.BankName = bankInfo.BankChild;
+                                var AreaInfo = HaoDaAreaCodeService.Query(" and CityCode='" + info.AcctZbankCode + "'");
+                                merchantAddInfo.BankAddressCode = AreaInfo.CityName;
+                                merchantAddInfo.AccountType = info.AccountType.ToString();
+
+                                //开户许可证
+                                if (info.AccountType == 0 && !string.IsNullOrEmpty(info.OpenAccountLicenses))
+                                {
+                                    merchantAddInfo.OpenAccountLicenses = info.OpenAccountLicenses;
+                                }
+                                if (info.AccountType == 1)
+                                {
+                                    //银行卡正面
+                                    if (!string.IsNullOrEmpty(info.BankCard))
+                                    {
+                                        merchantAddInfo.BankCard = info.BankCard;
+                                    }
+
+                                    //企业法人对私授权书
+                                    if (merchantAddInfo.SubjectType == "SUBJECT_TYPE_ENTERPRISE" && !string.IsNullOrEmpty(info.PriLicAgreement))
+                                    {
+                                        merchantAddInfo.Support = info.PriLicAgreement;
+                                    }
+                                }
+                                merchantAddInfo.OpenUnionNo = info.ZbankNo;
+                            }
+                        }
+                        maindb.SaveChanges();
+                        maindb.Dispose();
+                    }
+                    Thread.Sleep(180000);
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "实时更新商户修改结算卡状态队列异常");
+                }
+            }
         }
 
         public void EveryDayUpdateStatus()
@@ -60,6 +132,40 @@ namespace MySystem
                                     //Status(1 待审核 3 审核拒绝 4 任务失效 5 审核通过)
                                     info.Status = Status;
                                     info.Remark = Remark;
+
+                                    //审核成功修改商户结算信息
+                                    if (Status == 5)
+                                    {
+                                        var merchantAddInfo = maindb.MerchantAddInfo.FirstOrDefault(m => m.Id == info.MerchantId) ?? new MerchantAddInfo();
+                                        merchantAddInfo.AccountNumber = info.AccountNo;
+                                        merchantAddInfo.AccountName = info.AccountName;
+                                        var bankInfo = OpenBankAllService.Query(" and BankChildNo='" + info.ZbankNo + "'");
+                                        merchantAddInfo.BankName = bankInfo.BankChild;
+                                        var AreaInfo = HaoDaAreaCodeService.Query(" and CityCode='" + info.AcctZbankCode + "'");
+                                        merchantAddInfo.BankAddressCode = AreaInfo.CityName;
+                                        merchantAddInfo.AccountType = info.AccountType.ToString();
+
+                                        //开户许可证
+                                        if (info.AccountType == 0 && !string.IsNullOrEmpty(info.OpenAccountLicenses))
+                                        {
+                                            merchantAddInfo.OpenAccountLicenses = info.OpenAccountLicenses;
+                                        }
+                                        if (info.AccountType == 1)
+                                        {
+                                            //银行卡正面
+                                            if (!string.IsNullOrEmpty(info.BankCard))
+                                            {
+                                                merchantAddInfo.BankCard = info.BankCard;
+                                            }
+
+                                            //企业法人对私授权书
+                                            if (merchantAddInfo.SubjectType == "SUBJECT_TYPE_ENTERPRISE" && !string.IsNullOrEmpty(info.PriLicAgreement))
+                                            {
+                                                merchantAddInfo.Support = info.PriLicAgreement;
+                                            }
+                                        }
+                                        merchantAddInfo.OpenUnionNo = info.ZbankNo;
+                                    }
                                 }
                             }
                             maindb.SaveChanges();
@@ -104,6 +210,40 @@ namespace MySystem
                                 //Status(1 待审核 3 审核拒绝 4 任务失效 5 审核通过)
                                 info.Status = Status;
                                 info.Remark = Remark;
+
+                                //审核成功修改商户结算信息
+                                if (Status == 5)
+                                {
+                                    var merchantAddInfo = maindb.MerchantAddInfo.FirstOrDefault(m => m.Id == info.MerchantId) ?? new MerchantAddInfo();
+                                    merchantAddInfo.AccountNumber = info.AccountNo;
+                                    merchantAddInfo.AccountName = info.AccountName;
+                                    var bankInfo = OpenBankAllService.Query(" and BankChildNo='" + info.ZbankNo + "'");
+                                    merchantAddInfo.BankName = bankInfo.BankChild;
+                                    var AreaInfo = HaoDaAreaCodeService.Query(" and CityCode='" + info.AcctZbankCode + "'");
+                                    merchantAddInfo.BankAddressCode = AreaInfo.CityName;
+                                    merchantAddInfo.AccountType = info.AccountType.ToString();
+
+                                    //开户许可证
+                                    if (info.AccountType == 0 && !string.IsNullOrEmpty(info.OpenAccountLicenses))
+                                    {
+                                        merchantAddInfo.OpenAccountLicenses = info.OpenAccountLicenses;
+                                    }
+                                    if (info.AccountType == 1)
+                                    {
+                                        //银行卡正面
+                                        if (!string.IsNullOrEmpty(info.BankCard))
+                                        {
+                                            merchantAddInfo.BankCard = info.BankCard;
+                                        }
+
+                                        //企业法人对私授权书
+                                        if (merchantAddInfo.SubjectType == "SUBJECT_TYPE_ENTERPRISE" && !string.IsNullOrEmpty(info.PriLicAgreement))
+                                        {
+                                            merchantAddInfo.Support = info.PriLicAgreement;
+                                        }
+                                    }
+                                    merchantAddInfo.OpenUnionNo = info.ZbankNo;
+                                }
                             }
                         }
                         maindb.SaveChanges();

+ 1 - 1
Areas/Api/Controllers/v1/Main2/MerchantChangeSettlementCardRecordController.cs

@@ -122,7 +122,7 @@ namespace MySystem.Areas.Api.Controllers.v1.Main2
             Obj.Add("AcctZBankAreas", merchantAddInfo.BankAddressCode); //开户支行地区
             Obj.Add("AcctZBankName", merchantAddInfo.BankName); //开户支行名称
             Obj.Add("MchtNo", merchantAddInfo.MchtNo); //商户号
-            Obj.Add("AcctName", merchantAddInfo.CertMerchantName); //开户名称
+            Obj.Add("AcctName", merchantAddInfo.AccountName); //开户名称
             Obj.Add("AccountNo", merchantAddInfo.AccountNumber); //卡号(0-对公 时填写对公账号,1-对私 时填写银行卡号)
             Obj.Add("IdCard", ""); //非法人身份证号(结算类型为2时必填,默认传空字符串)
             Obj.Add("AgentCardStartDate", ""); //非法人身份证有效开始时间(yyyy-MM-dd,结算类型为2时必填,默认传空字符串)

+ 1 - 1
Startup.cs

@@ -149,7 +149,7 @@ namespace MySystem
         {
             Dictionary<string, Dictionary<string, string>> tables = new Dictionary<string, Dictionary<string, string>>();
             string connstr = Configuration["Setting:KxsSqlConnStr"];
-            string dbName = "KxsProfitServer";
+            string dbName = "KxsMainServer";
             if (Library.ConfigurationManager.EnvironmentFlag == 2)
             {
                 dbName = "KxsProfitServer";

+ 33 - 5
Util/Main2/MerchantChangeSettlementCardRecordUtil.cs

@@ -135,12 +135,40 @@ namespace MySystem.Service.Main2
                     //Status(1 待审核 3 审核拒绝 4 任务失效 5 审核通过)
                     merchantChangeSettlementCardRecord.Status = Status;
                     merchantChangeSettlementCardRecord.Remark = Remark;
+                    
                     //审核成功修改商户结算信息
-                    // if (Status == 5)
-                    // {
-                    //     var merchantAddInfo = maindb.MerchantAddInfo.FirstOrDefault(m => m.Id == MerchantId) ?? new MerchantAddInfo();
-                    //     merchantAddInfo.
-                    // }
+                    if (Status == 5)
+                    {
+                        var merchantAddInfo = maindb.MerchantAddInfo.FirstOrDefault(m => m.Id == MerchantId) ?? new MerchantAddInfo();
+                        merchantAddInfo.AccountNumber = merchantChangeSettlementCardRecord.AccountNo;
+                        merchantAddInfo.AccountName = merchantChangeSettlementCardRecord.AccountName;
+                        var bankInfo = OpenBankAllService.Query(" and BankChildNo='" + merchantChangeSettlementCardRecord.ZbankNo + "'");
+                        merchantAddInfo.BankName = bankInfo.BankChild;
+                        var AreaInfo = HaoDaAreaCodeService.Query(" and CityCode='" + merchantChangeSettlementCardRecord.AcctZbankCode + "'");
+                        merchantAddInfo.BankAddressCode = AreaInfo.CityName;
+                        merchantAddInfo.AccountType = merchantChangeSettlementCardRecord.AccountType.ToString();
+
+                        //开户许可证
+                        if (merchantChangeSettlementCardRecord.AccountType == 0 && !string.IsNullOrEmpty(merchantChangeSettlementCardRecord.OpenAccountLicenses))
+                        {
+                            merchantAddInfo.OpenAccountLicenses = merchantChangeSettlementCardRecord.OpenAccountLicenses;
+                        }
+                        if (merchantChangeSettlementCardRecord.AccountType == 1)
+                        {
+                            //银行卡正面
+                            if (!string.IsNullOrEmpty(merchantChangeSettlementCardRecord.BankCard))
+                            {
+                                merchantAddInfo.BankCard = merchantChangeSettlementCardRecord.BankCard;
+                            }
+
+                            //企业法人对私授权书
+                            if (merchantAddInfo.SubjectType == "SUBJECT_TYPE_ENTERPRISE" && !string.IsNullOrEmpty(merchantChangeSettlementCardRecord.PriLicAgreement))
+                            {
+                                merchantAddInfo.Support = merchantChangeSettlementCardRecord.PriLicAgreement;
+                            }
+                        }
+                        merchantAddInfo.OpenUnionNo = merchantChangeSettlementCardRecord.ZbankNo;
+                    }
                     maindb.SaveChanges();
                 }
             }