ConsumerOrdersHelper.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using MySystem.Models;
  2. using System;
  3. using System.Linq;
  4. namespace MySystem
  5. {
  6. public class ConsumerOrdersHelper
  7. {
  8. public readonly static ConsumerOrdersHelper Instance = new ConsumerOrdersHelper();
  9. private ConsumerOrdersHelper()
  10. { }
  11. public string Start()
  12. {
  13. bool op = true;
  14. WebCMSEntities db = new WebCMSEntities();
  15. string result = "";
  16. // int total = 0;
  17. while (op)
  18. {
  19. ConsumerOrders PopData = new ConsumerOrders();
  20. try
  21. {
  22. //获取apserver待同步的数据,执行入库
  23. PopData = TendisDbconn.Instance.RPop<ConsumerOrders>("Pop:ConsumerOrders");
  24. if (PopData != null)
  25. {
  26. ConsumerOrders checkExist = db.ConsumerOrders.FirstOrDefault(m => m.Id == PopData.Id);
  27. if (checkExist != null)
  28. {
  29. checkExist = PopData;
  30. db.SaveChanges();
  31. }
  32. else
  33. {
  34. ConsumerOrders item = db.ConsumerOrders.Add(PopData).Entity;
  35. db.SaveChanges();
  36. TendisDbconn.Instance.AddList("ConsumerOrders:Divi:" + PopData.MerchantId, item);
  37. TendisDbconn.Instance.AddList("ConsumerOrders:Divi:List", item.Id.ToString());
  38. }
  39. // if (total >= 20)
  40. // {
  41. // total = 0;
  42. // }
  43. if (string.IsNullOrEmpty(result)) result = "success";
  44. }
  45. else
  46. {
  47. op = false;
  48. }
  49. }
  50. catch (Exception ex)
  51. {
  52. ErrorMsg msg = new ErrorMsg();
  53. msg.Obj = PopData;
  54. msg.Time = DateTime.Now;
  55. msg.ErrorContent = ex.ToString();
  56. TendisDbconn.Instance.AddList("Pop:ConsumerOrders:Error", msg);
  57. result = "有异常,请查看Pop:ConsumerOrders:Error队列";
  58. }
  59. }
  60. db.Dispose();
  61. return result;
  62. }
  63. }
  64. }