diff --git a/fys-admin/src/main/resources/application-dev.yml b/fys-admin/src/main/resources/application-dev.yml index f667ef1..8e300e7 100644 --- a/fys-admin/src/main/resources/application-dev.yml +++ b/fys-admin/src/main/resources/application-dev.yml @@ -302,7 +302,7 @@ mqtt: username: admin password: #YtvpSfCNG url: tcp://47.120.79.150:2883 - subClientId: fys_subClient_01 + subClientId: fys_subClient subTopic: worker/alert/#,worker/location/# pubTopic: worker/location - pubClientId: fys_pubClient_01 \ No newline at end of file + pubClientId: fys_pubClient \ No newline at end of file diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java index 2361024..74c60e4 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/Device.java @@ -59,8 +59,8 @@ public class Device extends TenantEntity { @Schema(name = "原始设备") private Long originalDeviceId; - /*@Schema( name = "设备编号") - private String deviceNo;*/ + @Schema( name = "设备编号") + private String deviceNo; @Schema(name = "设备名称") private String deviceName; diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java index 7651077..1b8743c 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java @@ -1,6 +1,7 @@ package com.fuyuanshen.equipment.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.lang.UUID; import cn.hutool.core.lang.generator.SnowflakeGenerator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -146,10 +147,14 @@ public class DeviceServiceImpl extends ServiceImpl impleme device.setTypeName(deviceTypes.get(0).getTypeName()); BeanUtil.copyProperties(deviceForm, device, true); + device.setDeviceNo(createDeviceNo()); deviceMapper.insert(device); } - + private String createDeviceNo() { + String uuidStr = UUID.fastUUID().toString(); // 获取带 - 的标准格式字符串 + return uuidStr.replaceAll("-", ""); + } /** * 更新设备信息 diff --git a/fys-modules/fys-system/src/main/java/com/fuyuanshen/system/mqtt/config/MqttInboundConfiguration.java b/fys-modules/fys-system/src/main/java/com/fuyuanshen/system/mqtt/config/MqttInboundConfiguration.java index 80191a1..14a83ec 100644 --- a/fys-modules/fys-system/src/main/java/com/fuyuanshen/system/mqtt/config/MqttInboundConfiguration.java +++ b/fys-modules/fys-system/src/main/java/com/fuyuanshen/system/mqtt/config/MqttInboundConfiguration.java @@ -1,6 +1,7 @@ package com.fuyuanshen.system.mqtt.config; +import cn.hutool.core.lang.UUID; import com.fuyuanshen.system.mqtt.receiver.ReceiverMessageHandler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -40,9 +41,11 @@ public class MqttInboundConfiguration { * */ @Bean public MessageProducer messageProducer(){ + // 生成一个不重复的随机数 + String clientId = mqttPropertiesConfig.getSubClientId() + "_" + UUID.fastUUID(); MqttPahoMessageDrivenChannelAdapter mqttPahoMessageDrivenChannelAdapter = new MqttPahoMessageDrivenChannelAdapter( mqttPropertiesConfig.getUrl(), - mqttPropertiesConfig.getSubClientId(), + clientId, mqttPahoClientFactory, mqttPropertiesConfig.getSubTopic().split(",") ); diff --git a/fys-modules/fys-system/src/main/java/com/fuyuanshen/system/mqtt/config/MqttOutboundConfiguration.java b/fys-modules/fys-system/src/main/java/com/fuyuanshen/system/mqtt/config/MqttOutboundConfiguration.java index 9029b47..66c345f 100644 --- a/fys-modules/fys-system/src/main/java/com/fuyuanshen/system/mqtt/config/MqttOutboundConfiguration.java +++ b/fys-modules/fys-system/src/main/java/com/fuyuanshen/system/mqtt/config/MqttOutboundConfiguration.java @@ -1,5 +1,6 @@ package com.fuyuanshen.system.mqtt.config; +import cn.hutool.core.lang.UUID; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -36,9 +37,10 @@ public class MqttOutboundConfiguration { @Bean @ServiceActivator(inputChannel = "mqttOutboundChannel") // 指定处理器针对哪个通道的消息进行处理 public MessageHandler mqttOutboundMessageHandler(){ + String clientId = mqttPropertiesConfig.getPubClientId() + "_" + UUID.fastUUID(); MqttPahoMessageHandler mqttPahoMessageHandler = new MqttPahoMessageHandler( mqttPropertiesConfig.getUrl(), - mqttPropertiesConfig.getPubClientId(), + clientId, mqttPahoClientFactory ); mqttPahoMessageHandler.setDefaultQos(1);