HaoDaAuthQueryHelper.cs 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Threading;
  4. using System.Threading.Tasks;
  5. using System.Linq;
  6. using Microsoft.Extensions.Hosting;
  7. using MySystem;
  8. using MySystem.Models;
  9. using LitJson;
  10. using Library;
  11. using MySystem.Models.Main;
  12. using System.Data;
  13. public class HaoDaAuthQueryHelper
  14. {
  15. public readonly static HaoDaAuthQueryHelper Instance = new HaoDaAuthQueryHelper();
  16. private HaoDaAuthQueryHelper()
  17. {
  18. }
  19. public void Start()
  20. {
  21. Thread th = new Thread(StartDo);
  22. th.IsBackground = true;
  23. th.Start();
  24. }
  25. private void StartDo()
  26. {
  27. while (true)
  28. {
  29. DataTable dt = CustomerSqlConn.dtable("select Id,OutMchtNo,StoreNo from MerchantAddInfo where HdStatus=3 and BrandId=0 and OutMchtNo is not null and StoreNo is not null and ((`Status`=1 and WeChatMerchantId is null) or (`QueryCount`=1 and AliMerchantId is null)) order by Id desc", AppConfig.Base.SqlConnStr);
  30. foreach (DataRow dr in dt.Rows)
  31. {
  32. QueryAuthStatus(dr["Id"].ToString(), dr["OutMchtNo"].ToString(), dr["StoreNo"].ToString());
  33. Thread.Sleep(2000);
  34. }
  35. Thread.Sleep(10000);
  36. }
  37. }
  38. public void QueryAuthStatus(string MerchantId, string MchtNo, string StoreNo)
  39. {
  40. try
  41. {
  42. var Id = int.Parse(MerchantId);
  43. WebCMSEntities db = new WebCMSEntities();
  44. MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
  45. string result = HaoDaHelper.Instance.QueryAuthStatus(MchtNo, StoreNo, info.BrandId);
  46. var jsonObj = JsonMapper.ToObject(result);
  47. //成功(已认证)
  48. if (jsonObj["resultCode"].ToString() == "1")
  49. {
  50. // MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
  51. // var wxcheck = jsonObj["wechatVerifyState"].ToString();
  52. // var alicheck = jsonObj["aliVerifyState"].ToString();
  53. if(result.Contains("\"wechatMerchantId\"")) info.WeChatMerchantId = jsonObj["wechatMerchantId"].ToString();
  54. if(result.Contains("\"aliMerchantId\"")) info.AliMerchantId = jsonObj["aliMerchantId"].ToString();
  55. // if (wxcheck == "1")
  56. // {
  57. // info.Status = 2;
  58. // info.WeChatMerchantId = jsonObj["wechatMerchantId"].ToString();
  59. // merchant.Status = 2;
  60. // info.WeChatRemark = "";
  61. // }
  62. // if (alicheck == "1")
  63. // {
  64. // info.QueryCount = 2;
  65. // info.AliMerchantId = jsonObj["aliMerchantId"].ToString();
  66. // merchant.QueryCount = 2;
  67. // info.AlipayRemark = "";
  68. // }
  69. // if (wxcheck != "1" || alicheck != "1")
  70. // {
  71. // RedisDbconn.Instance.AddList("HaoDaAuthQueryHelper", "{\"MerchantId\":\"" + MerchantId + "\",\"MchtNo\":\"" + info.OutMchtNo + "\",\"StoreNo\":\"" + info.StoreNo + "\"}");
  72. // }
  73. db.SaveChanges();
  74. }
  75. }
  76. catch (Exception ex)
  77. {
  78. LogHelper.Instance.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "查询实名认证状态异常");
  79. }
  80. }
  81. }