From be00ddc83f86599916eb8d0f581f448aa74c9d51 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期四, 19 六月 2025 08:55:57 +0800
Subject: [PATCH] feat(mqtt): 增加对空调设备数据的处理

---
 src/main/java/com/zhitan/handler/MqttMessageHandler.java |   39 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zhitan/handler/MqttMessageHandler.java b/src/main/java/com/zhitan/handler/MqttMessageHandler.java
index 7913d74..d2f4ec0 100644
--- a/src/main/java/com/zhitan/handler/MqttMessageHandler.java
+++ b/src/main/java/com/zhitan/handler/MqttMessageHandler.java
@@ -1,10 +1,13 @@
 package com.zhitan.handler;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.zhitan.config.mqtt.MqttTopic;
 import com.zhitan.model.entity.DeviceData;
 import com.zhitan.model.entity.ElectricPower;
+import com.zhitan.model.entity.KtDataEntity;
 import com.zhitan.model.entity.PowerEntity;
 import com.zhitan.service.IDataService;
+import com.zhitan.util.KtDataMapper;
 import com.zhitan.util.PowerDataMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.integration.mqtt.support.MqttHeaders;
@@ -31,14 +34,44 @@
         String topic = (String) message.getHeaders().get(MqttHeaders.RECEIVED_TOPIC);
         String payload = (String) message.getPayload();
         System.out.println("Received message from topic " + topic + ": " + payload);
-
-//        dataService.writeTimeSeriesData(payload);
-//
         ObjectMapper objectMapper = new ObjectMapper();
         try {
             // 灏� JSON 瀛楃涓茶浆鎹负 SensorData 瀵硅薄
             //ElectricPower electricPower = objectMapper.readValue(payload, ElectricPower.class);
             DeviceData data = objectMapper.readValue(payload, DeviceData.class);
+            if (topic != null) {
+                switch ( topic) {
+                    case MqttTopic.DEFAULT_TOPIC:
+                        handleDeviceUpMessage(data);
+                        break;
+                    case MqttTopic.DEVICE_KT_UP:
+                        handleDeviceKtUpMessage(data);
+                        break;
+                    default:
+                        log.error("Invalid topic: " + topic);
+                }
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+
+
+
+    }
+
+    private void handleDeviceKtUpMessage(DeviceData data) {
+        try {
+            KtDataEntity ktDataEntity = KtDataMapper.mapToEntity(data);
+            dataService.writeTimeSeriesData(ktDataEntity);
+            // dataService.writeTimeSeriesData(electricPower)
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+
+    }
+
+    private void handleDeviceUpMessage(DeviceData data) {
+        try {
             List<PowerEntity> powerMeters = PowerDataMapper.mapToEntities(data);
             for (PowerEntity powerMeter : powerMeters) {
                 dataService.writeTimeSeriesData(powerMeter);

--
Gitblit v1.9.3