From 33ce4859a7c561e51fa49c4600e14d85705edd59 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期五, 08 十一月 2024 08:34:54 +0800
Subject: [PATCH] 租户端接收服务端请求,返回设备信息
---
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mqtt/MqttSampleCallback.java | 51 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 32 insertions(+), 19 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 565cebd..ab6e2a1 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
@@ -14,8 +14,10 @@
import org.jeecg.common.util.RedisUtil;
import org.jeecg.modules.base.service.BaseCommonService;
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.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;
@@ -47,6 +49,9 @@
@Autowired
private IDryEquipmentService equipmentService;
+
+ @Autowired
+ private IDryEqpTypeService eqpTypeService;
@Autowired
private IDryShopService dryShopService;
@@ -256,28 +261,36 @@
break;
case MqttConstant.SERVICE_REQ_PREFIX:
log.debug("鏀跺埌璁惧璇︾粏淇℃伅鏌ヨ璇锋眰");
- 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());
+ ThreadUtil.execute(() -> {
+ String tenantId = messageJson.getString("tenantId");
+ String clientId = mqttUtil.getMqttClient().getClientId();
+ String tenant = clientId.substring(clientId.lastIndexOf("_")+1);
+ if (tenantId!=null && tenantId.equals(tenant)) {
+ // 鏍规嵁璁惧缂栫爜鏌ヨ璁惧淇℃伅
+ String code = messageJson.getString("code");
+ DryEquipment equipmentVo = equipmentService.selectByTenantIdEquipmentId(tenantId,code);
+ // 鏍规嵁璁惧杞﹂棿id鏌ヨ杞﹂棿淇℃伅
+ DryShop shop = dryShopService.getById(equipmentVo.getShopId());
+ // 鏍规嵁璁惧绫诲瀷ID鏌ヨ璁惧绫诲瀷淇℃伅
+ DryEqpType eqpType = eqpTypeService.getById(equipmentVo.getType());
- 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", clientId);
+ res.put("equipment", equipmentVo);
+ res.put("shop", shop);
+ res.put("eqpType", eqpType);
+ 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;
--
Gitblit v1.9.3