From 73126c24edad607f511c568a8444a9ac2b3b5129 Mon Sep 17 00:00:00 2001 From: WenJY Date: Mon, 29 Dec 2025 10:48:36 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sln.Iot.Business/IotEnvBusiness.cs | 5 ++++- Sln.Iot.Common/StringChange.cs | 9 +++++++++ Sln.Iot.Model/dto/MonitorAlarmDto.cs | 2 +- Sln.Iot.Serial/SerialExtensions.cs | 10 ++++++---- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/Sln.Iot.Business/IotEnvBusiness.cs b/Sln.Iot.Business/IotEnvBusiness.cs index fa0c86e..3d95281 100644 --- a/Sln.Iot.Business/IotEnvBusiness.cs +++ b/Sln.Iot.Business/IotEnvBusiness.cs @@ -56,6 +56,8 @@ namespace Sln.Iot.Business private readonly IBaseAlarmRuleService _alarmRuleService; private readonly WebSocketBusiness _webSocket; + + private readonly StringChange _stringChange; private readonly TcpServer _tcpServer; @@ -66,6 +68,7 @@ namespace Sln.Iot.Business IBaseAlarmRuleService alarmRuleService, WebSocketBusiness webSocket, TcpServer tcpServer , IBaseMonitorInfoService monitorInfoService) : base(logger, appConfig, stringChange) { + _stringChange = stringChange; _service = service; _alarmRuleService = alarmRuleService; _webSocket = webSocket; @@ -461,7 +464,7 @@ namespace Sln.Iot.Business MonitorAlarmDto monitorAlarmDto = new MonitorAlarmDto() { - monitorId = item.monitorId, + monitorId = _stringChange.ParseToInt(_stringChange.TransformString(item.monitorId)), isFlag = ruleRes.Count() > 0 ? 1 : 0, deviceParam = item, alarmRules = ruleRes, diff --git a/Sln.Iot.Common/StringChange.cs b/Sln.Iot.Common/StringChange.cs index 962a0b9..6c366b4 100644 --- a/Sln.Iot.Common/StringChange.cs +++ b/Sln.Iot.Common/StringChange.cs @@ -316,5 +316,14 @@ namespace Sln.Iot.Common } return BitConverter.GetBytes(Convert.ToUInt16(iVerify)); } + + public string TransformString(string input) + { + if (string.IsNullOrEmpty(input)) + return input; + + // 先将 E 替换为 9,再移除下划线 + return input.Replace('E', '9').Replace("_", ""); + } } } \ No newline at end of file diff --git a/Sln.Iot.Model/dto/MonitorAlarmDto.cs b/Sln.Iot.Model/dto/MonitorAlarmDto.cs index fa1dd05..6325eb0 100644 --- a/Sln.Iot.Model/dto/MonitorAlarmDto.cs +++ b/Sln.Iot.Model/dto/MonitorAlarmDto.cs @@ -13,7 +13,7 @@ namespace Sln.Iot.Model.dto /// /// 设备编号 /// - public string monitorId { get;set; } + public long monitorId { get;set; } /// /// 是否报警:1-是;0-否 diff --git a/Sln.Iot.Serial/SerialExtensions.cs b/Sln.Iot.Serial/SerialExtensions.cs index 1fca02f..d26f38b 100644 --- a/Sln.Iot.Serial/SerialExtensions.cs +++ b/Sln.Iot.Serial/SerialExtensions.cs @@ -29,7 +29,8 @@ namespace Sln.Iot.Serial IBaseAlarmRuleService _alarmRuleService = service.GetService(); WebSocketBusiness webSocket = service.GetService(); - + + var logger = service.GetService(); try { @@ -108,7 +109,7 @@ namespace Sln.Iot.Serial logger.Info($"物联网数据保存{(inRes ? "成功" : "失败")}"); - ParamAlarmFilter(iotEnvInstants,_alarmRuleService,logger, webSocket); + ParamAlarmFilter(iotEnvInstants,_alarmRuleService,logger, webSocket,stringChange); } catch (Exception ex) { @@ -127,7 +128,7 @@ namespace Sln.Iot.Serial } } - private static void ParamAlarmFilter(List iotEnvInstants, IBaseAlarmRuleService _alarmRuleService, SerilogHelper _logger, WebSocketBusiness _webSocket) + private static void ParamAlarmFilter(List iotEnvInstants, IBaseAlarmRuleService _alarmRuleService, SerilogHelper _logger, WebSocketBusiness _webSocket,StringChange stringChange) { if (iotEnvInstants == null) { @@ -178,9 +179,10 @@ namespace Sln.Iot.Serial } } + MonitorAlarmDto monitorAlarmDto = new MonitorAlarmDto() { - monitorId = item.monitorId, + monitorId = stringChange.ParseToInt(stringChange.TransformString(item.monitorId)), isFlag = ruleRes.Count() > 0 ? 1 : 0, deviceParam = item, alarmRules = ruleRes,