From caf2599a9869244ded811018811c37a2aabac3fc Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期三, 08 一月 2025 11:29:05 +0800
Subject: [PATCH] 优化测温协议

---
 src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java b/src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java
index ccf6678..43d283f 100644
--- a/src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java
+++ b/src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java
@@ -4,7 +4,10 @@
 import com.fzzy.api.data.ApiCommonDevice;
 import com.fzzy.api.utils.SpringUtil;
 import com.fzzy.gateway.service.GatewayDeviceService;
-import com.fzzy.protocol.bhzn.server.BhznGrainV2ServerUtils;
+import com.fzzy.io.request.BaseRequest;
+import com.fzzy.protocol.zldz.cmd.OnLineCommandBuilder;
+import com.fzzy.protocol.zldz.data.Message;
+import com.ld.io.api.InvokeResult;
 import com.ld.io.api.IoSession;
 import com.ld.io.api.IoSessionListener;
 import lombok.extern.slf4j.Slf4j;
@@ -26,12 +29,30 @@
         log.info("++++鏂板缓杩炴帴++++-IP={}锛孭ORT={}", session.getAddress(), session.getPort());
 
         // 娣诲姞鑷畾涔変笟鍔D
-        session.setBusinessKey(BhznGrainV2ServerUtils.getServerKey(session.getAddress(), session.getPort()));
+        session.setBusinessKey(ZldzServerUtil.getServerKey(session.getAddress(), session.getPort()));
 
         //鎵ц鍒嗘満涓婄嚎
-        ApiCommonDevice commonDevice = Constant.updateCacheOnline(session.getAddress(), session.getPort());
-        if (null == commonDevice.getSn()) {
-            log.error("------璁惧涓婄嚎锛岀郴缁熶腑鏈彂鐜板綋鍓嶉厤缃�-------");
+        Constant.updateCacheOnline(session.getAddress(), session.getPort());
+
+
+        try {
+            /***********************璁惧涓婄嚎鍚庝富鍔ㄨ幏鍙栭厤缃俊鎭�******************/
+
+            BaseRequest request = new BaseRequest();
+            request.setIp(session.getAddress());
+            request.setPort(session.getPort());
+            request.setCompanyId(ZldzServerUtil.DEFAULT_COMPANY);
+            // Step1 鐢熸垚鍦ㄧ嚎娴嬭瘯鍛戒护
+            Message message = OnLineCommandBuilder.getInstance().buildMessage(request);
+            // 鍙戦�佸懡浠�
+            InvokeResult result = session.invoke(message.getByteMsg());
+            //濡傛灉鍛戒护鍙戦�佸け璐ワ紝鐩存帴韪㈡帀杩炴帴
+            if (!InvokeResult.SUCCESS.getCode().equals(result.getCode())) {
+                session.destroy();
+            }
+            log.info("骞冲彴------->>鍒嗘満---璁惧涓婄嚎锛岃嚜鍔ㄥ彂閫佽澶囬厤缃俊鎭姹傚懡浠�--{}", message);
+        } catch (Exception e) {
+            log.error("骞冲彴------->>鍒嗘満---璁惧涓婄嚎锛岃嚜鍔ㄥ彂閫佽澶囬厤缃俊鎭姹傚懡浠ゅけ璐�--{}", session.getAddress());
         }
     }
 
@@ -51,9 +72,10 @@
 
         if (null == gatewayDeviceService) {
             gatewayDeviceService = SpringUtil.getBean(GatewayDeviceService.class);
-
-            gatewayDeviceService.OfflineByCommonDevice(commonDevice);
         }
+        gatewayDeviceService.OfflineByCommonDevice(commonDevice);
 
+        //韪㈠嚭杩炴帴
+        session.destroy();
     }
 }

--
Gitblit v1.9.3