HaoDaAuthQueryHelper.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. public class HaoDaAuthQueryHelper
  13. {
  14. public readonly static HaoDaAuthQueryHelper Instance = new HaoDaAuthQueryHelper();
  15. private HaoDaAuthQueryHelper()
  16. {
  17. }
  18. public void Start()
  19. {
  20. Thread th = new Thread(StartDo);
  21. th.IsBackground = true;
  22. th.Start();
  23. }
  24. private void StartDo()
  25. {
  26. while (true)
  27. {
  28. string content = RedisDbconn.Instance.RPop<string>("HaoDaAuthQueryHelper");
  29. if (!string.IsNullOrEmpty(content))
  30. {
  31. JsonData json = JsonMapper.ToObject(content);
  32. QueryAuthStatus(json["MerchantId"].ToString(), json["MchtNo"].ToString(), json["StoreNo"].ToString());
  33. }
  34. else
  35. {
  36. Thread.Sleep(10000);
  37. }
  38. }
  39. }
  40. public void QueryAuthStatus(string MerchantId, string MchtNo, string StoreNo)
  41. {
  42. try
  43. {
  44. var Id = int.Parse(MerchantId);
  45. var jsonObj = JsonMapper.ToObject(HaoDaHelper.Instance.QueryAuthStatus(MchtNo, StoreNo));
  46. //成功(已认证)
  47. if (jsonObj["resultCode"].ToString() == "1")
  48. {
  49. WebCMSEntities db = new WebCMSEntities();
  50. MerchantAddInfo info = db.MerchantAddInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantAddInfo();
  51. MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
  52. var wxcheck = jsonObj["wechatVerifyState"].ToString();
  53. var alicheck = jsonObj["aliVerifyState"].ToString();
  54. if (wxcheck == "1")
  55. {
  56. info.Status = 2;
  57. merchant.Status = 2;
  58. info.WeChatRemark = "";
  59. }
  60. if (alicheck == "1")
  61. {
  62. info.QueryCount = 2;
  63. merchant.QueryCount = 2;
  64. info.AlipayRemark = "";
  65. }
  66. if (wxcheck != "1" || alicheck != "1")
  67. {
  68. RedisDbconn.Instance.AddList("HaoDaAuthQueryHelper", "{\"MerchantId\":\"" + MerchantId + "\",\"MchtNo\":\"" + info.MchtNo + "\",\"StoreNo\":\"" + info.StoreNo + "\"}");
  69. }
  70. db.SaveChanges();
  71. }
  72. }
  73. catch (Exception ex)
  74. {
  75. function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "查询实名认证状态异常");
  76. }
  77. }
  78. }