From 55c2563e2116917d4ff009372f212ef29859c264 Mon Sep 17 00:00:00 2001 From: "nodyang@aliyun.com" Date: Sat, 14 Sep 2024 13:20:29 +0800 Subject: [PATCH] Data --- SlnMesnac.TouchSocket/ScanStatusSocket.cs | 5 +++++ SlnMesnac.TouchSocket/TcpServer.cs | 26 +++++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/SlnMesnac.TouchSocket/ScanStatusSocket.cs b/SlnMesnac.TouchSocket/ScanStatusSocket.cs index ce8c42d..4f49e1f 100644 --- a/SlnMesnac.TouchSocket/ScanStatusSocket.cs +++ b/SlnMesnac.TouchSocket/ScanStatusSocket.cs @@ -19,4 +19,9 @@ public class ScanStatusSocket public int is_alarm { get; set; } public List device_status { get; set; } + + + public List status_txt { get; set; } + + } \ No newline at end of file diff --git a/SlnMesnac.TouchSocket/TcpServer.cs b/SlnMesnac.TouchSocket/TcpServer.cs index 2ce92d5..89e6bfc 100644 --- a/SlnMesnac.TouchSocket/TcpServer.cs +++ b/SlnMesnac.TouchSocket/TcpServer.cs @@ -1,10 +1,12 @@ using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; +using System.Linq; using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using SlnMesnac.Model.domain; +using SlnMesnac.Repository.service; using SlnMesnac.Repository.service.ScanLog; using TouchSocket.Core; using TouchSocket.Sockets; @@ -42,6 +44,8 @@ namespace SlnMesnac.TouchSocket private readonly TcpService _service; private readonly IScanLogService _scanService; + + private readonly IBaseCodeService _baseCodeService; // /// // /// 接收客户端指令委托 // /// @@ -57,12 +61,12 @@ namespace SlnMesnac.TouchSocket public Action ScanStatusSocketAction; - public TcpServer(ILogger logger,TcpService tcpService, IScanLogService scan) + public TcpServer(ILogger logger,TcpService tcpService, IScanLogService scan, IBaseCodeService baseCodeService) { _logger = logger; _service = tcpService; _scanService = scan; - + _baseCodeService = baseCodeService; } public void Init(int serverPort) @@ -102,7 +106,7 @@ namespace SlnMesnac.TouchSocket if (dataType == 1) { - ScanLogSocket scanStatus= JsonConvert.DeserializeObject(mes); + ScanLogSocket scanStatus= mes.FromJsonString(); ScanLogSocketAction?.Invoke(scanStatus); _scanService.Insert(new ScanLogModel() { @@ -122,8 +126,22 @@ namespace SlnMesnac.TouchSocket { if (dataType == 2) { - ScanStatusSocket scanStatus= JsonConvert.DeserializeObject(mes); + ScanStatusSocket scanStatus = mes.FromJsonString(); ScanStatusSocketAction?.Invoke(scanStatus); + if (scanStatus.device_status != null && scanStatus.device_status.Count > 0) + { + List ls = new List(); + var baseCodes = _baseCodeService.Query(); + foreach (var baseCode in scanStatus.device_status) + { + var enBaseCode = baseCodes.FirstOrDefault(x=>x.Code==baseCode); + if (enBaseCode != null) + { + ls.Add(enBaseCode.State); + } + } + scanStatus.status_txt = ls; + } } }