From 3b64c08b7defbe7ff1ba4c6a7a4644ddedb5b782 Mon Sep 17 00:00:00 2001
From: bsw215583320 <baoshiwei121@163.com>
Date: 星期五, 08 十一月 2024 08:52:03 +0800
Subject: [PATCH] 合并cloud分支代码

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryEqpTypeService.java         |    1 
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryShopServiceImpl.java    |    8 ++++
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryShopService.java            |    1 
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEqpTypeServiceImpl.java |    8 ++++
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttSampleCallback.java            |   59 ++++++++++++++++-------------
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java                    |    2 +
 6 files changed, 53 insertions(+), 26 deletions(-)

diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java
index 574733d..21a69b6 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java
@@ -97,6 +97,8 @@
             // 璁㈤槄绉熸埛瀹炴椂鏁版嵁
             mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA);
             System.out.println("admin璁㈤槄" + MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA);
+            mqttClient.subscribe(MqttConstant.TENANT_UP_PREFIX_EQU);
+            System.out.println("admin璁㈤槄" + MqttConstant.TENANT_UP_PREFIX_EQU);
             initClients();
 
             break;
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 ab6e2a1..fd66d01 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
@@ -102,9 +102,14 @@
 
         }
         if (topic.startsWith("$SYS/brokers/") && topic.endsWith("disconnected")) {
-          String clientid = messageJson.getString("clientid");
-          redisUtil.del(MqttConstant.MQTT_ONLINE_CLIENT + clientid);
-          System.err.println(String.format("璁惧: %s涓嬬嚎", clientid));
+          try {
+            String clientid = messageJson.getString("clientid");
+            redisUtil.del(MqttConstant.MQTT_ONLINE_CLIENT + clientid);
+            System.err.println(String.format("璁惧: %s涓嬬嚎", clientid));
+          } catch (Exception e) {
+            e.printStackTrace();
+          }
+
         }
         parseAdminCommand(topic, mqttMessage);
 
@@ -188,34 +193,36 @@
 
         // 鎺ユ敹璁惧瀹炴椂鏁版嵁
       case MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA:
-        try {
-          RealTimeDataVo vo = JSON.parseObject(message, RealTimeDataVo.class);
-          realTimeDataService.realTimeDataHandle(vo);
-        } catch (Exception e) {
-          e.printStackTrace();
-        }
+        ThreadUtil.execute(() -> {
+          try {
+            RealTimeDataVo vo = JSON.parseObject(message, RealTimeDataVo.class);
+            realTimeDataService.realTimeDataHandle(vo);
+          } catch (Exception e) {
+            e.printStackTrace();
+          }
+        });
 
         break;
       case MqttConstant.TENANT_UP_PREFIX_EQU:
-        try {
-          DryEquipment equipment = (DryEquipment) messageJson.get("equipment");
+        ThreadUtil.execute(() -> {
+          try {
+            DryEquipment equipment = (DryEquipment) messageJson.get("equipment");
 
-          DryEquipment dryEquipment = equipmentService.selectByTenantIdEquipmentId(equipment.getTenantId() + "", equipment.getCode());
+            DryEquipment dryEquipment = equipmentService.selectByTenantIdEquipmentId(equipment.getTenantId() + "", equipment.getCode());
+            if (dryEquipment == null) {
+              equipmentService.save(equipment);
+            }
 
-          if (dryEquipment == null) {
-            equipmentService.save(equipment);
+            // 鑾峰彇璁惧鎵�灞炶溅闂�
+            DryShop shop = (DryShop) messageJson.get("shop");
+            shop.setTenantId(equipment.getTenantId());
+            dryShopService.save(shop);
+
+          } catch (Exception e) {
+            e.printStackTrace();
           }
+        });
 
-
-
-          // 鑾峰彇璁惧鎵�灞炶溅闂�
-          DryShop shop = (DryShop) messageJson.get("shop");
-          shop.setTenantId(equipment.getTenantId());
-          dryShopService.save(shop);
-
-        } catch (Exception e) {
-          e.printStackTrace();
-        }
     }
 
   }
@@ -270,9 +277,9 @@
             String code = messageJson.getString("code");
             DryEquipment equipmentVo = equipmentService.selectByTenantIdEquipmentId(tenantId,code);
             // 鏍规嵁璁惧杞﹂棿id鏌ヨ杞﹂棿淇℃伅
-            DryShop shop = dryShopService.getById(equipmentVo.getShopId());
+            DryShop shop = dryShopService.selectByTenantIdShopId(tenantId, equipmentVo.getShopId());
             // 鏍规嵁璁惧绫诲瀷ID鏌ヨ璁惧绫诲瀷淇℃伅
-            DryEqpType eqpType = eqpTypeService.getById(equipmentVo.getType());
+            DryEqpType eqpType = eqpTypeService.selectByTenantIdTypeId(tenantId, equipmentVo.getType());
 
             JSONObject res = new JSONObject();
 
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryEqpTypeService.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryEqpTypeService.java
index 42e41d6..746724b 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryEqpTypeService.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryEqpTypeService.java
@@ -11,4 +11,5 @@
  */
 public interface IDryEqpTypeService extends IService<DryEqpType> {
 
+    DryEqpType selectByTenantIdTypeId(String type, String equipmentVoType);
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryShopService.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryShopService.java
index 623969b..9c23bc3 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryShopService.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryShopService.java
@@ -11,4 +11,5 @@
  */
 public interface IDryShopService extends IService<DryShop> {
 
+    DryShop selectByTenantIdShopId(String tenantId, String shopId);
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEqpTypeServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEqpTypeServiceImpl.java
index 39e4734..ce66fce 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEqpTypeServiceImpl.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEqpTypeServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.dry.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.jeecg.modules.dry.entity.DryEqpType;
 import org.jeecg.modules.dry.mapper.DryEqpTypeMapper;
 import org.jeecg.modules.dry.service.IDryEqpTypeService;
@@ -16,4 +17,11 @@
 @Service
 public class DryEqpTypeServiceImpl extends ServiceImpl<DryEqpTypeMapper, DryEqpType> implements IDryEqpTypeService {
 
+    @Override
+    public DryEqpType selectByTenantIdTypeId(String tenantId, String id) {
+        LambdaQueryWrapper<DryEqpType> query = new LambdaQueryWrapper<>();
+        query.eq(DryEqpType::getTenantId, tenantId);
+        query.eq(DryEqpType::getId, id);
+        return this.getOne(query);
+    }
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryShopServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryShopServiceImpl.java
index 1ba3428..5d8663f 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryShopServiceImpl.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryShopServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.dry.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.jeecg.modules.dry.entity.DryShop;
 import org.jeecg.modules.dry.mapper.DryShopMapper;
 import org.jeecg.modules.dry.service.IDryShopService;
@@ -16,4 +17,11 @@
 @Service
 public class DryShopServiceImpl extends ServiceImpl<DryShopMapper, DryShop> implements IDryShopService {
 
+    @Override
+    public DryShop selectByTenantIdShopId(String tenantId, String shopId) {
+        LambdaQueryWrapper<DryShop> query = new LambdaQueryWrapper<>();
+        query.eq(DryShop::getTenantId, tenantId);
+        query.eq(DryShop::getId, shopId);
+        return this.getOne(query);
+    }
 }

--
Gitblit v1.9.3