定位推送服务
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

71 lines
3.0KB

  1. using Newtonsoft.Json;
  2. using TelpoPush.Position.Worker.Models.Enum;
  3. using TelpoPush.Position.Worker.Models.MqTemplates;
  4. namespace TelpoPush.Position.Worker.Service.Mq
  5. {
  6. public class MqProcessMessage
  7. {
  8. private readonly ILogger<MqProcessMessage> _logger;
  9. private readonly MessageProducer _messageProducer;
  10. public MqProcessMessage(ILogger<MqProcessMessage> logger, MessageProducer producer)
  11. {
  12. _logger = logger;
  13. _messageProducer = producer;
  14. }
  15. public async Task ProcessProperty(string imei, BaseModel model, HeadersDto headers)
  16. {
  17. List<TopicModel> ls = new List<TopicModel>();
  18. ls.Add(new TopicModel()
  19. {
  20. Topic = "topic.push.property",
  21. Headers = _messageProducer.CreateHeader(new Dictionary<string, int>
  22. {
  23. {MqHeader.DataType,headers.DataType.Value }
  24. })
  25. });
  26. await _messageProducer.ProduceAsync(ls, model);
  27. _logger.LogInformation($"【成功】Third推送(topic.property):IMEI<{imei}>,pushData:{JsonConvert.SerializeObject(model)}");
  28. }
  29. public async Task ProcessDataPushServer(string imei, object model, Dictionary<string, int> headers, string tag)
  30. {
  31. List<TopicModel> ls = new List<TopicModel>();
  32. ls.Add(new TopicModel()
  33. {
  34. Topic = "topic.push",
  35. Headers = _messageProducer.CreateHeader(headers)
  36. });
  37. await _messageProducer.ProduceAsync(ls, model);
  38. _logger.LogInformation($"【{tag}-成功】Third推送(topic.push):IMEI<{imei}>,Header<{JsonConvert.SerializeObject(headers)}>,pushData:{JsonConvert.SerializeObject(model)}");
  39. }
  40. public async Task ProcessFenceServer(string imei, object model, Dictionary<string, int> headers, string tag)
  41. {
  42. List<TopicModel> ls = new List<TopicModel>();
  43. ls.Add(new TopicModel()
  44. {
  45. Topic = "topic.push.fence",
  46. Headers = _messageProducer.CreateHeader(headers)
  47. });
  48. await _messageProducer.ProduceAsync(ls, model);
  49. _logger.LogInformation($"【{tag}-成功】Third推送(topic.push.fence):IMEI<{imei}>,Header<{JsonConvert.SerializeObject(headers)}>,pushData:{JsonConvert.SerializeObject(model)}");
  50. }
  51. public async Task ProcessThirdhServer(string imei, object model, Dictionary<string, int> headers, string tag)
  52. {
  53. List<TopicModel> ls = new List<TopicModel>();
  54. ls.Add(new TopicModel()
  55. {
  56. Topic = "topic.push.third",
  57. Headers = _messageProducer.CreateHeader(headers)
  58. });
  59. await _messageProducer.ProduceAsync(ls, model);
  60. _logger.LogInformation($"【{tag}-成功】Third推送(topic.push.third):IMEI<{imei}>,Header<{JsonConvert.SerializeObject(headers)}>,pushData:{JsonConvert.SerializeObject(model)}");
  61. }
  62. }
  63. }