From 328eba66ddc6fdf2f324b9cd04cd6acec9f642de Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期六, 18 十一月 2023 13:48:49 +0800 Subject: [PATCH] 增加HTTP地磅协议实现 --- src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java | 24 +++++++++++++++++------- 1 files changed, 17 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 580b4d7..a0253fc 100644 --- a/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java +++ b/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java @@ -4,6 +4,7 @@ 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 +23,7 @@ private long timeTag = 0; - private GatewayRemoteManager reportService; + private GatewayRemoteManager gatewayRemoteManager; @Override public void consume(IoSession session, byte[] bytes) { @@ -34,7 +35,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 +56,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 +71,21 @@ } //鐩存帴璋冪敤瀹炵幇绫伙紝鏇村瀹炵幇绫诲崟鐙皟鐢� - if (null == reportService) { - reportService = SpringUtil.getBean(GatewayRemoteManager.class); + if (null == gatewayRemoteManager) { + gatewayRemoteManager = SpringUtil.getBean(GatewayRemoteManager.class); } - reportService.getDeviceReportService(device.getPushProtocol()).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