SpDataHelper.cs 1.3 KB

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