Compare commits

..

No commits in common. "8c6fe78739ec79edb57866f2575e0cc25b5b9c01" and "64ca50e39e97bca32de4d4bc2eee45824e35baa5" have entirely different histories.

8 changed files with 14 additions and 35 deletions

View File

@ -91,7 +91,7 @@ namespace JiShe.CollectBus.Protocol.T1882018
List<string> dataUnit = new List<string>();
//数据转发场景 10H_F1
if (request.ItemCode == T37612012PacketItemCodeConst.AFN10HFN01H && request.SubProtocolRequest != null && string.IsNullOrWhiteSpace(request.SubProtocolRequest.ItemCode) == false)
if (aFNStr == "10" && request.SubProtocolRequest != null && string.IsNullOrWhiteSpace(request.SubProtocolRequest.ItemCode) == false)
{
var t188PacketHandlerName = $"{T1882018PacketItemCodeConst.BasicT1882018}_{request.SubProtocolRequest.ItemCode}_Send";
Telemetry1882018PacketResponse t645PacketResponse = null;

View File

@ -1,12 +1,10 @@
using System.Text.RegularExpressions;
using JiShe.CollectBus.Common;
using JiShe.CollectBus.Common.Consts;
using JiShe.CollectBus.FreeRedis;
using JiShe.CollectBus.IotSystems.Protocols;
using JiShe.CollectBus.Protocol.Interfaces;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Volo.Abp;
using Volo.Abp.DependencyInjection;
@ -17,14 +15,12 @@ namespace JiShe.CollectBus.Protocol.Services
private readonly IFreeRedisProvider _freeRedisProvider;
private readonly IServiceProvider _serviceProvider;
private readonly ILogger<ProtocolService> _logger;
private readonly ServerApplicationOptions _serverApplicationOptions;
public ProtocolService(IFreeRedisProvider freeRedisProvider, IServiceProvider serviceProvider, ILogger<ProtocolService> logger,IOptions<ServerApplicationOptions> serverApplicationOptions)
public ProtocolService(IFreeRedisProvider freeRedisProvider, IServiceProvider serviceProvider, ILogger<ProtocolService> logger)
{
_freeRedisProvider = freeRedisProvider;
_serviceProvider = serviceProvider;
_logger= logger;
_serverApplicationOptions = serverApplicationOptions.Value;
}
/// <summary>
@ -40,7 +36,7 @@ namespace JiShe.CollectBus.Protocol.Services
var keyValuePair = protocols.FirstOrDefault(a => ContainsExactPartRegex(deviceCode, a.Value.RegularExpression));
if (!keyValuePair.Key.IsNullOrWhiteSpace() || keyValuePair.Value != null) return keyValuePair.Value;
if (isSpecial) throw new UserFriendlyException("The device protocol plugin does not exist!", ExceptionCode.NotFound);
var hasStandardProtocolPlugin = protocols.TryGetValue(_serverApplicationOptions.DefaultProtocolPlugin, out var protocolInfo);
var hasStandardProtocolPlugin = protocols.TryGetValue("T37612012ProtocolPlugin", out var protocolInfo);
if (!hasStandardProtocolPlugin) throw new UserFriendlyException("Standard protocol plugin does not exist!", ExceptionCode.NotFound);
return protocolInfo;
}

View File

@ -1,11 +1,9 @@
using JiShe.CollectBus.Common;
using JiShe.CollectBus.IotSystems.Ammeters;
using JiShe.CollectBus.IotSystems.Ammeters;
using JiShe.CollectBus.IotSystems.Devices;
using JiShe.CollectBus.Kafka.Producer;
using JiShe.CollectBus.Protocol.Interfaces;
using JiShe.CollectBus.Protocol3761;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System;
using System.Threading.Tasks;
using TouchSocket.Core;
@ -24,7 +22,6 @@ namespace JiShe.CollectBus.Plugins
private readonly IDistributedCache<AmmeterInfo> _ammeterInfoCache;
private readonly IServiceProvider _serviceProvider;
private readonly IProtocolService _protocolService;
private readonly ServerApplicationOptions _serverApplicationOptions;
/// <summary>
///
@ -34,15 +31,10 @@ namespace JiShe.CollectBus.Plugins
/// <param name="deviceRepository"></param>
/// <param name="ammeterInfoCache"></param>
/// <param name="serviceProvider"></param>
/// <param name="serverApplicationOptions"></param>
/// <param name="protocolService"></param>
public TcpMonitor(IProducerService producerService,
ILogger<TcpMonitor> logger,
IRepository<Device, Guid> deviceRepository,
IDistributedCache<AmmeterInfo> ammeterInfoCache,
IServiceProvider serviceProvider,
IOptions<ServerApplicationOptions> serverApplicationOptions,
IProtocolService protocolService)
IDistributedCache<AmmeterInfo> ammeterInfoCache, IServiceProvider serviceProvider, IProtocolService protocolService)
{
_producerService = producerService;
_logger = logger;
@ -50,20 +42,17 @@ namespace JiShe.CollectBus.Plugins
_ammeterInfoCache = ammeterInfoCache;
_serviceProvider= serviceProvider;
_protocolService = protocolService;
_serverApplicationOptions = serverApplicationOptions.Value;
}
public async Task OnTcpReceived(ITcpSession client, ReceivedDataEventArgs e)
{
if (string.IsNullOrWhiteSpace(_serverApplicationOptions.DefaultProtocolPlugin))
{
_logger.LogError($"请配置默认的端到云协议插件!");
}
var messageHexString = Convert.ToHexString(e.ByteBlock.Span);
var protocolPlugin = await _protocolService.GetProtocolServiceAsync(_serverApplicationOptions.DefaultProtocolPlugin);
var protocolPlugin = await _protocolService.GetProtocolServiceAsync("376.1");
if (protocolPlugin == null)
{
_logger.LogError($"默认的端到云协议插件{_serverApplicationOptions.DefaultProtocolPlugin}不存在!");
_logger.LogError("协议不存在!");
}
var tcpSessionClient = (ITcpSessionClient)client;

View File

@ -18,12 +18,12 @@
/// <summary>
/// 首次采集时间
/// </summary>
public DateTime? FirstCollectionTime { get; set; }
public DateTime? FirstCollectionTime { get; set; }
/// <summary>
/// 自动验证时间
/// </summary>
public required string AutomaticVerificationTime { get; set; }
public required string AutomaticVerificationTime { get; set;}
/// <summary>
/// 自动获取终端版时间
@ -34,10 +34,5 @@
/// 自动获取远程通信模块(SIM)版本时间
/// </summary>
public required string AutomaticGetTelematicsModuleTime { get; set; }
/// <summary>
/// 默认协议插件
/// </summary>
public required string DefaultProtocolPlugin { get; set; }
}
}

View File

@ -5,7 +5,7 @@
"Serilog.Sinks.File"
],
"MinimumLevel": {
"Default": "Warning",
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"Volo.Abp": "Warning",
@ -147,8 +147,7 @@
"FirstCollectionTime": "2025-04-22 16:07:00",
"AutomaticVerificationTime": "16:07:00",
"AutomaticGetTerminalVersionTime": "17:07:00",
"AutomaticGetTelematicsModuleTime": "17:30:00",
"DefaultProtocolPlugin": "T37612012ProtocolPlugin"
"AutomaticGetTelematicsModuleTime": "17:30:00"
},
"PlugInFolder": ""
}