|
- using Newtonsoft.Json;
- using TelpoPush.Position.Worker.Models.Enum;
- using TelpoPush.Position.Worker.Models.MqTemplates;
-
- namespace TelpoPush.Position.Worker.Service.Mq
- {
- public class MqProcessMessage
- {
- private readonly ILogger<MqProcessMessage> _logger;
- private readonly MessageProducer _messageProducer;
-
- public MqProcessMessage(ILogger<MqProcessMessage> logger, MessageProducer producer)
- {
- _logger = logger;
- _messageProducer = producer;
- }
-
- public async Task ProcessProperty(string imei, BaseModel model, HeadersDto headers)
- {
- List<TopicModel> ls = new List<TopicModel>();
-
- ls.Add(new TopicModel()
- {
- Topic = "topic.push.property",
- Headers = _messageProducer.CreateHeader(new Dictionary<string, int>
- {
- {MqHeader.DataType,headers.DataType.Value }
- })
- });
- await _messageProducer.ProduceAsync(ls, model);
- _logger.LogInformation($"【成功】Third推送(topic.property):IMEI<{imei}>,pushData:{JsonConvert.SerializeObject(model)}");
- }
-
- public async Task ProcessDataPushServer(string imei, object model, Dictionary<string, int> headers, string tag)
- {
- List<TopicModel> ls = new List<TopicModel>();
- ls.Add(new TopicModel()
- {
- Topic = "topic.push",
- Headers = _messageProducer.CreateHeader(headers)
- });
- await _messageProducer.ProduceAsync(ls, model);
- _logger.LogInformation($"【{tag}-成功】Third推送(topic.push):IMEI<{imei}>,Header<{JsonConvert.SerializeObject(headers)}>,pushData:{JsonConvert.SerializeObject(model)}");
- }
-
- public async Task ProcessFenceServer(string imei, object model, Dictionary<string, int> headers, string tag)
- {
- List<TopicModel> ls = new List<TopicModel>();
- ls.Add(new TopicModel()
- {
- Topic = "topic.push.fence",
- Headers = _messageProducer.CreateHeader(headers)
- });
- await _messageProducer.ProduceAsync(ls, model);
- _logger.LogInformation($"【{tag}-成功】Third推送(topic.push.fence):IMEI<{imei}>,Header<{JsonConvert.SerializeObject(headers)}>,pushData:{JsonConvert.SerializeObject(model)}");
- }
-
- public async Task ProcessThirdhServer(string imei, object model, Dictionary<string, int> headers, string tag)
- {
- List<TopicModel> ls = new List<TopicModel>();
- ls.Add(new TopicModel()
- {
- Topic = "topic.push.third",
- Headers = _messageProducer.CreateHeader(headers)
- });
- await _messageProducer.ProduceAsync(ls, model);
- _logger.LogInformation($"【{tag}-成功】Third推送(topic.push.third):IMEI<{imei}>,Header<{JsonConvert.SerializeObject(headers)}>,pushData:{JsonConvert.SerializeObject(model)}");
- }
- }
- }
|