ningshuxia
2022-11-18 b4093bc3cbe7e1c347bd9d366528a74b8a18f570
Socket/IStation.DataDockingSocket4SZJT_KT/HandleHelper.cs
@@ -12,12 +12,41 @@
    public class HandleHelper : IDataDockingSocket.IHandleHelper
    {
        /// <summary>
        /// 验证
        /// </summary>
        public bool Valid(byte[] bytes)
        {
            SZJTKTLogHelper.Info($"字节长度:{bytes.Count()}");
            if (bytes == null || bytes.Count() < 1)
                return false;
            var appParas = AppParasHelper.Get();
            SZJTKTLogHelper.Info($"获取参数");
            if (appParas == null)
                return false;
            var bytePrefix = new byte[8];
            Array.Copy(bytes, 0, bytePrefix, 0, 8);
            var prefix = Encoding.ASCII.GetString(bytePrefix);
            SZJTKTLogHelper.Info($"前缀:{prefix}");
            if (prefix != appParas.Prefix)
                return false;
            byte[] byteProductID = new byte[4];
            Array.Copy(bytes, 9, byteProductID, 0, 4);
            var productId = HandleDataHelper.Bytes2Int4(byteProductID);
            SZJTKTLogHelper.Info($"设备编号:{productId}");
            if (productId.ToString() != appParas.ProductID)
                return false;
            return true;
        }
        /// <summary>
        /// 处理注册码
        /// </summary>
        public void HandleRegisterCode(IMonitorDataDockingSession session)
        {
            try
            {
            {
                if (session == null)
                {
                    SZJTKTLogHelper.Error("session == null");
@@ -49,12 +78,6 @@
                    return;
                }
                SZJTKTLogHelper.Info("开始解析的位置!");
                foreach (var item in appParas.InstructionItems)
                {
                    SendInstructionJobHelper.StartJob(session, item);
                    Thread.Sleep(appParas.InstructionSendSpace * 1000);
                }
            }
            catch (Exception ex)
@@ -70,8 +93,8 @@
        {
        }
        /// <summary>
        /// 处理数据
@@ -89,9 +112,7 @@
            if (!session.IsConnected)
                return;
            if (bytes == null)
                return;
            if (!AppParas.Verify(bytes))
                return;
                return;
            if (mappers == null || mappers.Count < 1)
                return;
            var appParas = AppParasHelper.Get();
@@ -101,10 +122,9 @@
                return;
            }
            var item = appParas.InstructionItems.Find(x => x.Verify(bytes));
            if (item == null)
                return;
            var src_list = HandleDataHelper.HandleData(item, bytes);
            SZJTKTLogHelper.Info($"开始处理数据:{BitConverter.ToString(bytes)}");
            var src_list = HandleDataHelper.HandleData(bytes);
            if (src_list != null && src_list.Count > 0)
            {
                var receive_list = new List<Model.MonitorDataDockingReceiveRecord>();
@@ -134,6 +154,7 @@
            }
        }
    }
}