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/gateway/hx2023/service/DeviceReportServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 34 insertions(+), 14 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 f91b0b8..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;
@@ -28,18 +32,6 @@
     }
 
     @Override
-    public String report2GatewayBySn(double weigh, GatewayDevice device) {
-
-        if (null == device) {
-            log.error("-----------娌℃湁鑾峰彇鍒拌澶囬厤缃俊鎭�-----");
-            return "ERROR:娌℃湁鑾峰彇鍒拌澶囬厤缃俊鎭�";
-        }
-
-
-        return null;
-    }
-
-    @Override
     public BaseResp reportGrainData(BaseReqData reqData) {
 
         String topic = ScConstant.TOPIC_REPORT;
@@ -59,7 +51,35 @@
 
         String topic = ScConstant.TOPIC_MESSAGE_REPORT;
 
-        topic = topic.replace("${productId}", reqData.getProductId()).replace("{deviceId}", reqData.getDeviceId());
+        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);
 
@@ -72,7 +92,7 @@
     @Override
     public BaseResp reportLprData(BaseReqData reqData) {
         String topic = ScConstant.TOPIC_MESSAGE_REPORT;
-        topic = topic.replace("${productId}", reqData.getProductId()).replace("{deviceId}", reqData.getDeviceId());
+        topic = topic.replace("${productId}", reqData.getProductId()).replace("${deviceId}", reqData.getDeviceId());
 
         publishService.publishMqttWithTopic(reqData.getData(), topic);
 

--
Gitblit v1.9.3