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