From 15206b16b0121ba7331496c0f0946e4004ad4507 Mon Sep 17 00:00:00 2001
From: zhuguifei <312353457@qq.com>
Date: 星期一, 18 十一月 2024 09:43:36 +0800
Subject: [PATCH] 添加故障上报、存储

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttSampleCallback.java |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttSampleCallback.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttSampleCallback.java
index e9e23cf..1efee35 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttSampleCallback.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttSampleCallback.java
@@ -2,7 +2,9 @@
 
 import cn.hutool.core.thread.ThreadUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
 import org.eclipse.paho.client.mqttv3.MqttCallback;
@@ -16,17 +18,17 @@
 import org.jeecg.modules.dry.api.EmqxApi;
 import org.jeecg.modules.dry.entity.DryEqpType;
 import org.jeecg.modules.dry.entity.DryEquipment;
+import org.jeecg.modules.dry.entity.DryFaultRecord;
 import org.jeecg.modules.dry.entity.DryShop;
-import org.jeecg.modules.dry.service.IDryEqpTypeService;
-import org.jeecg.modules.dry.service.IDryEquipmentService;
-import org.jeecg.modules.dry.service.IDryRealTimeDataService;
-import org.jeecg.modules.dry.service.IDryShopService;
+import org.jeecg.modules.dry.service.*;
 import org.jeecg.modules.dry.vo.DryEquipmentVo;
 import org.jeecg.modules.dry.vo.RealTimeDataVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Component;
+
+import java.util.List;
 
 @Slf4j
 @Component
@@ -56,16 +58,20 @@
   @Autowired
   private IDryShopService dryShopService;
 
+  @Autowired
+  private IDryFaultRecordService faultRecordService;
+
 
 
 
   @Override
   public void connectionLost(Throwable throwable) {
     System.err.println("杩炴帴鏂紑锛氾細鎺夌嚎");
+    System.err.println("杩炴帴鏂紑锛氾細"+throwable.toString());
   }
 
   @Override
-  public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
+  public void messageArrived(String topic, MqttMessage mqttMessage) {
     System.out.println("鏀跺埌娑堟伅: \n  topic锛�" + topic + "\n  Qos锛�" + mqttMessage.getQos() + "\n  payload锛�"
       + new String(mqttMessage.getPayload()));
 
@@ -90,12 +96,15 @@
             item.put("clientid", clientid);
             //鏄惁杩炴帴
             item.put("connected", true);
-            //
-            String[] info = clientid.split("-");
-            item.put("type", info[0]);
-            item.put("tenantId", info[1]);
-            item.put("code", info[2]);
-
+            //鏍规嵁clientid瑙f瀽(娉ㄦ剰閰嶇疆鏂囦欢涓璫lientid鏍煎紡  渚嬶細client-1000)
+            try {
+              String[] info = clientid.split("-");
+              item.put("type", info[0]);
+              item.put("tenantId", info[1]);
+              //item.put("code", info[2]);
+            }catch (Exception e){
+              e.printStackTrace();
+            }
             redisUtil.set(MqttConstant.MQTT_ONLINE_CLIENT + clientid, item);
             System.err.println(String.format("璁惧: %s涓婄嚎", clientid));
           }
@@ -150,7 +159,7 @@
       messageJson.put("timestamp", DateUtils.zone2Str(messageJson.get("timestamp").toString()));
     }
     // 瀹炴椂鏁版嵁涓婁紶澶绻佷笖鏁版嵁鍐呭瓒呰繃瀛楁澶у皬涓嶈褰曟棩蹇�
-    if (!topic.equals(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA)){
+    if (!topic.equals(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA) && !topic.equals(MqttConstant.TENANT_UP_PREFIX_FAULT_DATA)){
       baseCommonService.addLog(message, CommonConstant.LOG_TYPE_MQTT, CommonConstant.OPERATE_MQTT_1);
     }
 
@@ -203,6 +212,24 @@
         });
 
         break;
+      // 鎺ユ敹璁惧鎶ヨ鏁版嵁
+      case MqttConstant.TENANT_UP_PREFIX_FAULT_DATA:
+        ThreadUtil.execute(() -> {
+          try {
+
+            JSONObject jsonObject = JSON.parseObject(message);
+            List<DryFaultRecord> faultRecords = JSON.parseArray(jsonObject.get("data").toString(), DryFaultRecord.class);
+            System.err.println(faultRecords.toString());
+            faultRecordService.saveBatch(faultRecords);
+
+          } catch (Exception e) {
+            e.printStackTrace();
+          }
+        });
+
+        break;
+
+
       case MqttConstant.TENANT_UP_PREFIX_EQU:
         ThreadUtil.execute(() -> {
           try {

--
Gitblit v1.9.3