去除CAP 和 MassTransit
This commit is contained in:
parent
e6327a57df
commit
dc7416bdbf
@ -10,8 +10,6 @@ using JiShe.CollectBus.Protocol.Contracts.AnalysisData;
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
||||||
using JiShe.CollectBus.IotSystems.Protocols;
|
using JiShe.CollectBus.IotSystems.Protocols;
|
||||||
using MassTransit;
|
|
||||||
using DotNetCore.CAP;
|
|
||||||
using JiShe.CollectBus.Kafka.Producer;
|
using JiShe.CollectBus.Kafka.Producer;
|
||||||
using JiShe.CollectBus.Common.Consts;
|
using JiShe.CollectBus.Common.Consts;
|
||||||
|
|
||||||
@ -19,7 +17,6 @@ namespace JiShe.CollectBus.Protocol.Contracts.Abstracts
|
|||||||
{
|
{
|
||||||
public abstract class BaseProtocolPlugin : IProtocolPlugin
|
public abstract class BaseProtocolPlugin : IProtocolPlugin
|
||||||
{
|
{
|
||||||
private readonly ICapPublisher _producerBus;
|
|
||||||
private readonly IProducerService _producerService;
|
private readonly IProducerService _producerService;
|
||||||
private readonly ILogger<BaseProtocolPlugin> _logger;
|
private readonly ILogger<BaseProtocolPlugin> _logger;
|
||||||
private readonly IRepository<ProtocolInfo, Guid> _protocolInfoRepository;
|
private readonly IRepository<ProtocolInfo, Guid> _protocolInfoRepository;
|
||||||
@ -41,7 +38,6 @@ namespace JiShe.CollectBus.Protocol.Contracts.Abstracts
|
|||||||
_logger = serviceProvider.GetRequiredService<ILogger<BaseProtocolPlugin>>();
|
_logger = serviceProvider.GetRequiredService<ILogger<BaseProtocolPlugin>>();
|
||||||
_protocolInfoRepository = serviceProvider.GetRequiredService<IRepository<ProtocolInfo, Guid>>();
|
_protocolInfoRepository = serviceProvider.GetRequiredService<IRepository<ProtocolInfo, Guid>>();
|
||||||
_producerService = serviceProvider.GetRequiredService<IProducerService>();
|
_producerService = serviceProvider.GetRequiredService<IProducerService>();
|
||||||
_producerBus = serviceProvider.GetRequiredService<ICapPublisher>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract ProtocolInfo Info { get; }
|
public abstract ProtocolInfo Info { get; }
|
||||||
|
|||||||
@ -13,8 +13,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DotNetCore.CAP" Version="8.3.1" />
|
|
||||||
<PackageReference Include="MassTransit.Abstractions" Version="8.3.0" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
|
||||||
<PackageReference Include="TouchSocket" Version="2.1.9" />
|
<PackageReference Include="TouchSocket" Version="2.1.9" />
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DotNetCore.CAP" Version="8.3.1" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
|
||||||
<PackageReference Include="Volo.Abp.Core" Version="8.3.3" />
|
<PackageReference Include="Volo.Abp.Core" Version="8.3.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@ -10,7 +10,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DotNetCore.CAP" Version="8.3.1" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
|
||||||
<PackageReference Include="Volo.Abp.Core" Version="8.3.3" />
|
<PackageReference Include="Volo.Abp.Core" Version="8.3.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@ -1,64 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using JiShe.CollectBus.Common.Enums;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageIssueds;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
|
||||||
using MassTransit;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using TouchSocket.Sockets;
|
|
||||||
using Volo.Abp.Domain.Repositories;
|
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Consumers
|
|
||||||
{
|
|
||||||
public class IssuedConsumer: IConsumer<MessageIssued>
|
|
||||||
{
|
|
||||||
private readonly ILogger<IssuedConsumer> _logger;
|
|
||||||
private readonly ITcpService _tcpService;
|
|
||||||
private readonly IRepository<MessageReceivedLogin, Guid> _messageReceivedLoginEventRepository;
|
|
||||||
private readonly IRepository<MessageReceivedHeartbeat, Guid> _messageReceivedHeartbeatEventRepository;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// IssuedConsumer
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="logger"></param>
|
|
||||||
/// <param name="tcpService"></param>
|
|
||||||
/// <param name="messageReceivedLoginEventRepository"></param>
|
|
||||||
/// <param name="messageReceivedHeartbeatEventRepository"></param>
|
|
||||||
public IssuedConsumer(ILogger<IssuedConsumer> logger,
|
|
||||||
ITcpService tcpService,
|
|
||||||
IRepository<MessageReceivedLogin, Guid> messageReceivedLoginEventRepository,
|
|
||||||
IRepository<MessageReceivedHeartbeat, Guid> messageReceivedHeartbeatEventRepository)
|
|
||||||
{
|
|
||||||
_logger = logger;
|
|
||||||
_tcpService = tcpService;
|
|
||||||
_messageReceivedLoginEventRepository = messageReceivedLoginEventRepository;
|
|
||||||
_messageReceivedHeartbeatEventRepository = messageReceivedHeartbeatEventRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public async Task Consume(ConsumeContext<MessageIssued> context)
|
|
||||||
{
|
|
||||||
switch (context.Message.Type)
|
|
||||||
{
|
|
||||||
case IssuedEventType.Heartbeat:
|
|
||||||
_logger.LogInformation($"IssuedEvent:{context.Message.MessageId}");
|
|
||||||
var heartbeatEntity = await _messageReceivedHeartbeatEventRepository.GetAsync(a => a.MessageId == context.Message.MessageId);
|
|
||||||
heartbeatEntity.AckTime = DateTime.Now;
|
|
||||||
heartbeatEntity.IsAck = true;
|
|
||||||
await _messageReceivedHeartbeatEventRepository.UpdateAsync(heartbeatEntity);
|
|
||||||
break;
|
|
||||||
case IssuedEventType.Login:
|
|
||||||
var loginEntity = await _messageReceivedLoginEventRepository.GetAsync(a => a.MessageId == context.Message.MessageId);
|
|
||||||
loginEntity.AckTime = DateTime.Now;
|
|
||||||
loginEntity.IsAck = true;
|
|
||||||
await _messageReceivedLoginEventRepository.UpdateAsync(loginEntity);
|
|
||||||
break;
|
|
||||||
case IssuedEventType.Data:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new ArgumentOutOfRangeException();
|
|
||||||
}
|
|
||||||
await _tcpService.SendAsync(context.Message.ClientId, context.Message.Message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageIssueds;
|
|
||||||
using MassTransit;
|
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Consumers
|
|
||||||
{
|
|
||||||
public class IssuedFaultConsumer : IConsumer<Fault<MessageIssued>>
|
|
||||||
{
|
|
||||||
public Task Consume(ConsumeContext<Fault<MessageIssued>> context)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,59 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
|
||||||
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
|
|
||||||
using JiShe.CollectBus.Protocol.Contracts.Models;
|
|
||||||
using MassTransit;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using Volo.Abp.Domain.Repositories;
|
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Consumers
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Batch 一次最多 100 个,最多 10 个并发批次
|
|
||||||
/// </summary>
|
|
||||||
public class ReceivedConsumer: IConsumer<Batch<MessageReceived>>
|
|
||||||
{
|
|
||||||
private readonly ILogger<ReceivedConsumer> _logger;
|
|
||||||
private readonly IServiceProvider _serviceProvider;
|
|
||||||
private readonly IRepository<MessageReceived, Guid> _messageReceivedEventRepository;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// MessageReceivedConsumer
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="logger"></param>
|
|
||||||
/// <param name="serviceProvider"></param>
|
|
||||||
/// <param name="messageReceivedEventRepository"></param>
|
|
||||||
public ReceivedConsumer(ILogger<ReceivedConsumer> logger,
|
|
||||||
IServiceProvider serviceProvider,
|
|
||||||
IRepository<MessageReceived, Guid> messageReceivedEventRepository)
|
|
||||||
{
|
|
||||||
_logger = logger;
|
|
||||||
_serviceProvider = serviceProvider;
|
|
||||||
_messageReceivedEventRepository = messageReceivedEventRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public async Task Consume(ConsumeContext<Batch<MessageReceived>> context)
|
|
||||||
{
|
|
||||||
const string protocolType = "Standard";
|
|
||||||
var protocolPlugin = _serviceProvider.GetKeyedService<IProtocolPlugin>(protocolType);
|
|
||||||
if (protocolPlugin == null)
|
|
||||||
{
|
|
||||||
_logger.LogError("协议不存在!");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var list = new List<MessageReceived>();
|
|
||||||
foreach (var contextItem in context.Message)
|
|
||||||
{
|
|
||||||
await protocolPlugin.AnalyzeAsync<TB3761>(contextItem.Message);
|
|
||||||
list.Add(contextItem.Message);
|
|
||||||
}
|
|
||||||
await _messageReceivedEventRepository.InsertManyAsync(list);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
|
||||||
using MassTransit;
|
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Consumers
|
|
||||||
{
|
|
||||||
public class ReceivedFaultConsumer: IConsumer<Fault<Batch<MessageReceived>>>
|
|
||||||
{
|
|
||||||
public Task Consume(ConsumeContext<Fault<Batch<MessageReceived>>> context)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,46 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using JiShe.CollectBus.Common.Models;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
|
||||||
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
|
|
||||||
using MassTransit;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Consumers
|
|
||||||
{
|
|
||||||
public class ReceivedHeartbeatConsumer:IConsumer<MessageReceivedHeartbeat>
|
|
||||||
{
|
|
||||||
private readonly ILogger<ReceivedHeartbeatConsumer> _logger;
|
|
||||||
private readonly IServiceProvider _serviceProvider;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="serviceProvider"></param>
|
|
||||||
/// <param name="logger"></param>
|
|
||||||
public ReceivedHeartbeatConsumer(IServiceProvider serviceProvider, ILogger<ReceivedHeartbeatConsumer> logger)
|
|
||||||
{
|
|
||||||
this._serviceProvider = serviceProvider;
|
|
||||||
this._logger = logger;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task Consume(ConsumeContext<MessageReceivedHeartbeat> context)
|
|
||||||
{
|
|
||||||
_logger.LogInformation("心跳消费队列开始处理");
|
|
||||||
var protocolPlugin = _serviceProvider.GetKeyedService<IProtocolPlugin>("Standard");
|
|
||||||
if (protocolPlugin == null)
|
|
||||||
{
|
|
||||||
_logger.LogError("【心跳消费队列开始处理】协议不存在!");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
await protocolPlugin.HeartbeatAsync(context.Message);
|
|
||||||
_logger.LogInformation("心跳消费队列完成处理");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,47 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using JiShe.CollectBus.Common.Models;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
|
||||||
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
|
|
||||||
using MassTransit;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Consumers
|
|
||||||
{
|
|
||||||
public class ReceivedLoginConsumer : IConsumer<MessageReceivedLogin>
|
|
||||||
{
|
|
||||||
private readonly ILogger<ReceivedLoginConsumer> _logger;
|
|
||||||
private readonly IServiceProvider _serviceProvider;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="logger"></param>
|
|
||||||
/// <param name="serviceProvider"></param>
|
|
||||||
public ReceivedLoginConsumer(ILogger<ReceivedLoginConsumer> logger, IServiceProvider serviceProvider)
|
|
||||||
{
|
|
||||||
_logger = logger;
|
|
||||||
_serviceProvider = serviceProvider;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task Consume(ConsumeContext<MessageReceivedLogin> context)
|
|
||||||
{
|
|
||||||
_logger.LogInformation("登录消费队列开始处理");
|
|
||||||
var protocolPlugin = _serviceProvider.GetKeyedService<IProtocolPlugin>("Standard");
|
|
||||||
if (protocolPlugin == null)
|
|
||||||
{
|
|
||||||
_logger.LogError("【登录消费队列开始处理】协议不存在!");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
await protocolPlugin.LoginAsync(context.Message);
|
|
||||||
_logger.LogInformation("登录消费队列完成处理");
|
|
||||||
}
|
|
||||||
await Task.CompletedTask;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -5,7 +5,6 @@ using System.Net;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using DeviceDetectorNET.Class.Device;
|
using DeviceDetectorNET.Class.Device;
|
||||||
using DotNetCore.CAP;
|
|
||||||
using JiShe.CollectBus.Common.BuildSendDatas;
|
using JiShe.CollectBus.Common.BuildSendDatas;
|
||||||
using JiShe.CollectBus.Common.Consts;
|
using JiShe.CollectBus.Common.Consts;
|
||||||
using JiShe.CollectBus.Common.Enums;
|
using JiShe.CollectBus.Common.Enums;
|
||||||
@ -18,7 +17,6 @@ using JiShe.CollectBus.IotSystems.PrepayModel;
|
|||||||
using JiShe.CollectBus.IotSystems.Records;
|
using JiShe.CollectBus.IotSystems.Records;
|
||||||
using JiShe.CollectBus.Kafka.Producer;
|
using JiShe.CollectBus.Kafka.Producer;
|
||||||
using JiShe.CollectBus.Protocol.Contracts;
|
using JiShe.CollectBus.Protocol.Contracts;
|
||||||
using MassTransit;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Volo.Abp.Domain.Repositories;
|
using Volo.Abp.Domain.Repositories;
|
||||||
@ -32,16 +30,14 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
private readonly IRepository<CsqRecord,Guid> _csqRecordRepository;
|
private readonly IRepository<CsqRecord,Guid> _csqRecordRepository;
|
||||||
private readonly IRepository<ConrOnlineRecord,Guid> _conrOnlineRecordRepository;
|
private readonly IRepository<ConrOnlineRecord,Guid> _conrOnlineRecordRepository;
|
||||||
private readonly IProducerService _producerService;
|
private readonly IProducerService _producerService;
|
||||||
private readonly ICapPublisher _capBus;
|
|
||||||
|
|
||||||
public EnergySystemAppService(IRepository<FocusRecord, Guid> focusRecordRepository, IRepository<CsqRecord, Guid> csqRecordRepository,
|
public EnergySystemAppService(IRepository<FocusRecord, Guid> focusRecordRepository, IRepository<CsqRecord, Guid> csqRecordRepository,
|
||||||
IRepository<ConrOnlineRecord, Guid> conrOnlineRecordRepository, IProducerService producerService, ICapPublisher capBus)
|
IRepository<ConrOnlineRecord, Guid> conrOnlineRecordRepository, IProducerService producerService)
|
||||||
{
|
{
|
||||||
_focusRecordRepository = focusRecordRepository;
|
_focusRecordRepository = focusRecordRepository;
|
||||||
_csqRecordRepository = csqRecordRepository;
|
_csqRecordRepository = csqRecordRepository;
|
||||||
_conrOnlineRecordRepository = conrOnlineRecordRepository;
|
_conrOnlineRecordRepository = conrOnlineRecordRepository;
|
||||||
_producerService = producerService;
|
_producerService = producerService;
|
||||||
_capBus = capBus;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -81,7 +77,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
|
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
@ -90,7 +86,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
result.Msg = "操作成功";
|
result.Msg = "操作成功";
|
||||||
@ -127,7 +123,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
|
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
@ -136,7 +132,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -178,7 +174,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -186,7 +182,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
result.Msg = "操作成功";
|
result.Msg = "操作成功";
|
||||||
@ -216,7 +212,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -224,7 +220,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,7 +303,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
|
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
@ -316,7 +312,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
|
|
||||||
if (isManual)
|
if (isManual)
|
||||||
@ -375,7 +371,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
|
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
@ -384,7 +380,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
|
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
@ -412,7 +408,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -420,7 +416,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
|
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
@ -448,7 +444,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -456,7 +452,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
|
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
@ -483,7 +479,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -491,7 +487,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
|
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
@ -519,7 +515,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -527,7 +523,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
result.Msg = "操作成功";
|
result.Msg = "操作成功";
|
||||||
@ -576,7 +572,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
|
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
@ -585,7 +581,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -654,7 +650,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -662,7 +658,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
@ -691,7 +687,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -699,7 +695,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
@ -727,7 +723,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -735,7 +731,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
@ -761,7 +757,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -769,7 +765,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
result.Msg = "操作成功";
|
result.Msg = "操作成功";
|
||||||
@ -796,7 +792,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -804,7 +800,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
result.Status = true;
|
result.Status = true;
|
||||||
@ -859,7 +855,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
// DeviceNo = address,
|
// DeviceNo = address,
|
||||||
// Message = bytes,
|
// Message = bytes,
|
||||||
// Type = IssuedEventType.Data,
|
// Type = IssuedEventType.Data,
|
||||||
// MessageId = NewId.NextGuid().ToString()
|
// MessageId = Guid.NewGuid().ToString()
|
||||||
//});
|
//});
|
||||||
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
await _producerService.ProduceAsync(ProtocolConst.AmmeterSubscriberWorkerManualValveReadingIssuedEventName, new IssuedEventMessage
|
||||||
{
|
{
|
||||||
@ -867,7 +863,7 @@ namespace JiShe.CollectBus.EnergySystem
|
|||||||
DeviceNo = address,
|
DeviceNo = address,
|
||||||
Message = bytes,
|
Message = bytes,
|
||||||
Type = IssuedEventType.Data,
|
Type = IssuedEventType.Data,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -15,9 +15,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DotNetCore.CAP" Version="8.3.1" />
|
|
||||||
<PackageReference Include="MassTransit.Kafka" Version="8.4.0" />
|
|
||||||
|
|
||||||
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="8.3.3" />
|
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="8.3.3" />
|
||||||
<PackageReference Include="Volo.Abp.AutoMapper" Version="8.3.3" />
|
<PackageReference Include="Volo.Abp.AutoMapper" Version="8.3.3" />
|
||||||
<PackageReference Include="Volo.Abp.BackgroundWorkers.Hangfire" Version="8.3.3" />
|
<PackageReference Include="Volo.Abp.BackgroundWorkers.Hangfire" Version="8.3.3" />
|
||||||
|
|||||||
@ -3,7 +3,6 @@ using System.Linq;
|
|||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using DeviceDetectorNET.Parser.Device;
|
using DeviceDetectorNET.Parser.Device;
|
||||||
using DotNetCore.CAP;
|
|
||||||
using JiShe.CollectBus.Ammeters;
|
using JiShe.CollectBus.Ammeters;
|
||||||
using JiShe.CollectBus.Common.Consts;
|
using JiShe.CollectBus.Common.Consts;
|
||||||
using JiShe.CollectBus.Common.Enums;
|
using JiShe.CollectBus.Common.Enums;
|
||||||
@ -15,7 +14,6 @@ using JiShe.CollectBus.IotSystems.Devices;
|
|||||||
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
||||||
using JiShe.CollectBus.Kafka.Producer;
|
using JiShe.CollectBus.Kafka.Producer;
|
||||||
using JiShe.CollectBus.Protocol.Contracts;
|
using JiShe.CollectBus.Protocol.Contracts;
|
||||||
using MassTransit;
|
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using TouchSocket.Core;
|
using TouchSocket.Core;
|
||||||
using TouchSocket.Sockets;
|
using TouchSocket.Sockets;
|
||||||
@ -29,7 +27,6 @@ namespace JiShe.CollectBus.Plugins
|
|||||||
{
|
{
|
||||||
public partial class TcpMonitor : PluginBase, ITransientDependency, ITcpReceivedPlugin, ITcpConnectingPlugin, ITcpConnectedPlugin, ITcpClosedPlugin
|
public partial class TcpMonitor : PluginBase, ITransientDependency, ITcpReceivedPlugin, ITcpConnectingPlugin, ITcpConnectedPlugin, ITcpClosedPlugin
|
||||||
{
|
{
|
||||||
private readonly ICapPublisher _producerBus;
|
|
||||||
private readonly IProducerService _producerService;
|
private readonly IProducerService _producerService;
|
||||||
private readonly ILogger<TcpMonitor> _logger;
|
private readonly ILogger<TcpMonitor> _logger;
|
||||||
private readonly IRepository<Device, Guid> _deviceRepository;
|
private readonly IRepository<Device, Guid> _deviceRepository;
|
||||||
@ -42,12 +39,11 @@ namespace JiShe.CollectBus.Plugins
|
|||||||
/// <param name="logger"></param>
|
/// <param name="logger"></param>
|
||||||
/// <param name="deviceRepository"></param>
|
/// <param name="deviceRepository"></param>
|
||||||
/// <param name="ammeterInfoCache"></param>
|
/// <param name="ammeterInfoCache"></param>
|
||||||
public TcpMonitor(ICapPublisher producerBus, IProducerService producerService,
|
public TcpMonitor(IProducerService producerService,
|
||||||
ILogger<TcpMonitor> logger,
|
ILogger<TcpMonitor> logger,
|
||||||
IRepository<Device, Guid> deviceRepository,
|
IRepository<Device, Guid> deviceRepository,
|
||||||
IDistributedCache<AmmeterInfo> ammeterInfoCache)
|
IDistributedCache<AmmeterInfo> ammeterInfoCache)
|
||||||
{
|
{
|
||||||
_producerBus = producerBus;
|
|
||||||
_producerService = producerService;
|
_producerService = producerService;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_deviceRepository = deviceRepository;
|
_deviceRepository = deviceRepository;
|
||||||
@ -173,7 +169,7 @@ namespace JiShe.CollectBus.Plugins
|
|||||||
ClientPort = client.Port,
|
ClientPort = client.Port,
|
||||||
MessageHexString = messageHexString,
|
MessageHexString = messageHexString,
|
||||||
DeviceNo = deviceNo,
|
DeviceNo = deviceNo,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
};
|
};
|
||||||
|
|
||||||
//await _producerBus.PublishAsync(ProtocolConst.SubscriberLoginReceivedEventName, messageReceivedLoginEvent);
|
//await _producerBus.PublishAsync(ProtocolConst.SubscriberLoginReceivedEventName, messageReceivedLoginEvent);
|
||||||
@ -224,7 +220,7 @@ namespace JiShe.CollectBus.Plugins
|
|||||||
ClientPort = client.Port,
|
ClientPort = client.Port,
|
||||||
MessageHexString = messageHexString,
|
MessageHexString = messageHexString,
|
||||||
DeviceNo = deviceNo,
|
DeviceNo = deviceNo,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
};
|
};
|
||||||
//await _producerBus.PublishAsync(ProtocolConst.SubscriberHeartbeatReceivedEventName, messageReceivedHeartbeatEvent);
|
//await _producerBus.PublishAsync(ProtocolConst.SubscriberHeartbeatReceivedEventName, messageReceivedHeartbeatEvent);
|
||||||
|
|
||||||
@ -271,7 +267,7 @@ namespace JiShe.CollectBus.Plugins
|
|||||||
ClientPort = client.Port,
|
ClientPort = client.Port,
|
||||||
MessageHexString = messageHexString,
|
MessageHexString = messageHexString,
|
||||||
DeviceNo = deviceNo,
|
DeviceNo = deviceNo,
|
||||||
MessageId = NewId.NextGuid().ToString()
|
MessageId = Guid.NewGuid().ToString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using DotNetCore.CAP;
|
using JiShe.CollectBus.Ammeters;
|
||||||
using JiShe.CollectBus.Ammeters;
|
|
||||||
using JiShe.CollectBus.Application.Contracts;
|
using JiShe.CollectBus.Application.Contracts;
|
||||||
using JiShe.CollectBus.Common.BuildSendDatas;
|
using JiShe.CollectBus.Common.BuildSendDatas;
|
||||||
using JiShe.CollectBus.Common.Consts;
|
using JiShe.CollectBus.Common.Consts;
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Confluent.Kafka;
|
|
||||||
using DotNetCore.CAP;
|
|
||||||
using JiShe.CollectBus.Ammeters;
|
using JiShe.CollectBus.Ammeters;
|
||||||
using JiShe.CollectBus.Application.Contracts;
|
using JiShe.CollectBus.Application.Contracts;
|
||||||
using JiShe.CollectBus.Common.Consts;
|
using JiShe.CollectBus.Common.Consts;
|
||||||
@ -19,7 +17,6 @@ using JiShe.CollectBus.Kafka;
|
|||||||
using JiShe.CollectBus.Kafka.Producer;
|
using JiShe.CollectBus.Kafka.Producer;
|
||||||
using JiShe.CollectBus.Repository;
|
using JiShe.CollectBus.Repository;
|
||||||
using JiShe.CollectBus.Repository.MeterReadingRecord;
|
using JiShe.CollectBus.Repository.MeterReadingRecord;
|
||||||
using MassTransit;
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using DotNetCore.CAP;
|
using JiShe.CollectBus.Common.Consts;
|
||||||
using JiShe.CollectBus.Common.Consts;
|
|
||||||
using JiShe.CollectBus.Common.Enums;
|
using JiShe.CollectBus.Common.Enums;
|
||||||
using JiShe.CollectBus.Common.Helpers;
|
using JiShe.CollectBus.Common.Helpers;
|
||||||
using JiShe.CollectBus.Common.Models;
|
using JiShe.CollectBus.Common.Models;
|
||||||
@ -23,7 +22,7 @@ using Volo.Abp.Domain.Repositories;
|
|||||||
|
|
||||||
namespace JiShe.CollectBus.Subscribers
|
namespace JiShe.CollectBus.Subscribers
|
||||||
{
|
{
|
||||||
public class SubscriberAppService : CollectBusAppService, ISubscriberAppService, ICapSubscribe, IKafkaSubscribe
|
public class SubscriberAppService : CollectBusAppService, ISubscriberAppService, IKafkaSubscribe
|
||||||
{
|
{
|
||||||
private readonly ILogger<SubscriberAppService> _logger;
|
private readonly ILogger<SubscriberAppService> _logger;
|
||||||
private readonly ITcpService _tcpService;
|
private readonly ITcpService _tcpService;
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using DeviceDetectorNET.Parser.Device;
|
using DeviceDetectorNET.Parser.Device;
|
||||||
using DotNetCore.CAP;
|
|
||||||
using JiShe.CollectBus.Common.Consts;
|
using JiShe.CollectBus.Common.Consts;
|
||||||
using JiShe.CollectBus.Common.Enums;
|
using JiShe.CollectBus.Common.Enums;
|
||||||
using JiShe.CollectBus.IotSystems.Devices;
|
using JiShe.CollectBus.IotSystems.Devices;
|
||||||
@ -27,7 +26,7 @@ namespace JiShe.CollectBus.Subscribers
|
|||||||
/// 定时抄读任务消息消费订阅
|
/// 定时抄读任务消息消费订阅
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Route($"/worker/app/subscriber")]
|
[Route($"/worker/app/subscriber")]
|
||||||
public class WorkerSubscriberAppService : CollectBusAppService, IWorkerSubscriberAppService, ICapSubscribe, IKafkaSubscribe
|
public class WorkerSubscriberAppService : CollectBusAppService, IWorkerSubscriberAppService, IKafkaSubscribe
|
||||||
{
|
{
|
||||||
private readonly ILogger<WorkerSubscriberAppService> _logger;
|
private readonly ILogger<WorkerSubscriberAppService> _logger;
|
||||||
private readonly ITcpService _tcpService;
|
private readonly ITcpService _tcpService;
|
||||||
|
|||||||
@ -3,7 +3,6 @@ using Hangfire;
|
|||||||
using Hangfire.Redis.StackExchange;
|
using Hangfire.Redis.StackExchange;
|
||||||
using JiShe.CollectBus.Host.Hangfire;
|
using JiShe.CollectBus.Host.Hangfire;
|
||||||
using JiShe.CollectBus.Host.Swaggers;
|
using JiShe.CollectBus.Host.Swaggers;
|
||||||
using MassTransit;
|
|
||||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||||
using Microsoft.AspNetCore.DataProtection;
|
using Microsoft.AspNetCore.DataProtection;
|
||||||
using Microsoft.IdentityModel.Tokens;
|
using Microsoft.IdentityModel.Tokens;
|
||||||
@ -17,14 +16,6 @@ using Volo.Abp.Modularity;
|
|||||||
using TouchSocket.Core;
|
using TouchSocket.Core;
|
||||||
using TouchSocket.Sockets;
|
using TouchSocket.Sockets;
|
||||||
using JiShe.CollectBus.Plugins;
|
using JiShe.CollectBus.Plugins;
|
||||||
using JiShe.CollectBus.Consumers;
|
|
||||||
using JiShe.CollectBus.Protocol.Contracts;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageReceiveds;
|
|
||||||
using JiShe.CollectBus.IotSystems.MessageIssueds;
|
|
||||||
using Confluent.Kafka;
|
|
||||||
using MassTransit.SqlTransport.Topology;
|
|
||||||
using Confluent.Kafka.Admin;
|
|
||||||
using JiShe.CollectBus.Common.Consts;
|
|
||||||
|
|
||||||
|
|
||||||
namespace JiShe.CollectBus.Host
|
namespace JiShe.CollectBus.Host
|
||||||
@ -250,116 +241,5 @@ namespace JiShe.CollectBus.Host
|
|||||||
.SetUdpDataHandlingAdapter(() => new NormalUdpDataHandlingAdapter());
|
.SetUdpDataHandlingAdapter(() => new NormalUdpDataHandlingAdapter());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Configures the cap.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="context">The context.</param>
|
|
||||||
/// <param name="configuration">The configuration.</param>
|
|
||||||
public void ConfigureCap(ServiceConfigurationContext context, IConfiguration configuration)
|
|
||||||
{
|
|
||||||
context.Services.AddCap(x =>
|
|
||||||
{
|
|
||||||
x.DefaultGroupName = ProtocolConst.SubscriberGroup;
|
|
||||||
var connectionStr = configuration.GetConnectionString(CollectBusDbProperties.MongoDbConnectionStringName);
|
|
||||||
x.UseMongoDB(connectionStr); //MongoDB 4.0+ cluster
|
|
||||||
var kafka = configuration.GetConnectionString("Kafka");
|
|
||||||
x.UseKafka(option =>
|
|
||||||
{
|
|
||||||
option.Servers = kafka;
|
|
||||||
if (!Convert.ToBoolean(configuration["Kafka:EnableAuthorization"])) return;
|
|
||||||
option.MainConfig.Add("security.protocol", configuration["Kafka:SecurityProtocol"]);
|
|
||||||
option.MainConfig.Add("sasl.mechanism", configuration["Kafka:SaslMechanism"]);
|
|
||||||
option.MainConfig.Add("sasl.username", configuration["Kafka:SaslUserName"]);
|
|
||||||
option.MainConfig.Add("sasl.password", configuration["Kafka:SaslPassword"]);
|
|
||||||
});
|
|
||||||
|
|
||||||
x.UseDashboard();
|
|
||||||
x.FailedRetryInterval = 10;
|
|
||||||
x.FailedRetryCount = 5;
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Configures the mass transit.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="context">The context.</param>
|
|
||||||
/// <param name="configuration">The configuration.</param>
|
|
||||||
/// <summary>
|
|
||||||
/// Configures the mass transit.
|
|
||||||
/// </summary>
|
|
||||||
public void ConfigureMassTransit(ServiceConfigurationContext context, IConfiguration configuration)
|
|
||||||
{
|
|
||||||
var consumerConfig = new ConsumerConfig { GroupId = ProtocolConst.SubscriberGroup };
|
|
||||||
var producerConfig = new ProducerConfig();
|
|
||||||
|
|
||||||
context.Services
|
|
||||||
.AddMassTransit(x =>
|
|
||||||
{
|
|
||||||
x.UsingInMemory((context, cfg) => cfg.ConfigureEndpoints(context));
|
|
||||||
|
|
||||||
x.AddConfigureEndpointsCallback((c, name, cfg) =>
|
|
||||||
{
|
|
||||||
cfg.UseDelayedRedelivery(r => r.Intervals(TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(15), TimeSpan.FromMinutes(30)));
|
|
||||||
cfg.UseMessageRetry(r => r.Immediate(5));
|
|
||||||
cfg.UseInMemoryOutbox(c);
|
|
||||||
});
|
|
||||||
|
|
||||||
x.AddRider(rider =>
|
|
||||||
{
|
|
||||||
rider.AddConsumer<IssuedConsumer>();
|
|
||||||
rider.AddConsumer<ReceivedHeartbeatConsumer>();
|
|
||||||
rider.AddConsumer<ReceivedLoginConsumer>();
|
|
||||||
rider.AddConsumer<ReceivedConsumer>(cfg =>
|
|
||||||
{
|
|
||||||
cfg.Options<BatchOptions>(options => options
|
|
||||||
.SetMessageLimit(100)
|
|
||||||
.SetTimeLimit(s: 1)
|
|
||||||
.SetTimeLimitStart(BatchTimeLimitStart.FromLast)
|
|
||||||
.SetConcurrencyLimit(10));
|
|
||||||
});
|
|
||||||
rider.AddConsumer<ScheduledMeterReadingConsumer>();
|
|
||||||
|
|
||||||
rider.AddProducer<string, MessageReceivedLogin>(ProtocolConst.SubscriberLoginReceivedEventName);
|
|
||||||
rider.AddProducer<string, ReceivedHeartbeatConsumer>(ProtocolConst.SubscriberHeartbeatReceivedEventName);
|
|
||||||
|
|
||||||
rider.UsingKafka((c, cfg) =>
|
|
||||||
{
|
|
||||||
cfg.Host(configuration.GetConnectionString("Kafka"));
|
|
||||||
|
|
||||||
cfg.TopicEndpoint<MessageReceivedHeartbeat>(ProtocolConst.SubscriberHeartbeatReceivedEventName, consumerConfig, configurator =>
|
|
||||||
{
|
|
||||||
configurator.AutoOffsetReset = AutoOffsetReset.Earliest;
|
|
||||||
configurator.ConfigureConsumer<ReceivedHeartbeatConsumer>(c);
|
|
||||||
});
|
|
||||||
|
|
||||||
cfg.TopicEndpoint<MessageReceivedLogin>(ProtocolConst.SubscriberLoginReceivedEventName, consumerConfig, configurator =>
|
|
||||||
{
|
|
||||||
configurator.ConfigureConsumer<ReceivedLoginConsumer>(c);
|
|
||||||
configurator.AutoOffsetReset = AutoOffsetReset.Earliest;
|
|
||||||
});
|
|
||||||
|
|
||||||
cfg.TopicEndpoint<MessageReceived>(ProtocolConst.SubscriberReceivedEventName, consumerConfig, configurator =>
|
|
||||||
{
|
|
||||||
configurator.ConfigureConsumer<ReceivedConsumer>(c);
|
|
||||||
configurator.AutoOffsetReset = AutoOffsetReset.Earliest;
|
|
||||||
});
|
|
||||||
|
|
||||||
cfg.TopicEndpoint<MessageReceived>(ProtocolConst.SubscriberReceivedEventName, consumerConfig, configurator =>
|
|
||||||
{
|
|
||||||
configurator.ConfigureConsumer<IssuedConsumer>(c);
|
|
||||||
configurator.AutoOffsetReset = AutoOffsetReset.Earliest;
|
|
||||||
});
|
|
||||||
|
|
||||||
cfg.TopicEndpoint<ScheduledMeterReadingIssuedEventMessage>(ProtocolConst.AmmeterSubscriberWorkerFifteenMinuteIssuedEventName, consumerConfig, configurator =>
|
|
||||||
{
|
|
||||||
configurator.ConfigureConsumer<ScheduledMeterReadingConsumer>(c);
|
|
||||||
configurator.AutoOffsetReset = AutoOffsetReset.Earliest;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -43,8 +43,6 @@ namespace JiShe.CollectBus.Host
|
|||||||
ConfigureNetwork(context, configuration);
|
ConfigureNetwork(context, configuration);
|
||||||
ConfigureJwtAuthentication(context, configuration);
|
ConfigureJwtAuthentication(context, configuration);
|
||||||
ConfigureHangfire(context);
|
ConfigureHangfire(context);
|
||||||
ConfigureCap(context, configuration);
|
|
||||||
//ConfigureMassTransit(context, configuration);
|
|
||||||
//ConfigureKafkaTopic(context, configuration);
|
//ConfigureKafkaTopic(context, configuration);
|
||||||
ConfigureAuditLog(context);
|
ConfigureAuditLog(context);
|
||||||
ConfigureCustom(context, configuration);
|
ConfigureCustom(context, configuration);
|
||||||
|
|||||||
@ -20,10 +20,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DotNetCore.CAP" Version="8.3.1" />
|
|
||||||
<PackageReference Include="DotNetCore.CAP.Dashboard" Version="8.3.1" />
|
|
||||||
<PackageReference Include="DotNetCore.CAP.Kafka" Version="8.3.1" />
|
|
||||||
<PackageReference Include="DotNetCore.CAP.MongoDB" Version="8.3.1" />
|
|
||||||
<PackageReference Include="Hangfire.Redis.StackExchange" Version="1.9.4" />
|
<PackageReference Include="Hangfire.Redis.StackExchange" Version="1.9.4" />
|
||||||
<PackageReference Include="MassTransit" Version="8.4.0" />
|
<PackageReference Include="MassTransit" Version="8.4.0" />
|
||||||
<PackageReference Include="MassTransit.Kafka" Version="8.4.0" />
|
<PackageReference Include="MassTransit.Kafka" Version="8.4.0" />
|
||||||
|
|||||||
@ -74,14 +74,6 @@
|
|||||||
"Version": "V1"
|
"Version": "V1"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Cap": {
|
|
||||||
"RabbitMq": {
|
|
||||||
"HostName": "118.190.144.92",
|
|
||||||
"UserName": "collectbus",
|
|
||||||
"Password": "123456",
|
|
||||||
"Port": 5672
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Kafka": {
|
"Kafka": {
|
||||||
"BootstrapServers": "192.168.1.9:29092,192.168.1.9:39092,192.168.1.9:49092",
|
"BootstrapServers": "192.168.1.9:29092,192.168.1.9:39092,192.168.1.9:49092",
|
||||||
"EnableFilter": true,
|
"EnableFilter": true,
|
||||||
@ -93,37 +85,7 @@
|
|||||||
"KafkaReplicationFactor": 3,
|
"KafkaReplicationFactor": 3,
|
||||||
"NumPartitions": 30,
|
"NumPartitions": 30,
|
||||||
"ServerTagName": "JiSheCollectBus2"
|
"ServerTagName": "JiSheCollectBus2"
|
||||||
//"Topic": {
|
|
||||||
// "ReplicationFactor": 3,
|
|
||||||
// "NumPartitions": 1000
|
|
||||||
//}
|
|
||||||
},
|
},
|
||||||
//"Kafka": {
|
|
||||||
// "Connections": {
|
|
||||||
// "Default": {
|
|
||||||
// "BootstrapServers": "192.168.1.9:29092,192.168.1.9:39092,192.168.1.9:49092"
|
|
||||||
// // "SecurityProtocol": "SASL_PLAINTEXT",
|
|
||||||
// // "SaslMechanism": "PLAIN",
|
|
||||||
// // "SaslUserName": "lixiao",
|
|
||||||
// // "SaslPassword": "lixiao1980",
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// "Consumer": {
|
|
||||||
// "GroupId": "JiShe.CollectBus"
|
|
||||||
// },
|
|
||||||
// "Producer": {
|
|
||||||
// "MessageTimeoutMs": 6000,
|
|
||||||
// "Acks": -1
|
|
||||||
// },
|
|
||||||
// "Topic": {
|
|
||||||
// "ReplicationFactor": 3,
|
|
||||||
// "NumPartitions": 1000
|
|
||||||
// },
|
|
||||||
// "EventBus": {
|
|
||||||
// "GroupId": "JiShe.CollectBus",
|
|
||||||
// "TopicName": "DefaultTopicName"
|
|
||||||
// }
|
|
||||||
//},
|
|
||||||
"IoTDBOptions": {
|
"IoTDBOptions": {
|
||||||
"UserName": "root",
|
"UserName": "root",
|
||||||
"Password": "root",
|
"Password": "root",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user