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/gateway/hx2023/service/OnReceiveMqttService.java |   42 +++++++++++++++++++++---------------------
 1 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/fzzy/gateway/hx2023/service/OnReceiveMqttService.java b/src/main/java/com/fzzy/gateway/hx2023/service/OnReceiveMqttService.java
index f2eed2f..4c706c0 100644
--- a/src/main/java/com/fzzy/gateway/hx2023/service/OnReceiveMqttService.java
+++ b/src/main/java/com/fzzy/gateway/hx2023/service/OnReceiveMqttService.java
@@ -1,16 +1,14 @@
 package com.fzzy.gateway.hx2023.service;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.fzzy.api.data.GatewayDeviceProtocol;
 import com.fzzy.gateway.GatewayUtils;
 import com.fzzy.gateway.api.GatewayRemoteManager;
+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.CloudSendData;
-import com.fzzy.gateway.hx2023.data.SyncReqData;
-import com.fzzy.mqtt.MqttGatewayService;
-import com.fzzy.mqtt.MqttProviderConfig;
-import com.fzzy.mqtt.MqttPublishService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
@@ -25,8 +23,6 @@
 
     @Resource
     private GatewayRemoteManager gatewayRemoteManager;
-    @Resource
-    private MqttGatewayService mqttGatewayService;
 
 
     /**
@@ -34,21 +30,24 @@
      *
      * @param message
      */
-    public void onReceiveMessage(String topic,String message) {
+    public void onReceiveMessage(String topic, String message) {
+
+        // 杩欓噷鍙互澶勭悊鎺ユ敹鐨勬暟鎹�
+        log.info("----------------------------鏀跺埌璁㈤槄鍐呭---------------------------");
+        log.info("-----TOPIC-----{}", topic);
+        log.info("-----Message-----{}", message);
 
         try {
             CloudSendData cloudSendData = JSONObject.parseObject(message, CloudSendData.class);
 
-
             String functionId = cloudSendData.getFunctionId();
-
             //绮儏閲囬泦
             if (ScConstant.FUNCTION_getTAndRHInfo.equals(functionId)) {
                 getTAndRHInfo(cloudSendData);
             }
 
         } catch (Exception e) {
-            log.error("--------鎵ц寮傚父-----{}",e);
+            log.error("--------鎵ц寮傚父-----{}", e);
         }
 
     }
@@ -59,27 +58,28 @@
 
         GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
 
-        SyncReqData syncReqData = new SyncReqData();
+        BaseReqData syncReqData = new BaseReqData();
         syncReqData.setDeviceId(deviceId);
+        syncReqData.setProductId(device.getProductId());
+        syncReqData.setDeviceName(device.getDeviceName());
         syncReqData.setMessageId(cloudSendData.getMessageId());
         syncReqData.setMessageType(cloudSendData.getMessageType());
         syncReqData.setFunctionId(cloudSendData.getFunctionId());
         syncReqData.setAutoReplay(true);
         syncReqData.setDevice(device);
 
-        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncGrain2(syncReqData);
+        BaseResp resp;
+        if (GatewayDeviceProtocol.DEVICE_TEST.getCode().equals(device.getSyncProtocol())) {
+            resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrain(syncReqData);
+        } else {
+            syncReqData.setAutoReplay(false);
+            resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncGrain(syncReqData);
+        }
 
         //鑷姩鎺ㄩ��
         if (200 == resp.getCode() && syncReqData.isAutoReplay()) {
-            String topic = ScConstant.TOPIC_REPORT;
-
-            topic = topic.replace("${productId}", device.getProductId()).replace("${deviceId}", device.getDeviceId());
-
-            mqttGatewayService.publishMqttWithTopic(resp.getData(), topic);
-
-            log.info("----------------------------鎺ㄩ�丮QTT淇℃伅---------------------------");
-            log.info("-----TOPIC-----{}",topic);
-            log.info("-----Message-----{}",resp.getData());
+            syncReqData.setData(resp.getData());
+            gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainData(syncReqData);
         }
     }
 }

--
Gitblit v1.9.3