From 8ac4d9334df66aaf3f06c00d6587d683d033bfc0 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期四, 07 十一月 2024 11:10:26 +0800
Subject: [PATCH] 优化设备信息获取主题处理逻辑
---
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java | 3 ++-
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttSampleCallback.java | 38 +++++++++++++++++++++-----------------
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttConfig.java | 2 +-
jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/MqttConstant.java | 3 ---
4 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/MqttConstant.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/MqttConstant.java
index 55a1cfa..4fb4240 100644
--- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/MqttConstant.java
+++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/MqttConstant.java
@@ -64,9 +64,6 @@
String SERVICE_REQ_PREFIX = "service/req";
- String SERVICE_REQ_EQUIPMENT = SERVICE_REQ_PREFIX + "/%s/equipment";
-
- String SERVICE_REQ_EQU_TOPIC = SERVICE_REQ_PREFIX + "/+/equipment";
/**************************鏈嶅姟绔悜绉熸埛绔姹傛暟鎹甧nd*******************************/
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 4871e16..574733d 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
@@ -104,7 +104,7 @@
case "user":
//鏅�氬鎴风鍙渶璁㈤槄鑷韩鐩稿叧娑堟伅
mqttClient.subscribe(MqttConstant.SERVICE_DOWN_PREFIX + "/" + mqttClientId + "/#");
- mqttClient.subscribe(MqttConstant.SERVICE_REQ_PREFIX + "/" + mqttClientId.substring(mqttClientId.lastIndexOf("_")+1) + "/#");
+ mqttClient.subscribe(MqttConstant.SERVICE_REQ_PREFIX);
System.err.println("user璁㈤槄" + MqttConstant.SERVICE_DOWN_PREFIX + "/" + mqttClientId + "/#");
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 cb5861d..565cebd 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
@@ -254,28 +254,32 @@
break;
- case MqttConstant.SERVICE_REQ_EQU_TOPIC:
+ case MqttConstant.SERVICE_REQ_PREFIX:
log.debug("鏀跺埌璁惧璇︾粏淇℃伅鏌ヨ璇锋眰");
- // 鏍规嵁璁惧缂栫爜鏌ヨ璁惧淇℃伅
- String code = messageJson.getString("code");
- DryEquipment equipmentVo = equipmentService.selectByTenantIdEquipmentId(TenantContext.getTenant(),code);
- // 鏍规嵁璁惧杞﹂棿id鏌ヨ杞﹂棿淇℃伅
- DryShop shop = dryShopService.getById(equipmentVo.getShopId());
+ String tenantId = messageJson.getString("tenantId");
+ if (tenantId!=null && tenantId.equals(TenantContext.getTenant())) {
+ // 鏍规嵁璁惧缂栫爜鏌ヨ璁惧淇℃伅
+ String code = messageJson.getString("code");
+ DryEquipment equipmentVo = equipmentService.selectByTenantIdEquipmentId(tenantId,code);
+ // 鏍规嵁璁惧杞﹂棿id鏌ヨ杞﹂棿淇℃伅
+ DryShop shop = dryShopService.getById(equipmentVo.getShopId());
- JSONObject res = new JSONObject();
+ JSONObject res = new JSONObject();
- res.put("tenant", TenantContext.getTenant());
- res.put("equipment", equipmentVo);
- res.put("shop", shop);
- try {
- MqttMessage sendMessage = new MqttMessage(res.toJSONString().getBytes());
- sendMessage.setQos(0);
- mqttUtil.getMqttClient().publish(MqttConstant.TENANT_UP_PREFIX_EQU, sendMessage);
- // baseCommonService.addLog(res.toString(), CommonConstant.LOG_TYPE_MQTT, CommonConstant.OPERATE_MQTT_2);
- } catch (Exception e) {
- e.printStackTrace();
+ res.put("tenant", TenantContext.getTenant());
+ res.put("equipment", equipmentVo);
+ res.put("shop", shop);
+ try {
+ MqttMessage sendMessage = new MqttMessage(res.toJSONString().getBytes());
+ sendMessage.setQos(0);
+ mqttUtil.getMqttClient().publish(MqttConstant.TENANT_UP_PREFIX_EQU, sendMessage);
+ // baseCommonService.addLog(res.toString(), CommonConstant.LOG_TYPE_MQTT, CommonConstant.OPERATE_MQTT_2);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
+
break;
}
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java
index 1c222f0..e3f64dd 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java
@@ -295,9 +295,10 @@
mqttMessage.setQos(0);
JSONObject object = new JSONObject();
object.put("code", realTimeDataVo.getMachineid());
+ object.put("tenantId", realTimeDataVo.getTenantid());
mqttMessage.setPayload(object.toJSONString().getBytes());
try {
- mqttUtil.getMqttClient().publish(String.format(MqttConstant.SERVICE_REQ_EQUIPMENT, TenantContext.getTenant()) ,mqttMessage);
+ mqttUtil.getMqttClient().publish(MqttConstant.SERVICE_REQ_PREFIX ,mqttMessage);
}catch (MqttException e) {
e.printStackTrace();
}
--
Gitblit v1.9.3