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"; /**************************服务端向租户端请求数据end*******************************/ 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; 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; } 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(); }