From 6c9892f782cf0eea02fb7f6c41fa74b4ed8c33d6 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期五, 17 十一月 2023 16:18:18 +0800 Subject: [PATCH] 调增地磅接口启动2 --- src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java | 5 ++--- src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java b/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java index 6521ac0..56683c8 100644 --- a/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java +++ b/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java @@ -1,11 +1,15 @@ package com.fzzy.gateway.hx2023.service; +import com.alibaba.fastjson2.JSONObject; import com.fzzy.api.data.PushProtocol; import com.fzzy.gateway.api.GatewayDeviceReportService; import com.fzzy.gateway.data.BaseReqData; import com.fzzy.gateway.data.BaseResp; import com.fzzy.gateway.entity.GatewayDevice; import com.fzzy.gateway.hx2023.ScConstant; +import com.fzzy.gateway.hx2023.data.WebSocketPacket; +import com.fzzy.gateway.hx2023.data.WebSocketPacketHeader; +import com.fzzy.gateway.hx2023.data.WeightInfo; import com.fzzy.gateway.hx2023.kafka.KafkaDeviceReportService; import com.fzzy.mqtt.MqttGatewayService; import lombok.extern.slf4j.Slf4j; @@ -49,6 +53,34 @@ topic = topic.replace("${productId}", reqData.getProductId()).replace("${deviceId}", reqData.getDeviceId()); + if (null == reqData.getData()) { + GatewayDevice device = reqData.getDevice(); + + WebSocketPacket packet = new WebSocketPacket(); + + WebSocketPacketHeader header = new WebSocketPacketHeader(); + header.setDeviceName(device.getDeviceName()); + header.setProductId(device.getProductId()); + packet.setHeaders(header); + packet.setMessageType(ScConstant.MESSAGE_TYPE_REPORT_PROPERTY); + packet.setDeviceId(device.getDeviceId()); + + //璁剧疆淇℃伅涓讳綋 + WeightInfo weightInfo = new WeightInfo(); + weightInfo.setGrossWeight(reqData.getWeight()); + weightInfo.setNetWeight(reqData.getWeight()); + weightInfo.setNetWeight(reqData.getWeight()); + weightInfo.setWeightUnit("KG"); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("weightInfo", JSONObject.toJSONString(weightInfo)); + + packet.setProperties(jsonObject); + + packet.setTimestamp(System.currentTimeMillis()); + + reqData.setData(JSONObject.toJSONString(packet)); + } + publishService.publishMqttWithTopic(reqData.getData(), topic); log.info("----------------------------鎺ㄩ�丮QTT鍦扮淇℃伅---------------------------"); diff --git a/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java b/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java index 3e4fd02..b41d6c9 100644 --- a/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java +++ b/src/main/java/com/fzzy/protocol/weightyh/MessageConsumer.java @@ -35,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; } @@ -56,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); -- Gitblit v1.9.3