HaoDaHelper.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Text;
  5. using System.Threading;
  6. using Common;
  7. using Infrastructure;
  8. using Model;
  9. using Services;
  10. public class HaoDaHelper
  11. {
  12. public readonly static HaoDaHelper Instance = new HaoDaHelper();
  13. private HaoDaHelper()
  14. { }
  15. public void Start()
  16. {
  17. Thread th = new Thread(DoWorks);
  18. th.IsBackground = true;
  19. th.Start();
  20. }
  21. public void DoWorks()
  22. {
  23. while (true)
  24. {
  25. string content = RedisServer.Cache.RPop<string>("hd:notice:order");
  26. if(!string.IsNullOrEmpty(content))
  27. {
  28. DoQueue(content);
  29. }
  30. else
  31. {
  32. Thread.Sleep(5000);
  33. }
  34. }
  35. }
  36. public void DoQueue(string content)
  37. {
  38. try
  39. {
  40. var item = Newtonsoft.Json.JsonConvert.DeserializeObject<HdTradeRecord>(content);
  41. var tradeService = App.GetService<IHdTradeRecordService>();
  42. tradeService.addHdTradeRecord(item);
  43. // 商户号,设备号,终端类型,订单号,支付方式,交易类型,交易金额,交易手续费,交易时间,结算周期,费率
  44. // {"agentId": "039034", "merchId": "015110201559354", "merchName": "测试商户号", "ordId": "20230324H00030016535Y", "transAmt": "100.0", "feeAmt": "0.65", "feeRate": "0.65", "cardType": "C", "devId": "00000002213MDE119333", "transStat": "S", "transType": "51", "paymentMethod": "0", "settleType": "0", "transDate": "20230324", "transTime": "20230324111954", "quickPassFlag": "0", "simFee": "36.00", "servFee": "36.65"}
  45. string paymentMethod = item.paymentMethod;
  46. if(paymentMethod == "0") paymentMethod = "刷卡";
  47. if(paymentMethod == "1") paymentMethod = "微信";
  48. if(paymentMethod == "2") paymentMethod = "支付宝";
  49. if(paymentMethod == "7") paymentMethod = "银联二维码";
  50. string settleType = item.settleType;
  51. if(settleType == "0") settleType = "S0";
  52. if(settleType == "1") settleType = "T1";
  53. if(settleType == "2") settleType = "D1";
  54. string data = item.merchId + "," + item.devId + ",好哒二维码,G2250516C03502752529," + paymentMethod + "," + item.transType + "," + item.transAmt + "," + item.feeAmt + "," + item.transTime + "," + settleType + "," + item.feeRate;
  55. }
  56. catch (Exception ex)
  57. {
  58. Function.WriteLog(DateTime.Now.ToString() + "\n" + ex, "好哒订单入库异常");
  59. }
  60. }
  61. }