From 7a540c1b083887a744a7efb3297e5759c9b4ff5a Mon Sep 17 00:00:00 2001 From: xins Date: Wed, 8 Nov 2023 17:36:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8B=A5=E4=BE=9D=E5=BE=AE=E6=9C=8D=E5=8A=A11.?= =?UTF-8?q?9.1=20business=EF=BC=9A=201=E3=80=81=E5=9C=A8=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE=E6=97=B6?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=85=B3=E8=81=94=E8=AE=BE=E5=A4=87=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=202?= =?UTF-8?q?=E3=80=81=E4=B8=8B=E5=8F=91=E6=8E=A7=E5=88=B6=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E5=9C=A8param=E4=B8=AD=E5=A2=9E=E5=8A=A0uid=EF=BC=88=E5=AD=90?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BC=96=E5=8F=B7=EF=BC=89=20dataprocess?= =?UTF-8?q?=EF=BC=9A=20=E4=B8=8B=E5=8F=91=E6=8E=A7=E5=88=B6=E6=8C=87?= =?UTF-8?q?=E4=BB=A4=E5=9C=A8param=E4=B8=AD=E5=A2=9E=E5=8A=A0uid=EF=BC=88?= =?UTF-8?q?=E5=AD=90=E8=AE=BE=E5=A4=87=E7=BC=96=E5=8F=B7=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/core/constant/HwDictConstants.java | 2 ++ .../ruoyi/business/service/impl/HwDeviceServiceImpl.java | 4 +++- .../main/resources/mapper/business/HwDeviceMapper.xml | 4 ++-- .../client/listener/MqttClientSubscribeListener.java | 9 +++------ .../dataprocess/service/impl/DataProcessServiceImpl.java | 5 ++++- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/HwDictConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/HwDictConstants.java index 9e7fb90..886a7a8 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/HwDictConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/HwDictConstants.java @@ -105,6 +105,8 @@ public class HwDictConstants { public static final String CONTROL_COMMAND_TOPIC_KEY = "Topic"; public static final String CONTROL_COMMAND_PAYLOAD_KEY = "Payload"; public static final String CONTROL_COMMAND_PAYLOAD_MID_KEY = "mid"; + + public static final String CONTROL_COMMAND_PAYLOAD_UID_KEY = "uid"; public static final String CONTROL_COMMAND_PAYLOAD_TIMESTAMP_KEY = "timestamp"; public static final String CONTROL_COMMAND_PAYLOAD_TYPE_KEY = "type"; public static final String CONTROL_COMMAND_PAYLOAD_PARAM_KEY = "param"; diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceServiceImpl.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceServiceImpl.java index 1e6df61..02ced13 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceServiceImpl.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceServiceImpl.java @@ -570,7 +570,9 @@ public class HwDeviceServiceImpl implements IHwDeviceService { } JSONObject payloadJson = new JSONObject(); JSONObject paramJson = new JSONObject(); - payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_MID_KEY, device.getDeviceCode()); + paramJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_UID_KEY, device.getDeviceCode());//子设备或直连设备设备编号 + + payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_MID_KEY, "");//请求ID,后续增加数据库表的主键ID payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_TIMESTAMP_KEY, System.currentTimeMillis() / 1000);//单位:s payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_TYPE_KEY, deviceControlVo.getType()); payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_PARAM_KEY, paramJson); diff --git a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwDeviceMapper.xml b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwDeviceMapper.xml index bac5d95..7aa5481 100644 --- a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwDeviceMapper.xml +++ b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwDeviceMapper.xml @@ -249,8 +249,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/mqtt/client/listener/MqttClientSubscribeListener.java b/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/mqtt/client/listener/MqttClientSubscribeListener.java index a3304da..d01d810 100644 --- a/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/mqtt/client/listener/MqttClientSubscribeListener.java +++ b/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/mqtt/client/listener/MqttClientSubscribeListener.java @@ -1,5 +1,6 @@ package com.ruoyi.dataprocess.mqtt.client.listener; +import com.ruoyi.common.core.constant.HwDictConstants; import com.ruoyi.dataprocess.mqtt.client.config.MqttConfiguration; import com.ruoyi.dataprocess.service.IDataProcessService; import com.ruoyi.dataprocess.service.IDeviceStatusService; @@ -23,10 +24,6 @@ import java.nio.charset.StandardCharsets; public class MqttClientSubscribeListener { private static final Logger logger = LoggerFactory.getLogger(MqttClientSubscribeListener.class); - public static final String TOPIC_TYPE_DATA_POSTFIX = "data"; - public static final String TOPIC_TYPE_COMMAND_POSTFIX = "command"; - public static final String TOPIC_TYPE_REPLY_POSTFIX = "reply"; - @Autowired private IDataProcessService dataProcessService; @@ -46,9 +43,9 @@ public class MqttClientSubscribeListener { String imagePrefix = mqttConfiguration.getImagePrefix(); logger.info("topic:{},start:{}ms", topic, start); try { - if (topic.endsWith(TOPIC_TYPE_DATA_POSTFIX)) { + if (topic.endsWith(HwDictConstants.TOPIC_TYPE_DATA_POSTFIX)) { int processDataCount = dataProcessService.processBusinessData(payloadString, - imagePath, imagePatterns, imageDomain, imagePrefix); + imagePath, imagePatterns, imageDomain, imagePrefix, topic); Long end = System.currentTimeMillis(); logger.info("Process Data start:{}ms,end:{}ms,Spend Time:{}ms,Data Count:{}", start, end, end - start, processDataCount); } diff --git a/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/service/impl/DataProcessServiceImpl.java b/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/service/impl/DataProcessServiceImpl.java index fa93936..21d3667 100644 --- a/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/service/impl/DataProcessServiceImpl.java +++ b/ruoyi-modules/hw-data-process/src/main/java/com/ruoyi/dataprocess/service/impl/DataProcessServiceImpl.java @@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.ResultEnums; import com.ruoyi.common.core.utils.RegexUtils; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.uuid.UUID; import com.ruoyi.dataprocess.amap.LocationVo; import com.ruoyi.dataprocess.amap.PositionUtils; import com.ruoyi.dataprocess.amap.PositionVo; @@ -464,7 +465,9 @@ public class DataProcessServiceImpl implements IDataProcessService { String controlCommandTopic = topic.replace(HwDictConstants.TOPIC_TYPE_DATA_POSTFIX, HwDictConstants.TOPIC_TYPE_COMMAND_POSTFIX); JSONObject payloadJson = new JSONObject(); JSONObject paramJson = new JSONObject(); - payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_MID_KEY, subDeviceCode); + paramJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_UID_KEY, subDeviceCode);//子设备或直连设备设备编号 + + payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_MID_KEY, ""); payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_TIMESTAMP_KEY, System.currentTimeMillis() / 1000);//单位:s payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_TYPE_KEY, serviceFunctionIdentifier); payloadJson.put(HwDictConstants.CONTROL_COMMAND_PAYLOAD_PARAM_KEY, paramJson);