SpDataHelper.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 Services;
  9. using Model;
  10. using LitJson;
  11. public class SpDataHelper
  12. {
  13. public readonly static SpDataHelper Instance = new SpDataHelper();
  14. private SpDataHelper()
  15. { }
  16. public void Start(string QueueName)
  17. {
  18. RabbitMQClient.Instance.StartReceive(QueueName, content => DoWorks(content));
  19. }
  20. public void DoWorks(string content)
  21. {
  22. try
  23. {
  24. if(!string.IsNullOrEmpty(content))
  25. {
  26. string[] data = content.Split(new string[]{ "#cut#" }, StringSplitOptions.None);
  27. string tableName = data[0];
  28. string jsonString = data[1];
  29. if(tableName == "TradeRecord") DoQueueTrade(jsonString);
  30. }
  31. }
  32. catch (Exception ex)
  33. {
  34. Utils.WriteLog(DateTime.Now.ToString() + "\n" + ex, "SP原始数据入库异常");
  35. }
  36. }
  37. public void DoQueueTrade(string jsonString)
  38. {
  39. KxsTradeRecord data = Newtonsoft.Json.JsonConvert.DeserializeObject<KxsTradeRecord>(jsonString);
  40. var tradeService = App.GetService<IKxsTradeRecordService>();
  41. tradeService.addKxsTradeRecord(data);
  42. }
  43. }