From f27b840e2c0d98cf2a9119f9428fb19cb0b51af0 Mon Sep 17 00:00:00 2001 From: CZ Date: Wed, 19 Jun 2024 17:46:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E5=9C=BA=E6=B5=8B=E8=AF=95=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Service/TBox/Handler/SocMsgHandler.cs | 3 ++ Service/TBox/Server/TBoxServer.cs | 46 ++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/Service/TBox/Handler/SocMsgHandler.cs b/Service/TBox/Handler/SocMsgHandler.cs index 54fc968..bdb3b3c 100644 --- a/Service/TBox/Handler/SocMsgHandler.cs +++ b/Service/TBox/Handler/SocMsgHandler.cs @@ -3,6 +3,7 @@ using HybirdFrameworkCore.Autofac.Attribute; using log4net; using Newtonsoft.Json; using Service.TBox.Msg.TBox; +using Service.TBox.Server; namespace Service.TBox.Handler; @@ -15,5 +16,7 @@ public class SocMsgHandler : SimpleChannelInboundHandler, IBaseHandler protected override void ChannelRead0(IChannelHandlerContext ctx, SocMsg msg) { Log.Info($"receive SocMsg={JsonConvert.SerializeObject(msg)}"); + var server = TBoxServerMgr.Server; + if (server != null) server.SocMsg = msg; } } diff --git a/Service/TBox/Server/TBoxServer.cs b/Service/TBox/Server/TBoxServer.cs index fb3cb5b..c8d2395 100644 --- a/Service/TBox/Server/TBoxServer.cs +++ b/Service/TBox/Server/TBoxServer.cs @@ -191,7 +191,9 @@ public class TBoxServer : TcpServer public string? BatteryNo() { - byte leng = BatteryOneSn.Length; + #region MyRegion + + /*byte leng = BatteryOneSn.Length; if (leng > 8) { byte[] bytes = new byte[leng]; @@ -229,7 +231,7 @@ public class TBoxServer : TcpServer { bytes[i] = lstByte[i]; } - + if (BatteryOneSn.Sn1 != 0 && BatteryOneSn.Sn2 != 0 && BatteryOneSn.Sn3 != 0 && BatteryOneSn.Sn4 != 0 && BatteryOneSn.Sn5 != 0 && BatteryOneSn.Sn6 != 0 @@ -239,9 +241,45 @@ public class TBoxServer : TcpServer { return Encoding.ASCII.GetString(bytes); } - } + }*/ - return null; + #endregion + + List list = new() + { + BatteryOneSn.Sn1, + BatteryOneSn.Sn2, + BatteryOneSn.Sn3, + BatteryOneSn.Sn4, + BatteryOneSn.Sn5, + BatteryOneSn.Sn6, + BatteryTwoSn.Sn1, + BatteryTwoSn.Sn2, + BatteryTwoSn.Sn3, + BatteryTwoSn.Sn4, + BatteryTwoSn.Sn5, + BatteryTwoSn.Sn6, + }; + var count = list.Where(i => i <= 0).Count(); + if (count > 6) + { + return null; + } + byte[] bytes = new byte[12]; + bytes[0] = BatteryOneSn.Sn1; + bytes[1] = BatteryOneSn.Sn2; + bytes[2] = BatteryOneSn.Sn3; + bytes[3] = BatteryOneSn.Sn4; + bytes[4] = BatteryOneSn.Sn5; + bytes[5] = BatteryOneSn.Sn6; + bytes[6] = BatteryTwoSn.Sn1; + bytes[7] = BatteryTwoSn.Sn2; + bytes[8] = BatteryTwoSn.Sn3; + bytes[9] = BatteryTwoSn.Sn4; + bytes[10] = BatteryTwoSn.Sn5; + bytes[11] = BatteryTwoSn.Sn6; + + return Encoding.ASCII.GetString(bytes); } #endregion