From ff34638b445619d83740223514aa4de4a8e9a65f Mon Sep 17 00:00:00 2001
From: bsw215583320 <baoshiwei121@163.com>
Date: 星期一, 17 二月 2025 12:45:05 +0800
Subject: [PATCH] feat(mqtt): 增加设备实时数据处理

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java |   47 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
index dbc488d..cec4ab1 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
@@ -1,14 +1,9 @@
 package org.jeecg.modules.dry.controller;
 
 
-import ai.djl.modality.Classifications;
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.thread.ThreadUtil;
-import com.alibaba.druid.support.json.JSONUtils;
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -16,13 +11,9 @@
 import org.eclipse.paho.client.mqttv3.MqttMessage;
 import org.jeecg.common.api.vo.Result;
 
-import org.jeecg.common.config.TenantContext;
 import org.jeecg.common.constant.MqttConstant;
-import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.IpUtils;
 import org.jeecg.common.util.SpringContextUtils;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.config.mybatis.MybatisPlusSaasConfig;
 import org.jeecg.modules.dry.entity.*;
 import org.jeecg.modules.dry.mqtt.MqttConfig;
 import org.jeecg.modules.dry.mqtt.MqttUtil;
@@ -33,17 +24,13 @@
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
-import java.io.InputStream;
 import java.io.StringWriter;
 import java.util.*;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 
 @Api(tags = "瀹炴椂鏁版嵁澶勭悊鎺у埗鍣�")
@@ -94,13 +81,18 @@
     @PostMapping("/sendRealTimeDataJson")
     public Result<?> realTimeDataJson(@RequestBody RealTimeDataVo realTimeDataVo)  {
         try {
-            if ("user".equals(mqttConfig.getRole())){
+            if (mqttConfig.isEnable() && "user".equals(mqttConfig.getRole())){
                 MqttMessage mqttMessage = new MqttMessage();
                 mqttMessage.setQos(0);
                 mqttMessage.setPayload(JSONObject.toJSONString(realTimeDataVo).getBytes());
                 mqttUtil.getMqttClient().publish(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA,mqttMessage);
                 //澶勭悊鏁呴殰淇℃伅
-                dryRealTimeDataService.fitFultRecord(realTimeDataVo);
+                dryRealTimeDataService.fitFaultRecord(realTimeDataVo);
+            }
+
+            if ("user".equals(mqttConfig.getRole())){
+                //澶勭悊鏁呴殰淇℃伅
+                dryRealTimeDataService.fitFaultRecord(realTimeDataVo);
             }
 
         } catch (MqttException e) {
@@ -110,6 +102,31 @@
         return dryRealTimeDataService.realTimeDataHandle(realTimeDataVo);
     }
 
+    @ApiOperation(value="鎺ユ敹瀹炴椂鏁版嵁Json", notes="璁惧瀹炴椂鏁版嵁涓婁紶")
+    @PostMapping("/sendRealTimeDataJson2")
+    public Result<?> realTimeDataJson2(@RequestBody RealTimeDataParentVo realTimeDataParentVo)  {
+        try {
+            if (mqttConfig.isEnable() && "user".equals(mqttConfig.getRole())){
+                MqttMessage mqttMessage = new MqttMessage();
+                mqttMessage.setQos(0);
+                mqttMessage.setPayload(JSONObject.toJSONString(realTimeDataParentVo).getBytes());
+                mqttUtil.getMqttClient().publish(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA,mqttMessage);
+                //澶勭悊鏁呴殰淇℃伅
+                dryRealTimeDataService.fitFaultRecord(realTimeDataParentVo);
+            }
+
+            if ("user".equals(mqttConfig.getRole()) && realTimeDataParentVo.getFault() != null){
+                //澶勭悊鏁呴殰淇℃伅
+                dryRealTimeDataService.fitFaultRecord(realTimeDataParentVo);
+            }
+
+        } catch (MqttException e) {
+            e.printStackTrace();
+        }
+
+        return dryRealTimeDataService.realTimeDataHandle(realTimeDataParentVo);
+    }
+
 
 
     @ApiOperation(value="鑾峰彇璁惧瀹炴椂鏁版嵁", notes="閫氳繃绉熸埛ID鍜岃澶囩紪鐮佽幏鍙栧疄鏃舵暟鎹�")

--
Gitblit v1.9.3