From 1559b6a234eb203ff321c18cb1434bbea721f7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Mon, 23 Mar 2026 13:21:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E8=81=94=E8=AE=BE=E5=A4=87=E8=A7=A3?= =?UTF-8?q?=E7=BB=91mq=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/listener/IotSyncBizMQListener.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/device/listener/IotSyncBizMQListener.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/device/listener/IotSyncBizMQListener.java index e05b1d5e..02b32340 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/device/listener/IotSyncBizMQListener.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/device/listener/IotSyncBizMQListener.java @@ -12,12 +12,14 @@ import com.nu.modules.tq.common.entity.TqDeviceInfo; import com.nu.modules.tq.common.service.ITqDeviceInfoService; import com.nu.modules.tq.electricity.entity.ElectricityMeter; import com.nu.modules.tq.electricity.service.IElectricityMeterService; +import com.nu.modules.tq.utils.MqttMessageHandler; import com.nu.modules.tq.water.entity.WaterMeter; import com.nu.modules.tq.water.service.IWaterMeterService; import com.nu.modules.yiweilian.humid.entity.HumidDevice; import com.nu.modules.yiweilian.humid.service.IHumidDeviceService; import com.nu.utils.RabbitMQUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.logging.Log; import org.springframework.amqp.core.ExchangeTypes; import org.springframework.amqp.rabbit.annotation.Exchange; import org.springframework.amqp.rabbit.annotation.Queue; @@ -25,6 +27,7 @@ import org.springframework.amqp.rabbit.annotation.QueueBinding; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; @@ -56,6 +59,9 @@ public class IotSyncBizMQListener { @Autowired private INuBaseInfoApi nuBaseInfoApi; + @Autowired + private MqttMessageHandler mqttMessageHandler; + @RabbitListener( bindings = @QueueBinding( value = @Queue(name = "#{iotDeviceAsyncDQNP.getSyncDeviceQueueName()}"), @@ -208,6 +214,7 @@ public class IotSyncBizMQListener { ElectricityMeter electricityMeter = new ElectricityMeter(); BeanUtils.copyProperties(iotElectricityMeterMQDto, electricityMeter); electricityMeterService.save(electricityMeter); + mqttMessageHandler.subscribeUplinkMessage(iotElectricityMeterMQDto.getSn()); } statusList.add(statusMQDto); } @@ -516,7 +523,9 @@ public class IotSyncBizMQListener { QueryWrapper capabilityQw = new QueryWrapper<>(); capabilityQw.eq("device_index",entity.getDeviceIndex()); CameraCapability capability = cameraCapabilityService.getOne(capabilityQw); - cameraCapabilityService.removeById(capability.getId()); + if(capability!=null){ + cameraCapabilityService.removeById(capability.getId()); + } } statusList.add(statusMQDto); } @@ -547,10 +556,12 @@ public class IotSyncBizMQListener { ElectricityMeter entity = electricityMeterService.getOne(electricityQw); if(entity!=null){ electricityMeterService.removeById(entity.getId()); + mqttMessageHandler.unsubscribeUplinkMessage(iotElectricityMeterMQDto.getSn()); } statusList.add(statusMQDto); } catch (Exception e) { + log.error(e.getMessage()); StatusMQDto statusMQDto = new StatusMQDto(); statusMQDto.setAsyncId(iotElectricityMeterMQDto.getSn()); statusMQDto.setMessage("失败"); @@ -580,7 +591,9 @@ public class IotSyncBizMQListener { QueryWrapper collectorQw = new QueryWrapper<>(); collectorQw.eq("cid",entity.getCid()); TqDeviceInfo collector = collectorService.getOne(collectorQw); - collectorService.removeById(collector.getId()); + if(collector!=null) { + collectorService.removeById(collector.getId()); + } } statusList.add(statusMQDto); }