From 46203ee88249d9a4046f3d453deb41edc562cf6c Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期二, 12 十二月 2023 12:36:53 +0800 Subject: [PATCH] 提交网关心跳和设备状态 --- src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java b/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java index 84020a0..4d88ea0 100644 --- a/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java +++ b/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java @@ -1,9 +1,11 @@ package com.fzzy.protocol.weightyh; +import com.fzzy.api.data.GatewayDeviceType; import com.fzzy.api.utils.BytesUtil; import com.fzzy.api.utils.SpringUtil; import com.fzzy.gateway.GatewayUtils; import com.fzzy.gateway.api.GatewayRemoteManager; +import com.fzzy.gateway.data.BaseReqData; import com.fzzy.gateway.entity.GatewayDevice; import com.ld.io.api.IoMsgConsumer; import com.ld.io.api.IoSession; @@ -22,7 +24,7 @@ private long timeTag = 0; - private GatewayRemoteManager reportService; + private GatewayRemoteManager gatewayRemoteManager; @Override public void consume(IoSession session, byte[] bytes) { @@ -34,7 +36,7 @@ */ public void analysisInfo(String ip, Integer port, byte[] bytes) { String strMsg = BytesUtil.bytesToString(bytes); - //log.debug("寮�濮嬭В鏋愬湴纾呰繑鍥炰俊鎭�=" + strMsg); + if (strMsg.length() < 22) { return; } @@ -55,12 +57,11 @@ //鏈�缁堥噸閲忕粨鏋� double weigh = Double.valueOf(w) / d; - + log.debug("WEIGHT-MESSAGE=" + strMsg); log.debug("----------鍦扮绉伴噸鏁板�艰В鏋�------{}", weigh); //褰撳墠鍦扮鍗忚涓嶆敮鎸佷紶閫扴N锛屼娇鐢ㄥ眬鍩熺綉IP浣滀负SN String sn = ip; - //鏍规嵁淇℃伅鑾峰彇璁惧 GatewayDevice device = GatewayUtils.getCacheByDeviceSn(sn); @@ -71,11 +72,21 @@ } //鐩存帴璋冪敤瀹炵幇绫伙紝鏇村瀹炵幇绫诲崟鐙皟鐢� - if (null == reportService) { - reportService = SpringUtil.getBean(GatewayRemoteManager.class); + if (null == gatewayRemoteManager) { + gatewayRemoteManager = SpringUtil.getBean(GatewayRemoteManager.class); } - reportService.getDeviceReportService(device.getProvinceProtocol()).report2GatewayBySn(weigh, device); + //鏁版嵁灏佽鎺ㄩ�� + BaseReqData reqData = new BaseReqData(); + reqData.setDevice(device); + reqData.setDeviceId(device.getDeviceId()); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); + reqData.setWeight(weigh); + + if (weigh > 0) { + gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportWeightData(reqData); + } } /** -- Gitblit v1.9.3