41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using JiShe.CollectBus.Common.Enums;
|
|
using JiShe.CollectBus.Common.Models;
|
|
using JiShe.CollectBus.IotSystems.MessageIssueds;
|
|
using MassTransit;
|
|
using Microsoft.Extensions.Logging;
|
|
using TouchSocket.Sockets;
|
|
using Volo.Abp.Domain.Repositories;
|
|
|
|
namespace JiShe.CollectBus.Consumers
|
|
{
|
|
/// <summary>
|
|
/// 定时抄读任务消费者
|
|
/// </summary>
|
|
public class ScheduledMeterReadingConsumer : IConsumer<ScheduledMeterReadingIssuedEventMessage>
|
|
{
|
|
private readonly ILogger<ScheduledMeterReadingConsumer> _logger;
|
|
private readonly ITcpService _tcpService;
|
|
|
|
/// <summary>
|
|
/// WorkerConsumer
|
|
/// </summary>
|
|
/// <param name="logger"></param>
|
|
/// <param name="tcpService"></param>
|
|
public ScheduledMeterReadingConsumer(ILogger<ScheduledMeterReadingConsumer> logger,
|
|
ITcpService tcpService)
|
|
{
|
|
_logger = logger;
|
|
_tcpService = tcpService;
|
|
}
|
|
|
|
|
|
public async Task Consume(ConsumeContext<ScheduledMeterReadingIssuedEventMessage> context)
|
|
{
|
|
_logger.LogError($"{nameof(ScheduledMeterReadingConsumer)} 集中器的消息消费{context.Message.FocusAddress}");
|
|
await _tcpService.SendAsync(context.Message.FocusAddress, context.Message.MessageHexString);
|
|
}
|
|
}
|
|
}
|