物联设备拉取状态更新

This commit is contained in:
曹磊 2026-04-09 17:25:59 +08:00
parent 8fdfdb18f2
commit 9e2b62113a
5 changed files with 34 additions and 1 deletions

View File

@ -34,5 +34,5 @@ public interface DeviceManagerMapper extends BaseMapper<DeviceManager> {
IPage<ElectricityMeter> findElectricityMeterUnbindPage(Page<ElectricityMeter> page, @Param("params") DeviceManager deviceManager);
List<HumidDevice> humidDeviceList(DeviceManager deviceManager);
IPage<HumidDevice> findHumidDeviceUnbindPage(Page<HumidDevice> page, @Param("params") DeviceManager deviceManager);
void editPreviewStatusBySn(DeviceManager deviceManager);
}

View File

@ -194,4 +194,10 @@
and a.device_status != '损坏'
</select>
<update id="editPreviewStatusBySn">
update nu_iot_device_preview
set device_status = #{deviceStatus}
where sn = #{sn}
</update>
</mapper>

View File

@ -32,4 +32,5 @@ public interface IDeviceManagerService extends IService<DeviceManager> {
IPage<ElectricityMeter> findElectricityMeterUnbindPage(Page<ElectricityMeter> page, DeviceManager deviceManager);
IPage<WaterMeter> findWaterMeterUnbindPage(Page<WaterMeter> page, DeviceManager deviceManager);
IPage<HumidDevice> findHumidDeviceUnbindPage(Page<HumidDevice> page, DeviceManager deviceManager);
void editPreviewStatusBySn(DeviceManager deviceManager);
}

View File

@ -123,4 +123,9 @@ public class DeviceManagerServiceImpl extends ServiceImpl<DeviceManagerMapper, D
public IPage<HumidDevice> findHumidDeviceUnbindPage(Page<HumidDevice> page, DeviceManager deviceManager) {
return baseMapper.findHumidDeviceUnbindPage(page,deviceManager);
}
@Override
public void editPreviewStatusBySn(DeviceManager deviceManager){
baseMapper.editPreviewStatusBySn(deviceManager);
}
}

View File

@ -3,6 +3,8 @@ package com.nu.mq.device.listener;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nu.dto.*;
import com.nu.entity.NuBaseInfoEntity;
import com.nu.modules.manager.entity.DeviceManager;
import com.nu.modules.manager.service.IDeviceManagerService;
import com.nu.modules.nubaseinfo.api.INuBaseInfoApi;
import com.nu.modules.tplink.camera.entity.CameraCapability;
import com.nu.modules.tplink.camera.entity.CameraInfo;
@ -62,6 +64,9 @@ public class IotSyncBizMQListener {
@Autowired
private MqttMessageHandler mqttMessageHandler;
@Autowired
private IDeviceManagerService deviceManagerService;
@RabbitListener(
bindings = @QueueBinding(
value = @Queue(name = "#{iotDeviceAsyncDQNP.getSyncDeviceQueueName()}"),
@ -140,6 +145,10 @@ public class IotSyncBizMQListener {
CameraInfo cameraInfo = new CameraInfo();
BeanUtils.copyProperties(iotCameraInfoMQDto, cameraInfo);
cameraInfoService.save(cameraInfo);
DeviceManager deviceManager = new DeviceManager();
deviceManager.setSn(iotCameraInfoMQDto.getMac());
deviceManager.setDeviceStatus("正常");
deviceManagerService.editPreviewStatusBySn(deviceManager);
}
statusList.add(statusMQDto);
}
@ -215,6 +224,10 @@ public class IotSyncBizMQListener {
BeanUtils.copyProperties(iotElectricityMeterMQDto, electricityMeter);
electricityMeterService.save(electricityMeter);
mqttMessageHandler.subscribeUplinkMessage(iotElectricityMeterMQDto.getSn());
DeviceManager deviceManager = new DeviceManager();
deviceManager.setSn(iotElectricityMeterMQDto.getSn());
deviceManager.setDeviceStatus("正常");
deviceManagerService.editPreviewStatusBySn(deviceManager);
}
statusList.add(statusMQDto);
}
@ -258,6 +271,10 @@ public class IotSyncBizMQListener {
WaterMeter waterMeter = new WaterMeter();
BeanUtils.copyProperties(iotWaterMeterMQDto, waterMeter);
waterMeterService.save(waterMeter);
DeviceManager deviceManager = new DeviceManager();
deviceManager.setSn(iotWaterMeterMQDto.getCid());
deviceManager.setDeviceStatus("正常");
deviceManagerService.editPreviewStatusBySn(deviceManager);
}
statusList.add(statusMQDto);
}
@ -332,6 +349,10 @@ public class IotSyncBizMQListener {
HumidDevice humidDevice = new HumidDevice();
BeanUtils.copyProperties(iotHumidDeviceMQDto, humidDevice);
humidDeviceService.save(humidDevice);
DeviceManager deviceManager = new DeviceManager();
deviceManager.setSn(iotHumidDeviceMQDto.getSn());
deviceManager.setDeviceStatus("正常");
deviceManagerService.editPreviewStatusBySn(deviceManager);
}
statusList.add(statusMQDto);
}