From bddd08eacbe967d2b8eaba5fc765ca27176dafcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 21 Aug 2025 09:45:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E8=A1=A8=E3=80=81=E6=B0=B4=E8=A1=A8?= =?UTF-8?q?=E3=80=81=E6=B8=A9=E6=B9=BF=E5=BA=A6=E8=AE=A1=E6=8A=84=E8=A1=A8?= =?UTF-8?q?=E3=80=81=E6=8B=89=E5=90=88=E9=97=B8=E6=97=B6=EF=BC=8C=E5=B0=86?= =?UTF-8?q?=E6=95=B0=E5=80=BC=E5=92=8C=E7=8A=B6=E6=80=81=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=88=B0=E4=B8=9A=E5=8A=A1=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nu/dto/IotElectricityMeterMQDto.java | 2 + .../java/com/nu/dto/IotWaterMeterMQDto.java | 2 + .../service/IElectricityMeterService.java | 2 + .../impl/ElectricityMeterServiceImpl.java | 109 +++++++++++++++++- .../tq/water/service/IWaterMeterService.java | 2 + .../service/impl/WaterMeterServiceImpl.java | 108 ++++++++++++++++- .../humid/service/IHumidDeviceService.java | 1 + .../service/impl/HumidDeviceServiceImpl.java | 51 ++++++++ .../listener/IotDeviceValuesMQListener.java | 36 ++++++ .../IotSyncElectricityMQListener.java | 107 +++++++++++++++++ .../tq/listener/IotSyncWaterMQListener.java | 109 ++++++++++++++++++ .../listener/IotSyncHumidMQListener.java | 68 +++++++++++ 12 files changed, 590 insertions(+), 7 deletions(-) create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/device/listener/IotDeviceValuesMQListener.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/tq/listener/IotSyncElectricityMQListener.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/tq/listener/IotSyncWaterMQListener.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/yiweilian/listener/IotSyncHumidMQListener.java diff --git a/nursing-unit-common/src/main/java/com/nu/dto/IotElectricityMeterMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/IotElectricityMeterMQDto.java index 55521ca..d3410c4 100644 --- a/nursing-unit-common/src/main/java/com/nu/dto/IotElectricityMeterMQDto.java +++ b/nursing-unit-common/src/main/java/com/nu/dto/IotElectricityMeterMQDto.java @@ -20,6 +20,8 @@ public class IotElectricityMeterMQDto{ private String eleValue; /**阀门状态*/ private String relayState; + /**上次查表时间*/ + private String readTime; /**描述*/ private String remark; /**区域编码*/ diff --git a/nursing-unit-common/src/main/java/com/nu/dto/IotWaterMeterMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/IotWaterMeterMQDto.java index 566521e..85a9e30 100644 --- a/nursing-unit-common/src/main/java/com/nu/dto/IotWaterMeterMQDto.java +++ b/nursing-unit-common/src/main/java/com/nu/dto/IotWaterMeterMQDto.java @@ -22,6 +22,8 @@ public class IotWaterMeterMQDto{ private String relayState; /**水表电池状态*/ private String batteryState; + /**上次查表时间*/ + private String readTime; /**描述*/ private String remark; /**区域编码*/ diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/service/IElectricityMeterService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/service/IElectricityMeterService.java index 237e003..da975a6 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/service/IElectricityMeterService.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/service/IElectricityMeterService.java @@ -12,6 +12,8 @@ import java.util.Map; public interface IElectricityMeterService extends IService { IPage findPage(Page page, ElectricityMeter electricityMeter); List findAllList(); + void updateValue(ElectricityMeter electricityMeter); + void updateRelayState(ElectricityMeter electricityMeter); Result eleReset(ElectricityMeter electricityMeter); Result eleControl(ElectricityMeter electricityMeter); Result eleRead(ElectricityMeter electricityMeter); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/service/impl/ElectricityMeterServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/service/impl/ElectricityMeterServiceImpl.java index c5193a1..4a21a9f 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/service/impl/ElectricityMeterServiceImpl.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/service/impl/ElectricityMeterServiceImpl.java @@ -3,12 +3,17 @@ package com.nu.modules.tq.electricity.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; +import com.alibaba.fastjson.JSON; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.dto.IotElectricityMeterMQDto; +import com.nu.dto.IotHumidDeviceMQDto; +import com.nu.modules.syncLog.entity.SyncBizLog; import com.nu.modules.syncLog.entity.SyncLog; +import com.nu.modules.syncLog.service.ISyncBizLogService; import com.nu.modules.syncLog.service.ISyncLogService; import com.nu.modules.tq.common.entity.TqApiLog; import com.nu.modules.tq.common.entity.TqDeviceInfo; @@ -18,12 +23,15 @@ import com.nu.modules.tq.utils.HttpTool; import com.nu.modules.tq.utils.SignTool; import com.nu.modules.tq.utils.TqApi; import com.nu.modules.yiweilian.humid.entity.HumidDevice; +import com.nu.utils.RabbitMQUtil; import lombok.extern.slf4j.Slf4j; import com.nu.modules.tq.electricity.entity.ElectricityMeter; import com.nu.modules.tq.electricity.mapper.ElectricityMeterMapper; import com.nu.modules.tq.electricity.service.IElectricityMeterService; +import me.zhyd.oauth.utils.UuidUtils; import org.apache.commons.lang.StringUtils; import org.jeecg.common.api.vo.Result; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -35,13 +43,19 @@ import java.util.*; public class ElectricityMeterServiceImpl extends ServiceImpl implements IElectricityMeterService { @Autowired - TqApi tqApi; + private TqApi tqApi; @Autowired - ITqApiLogService logService; + private ITqApiLogService logService; @Autowired - TqDeviceInfoMapper tqDeviceInfoMapper; + private ISyncBizLogService bizLogService; + + @Autowired + private RabbitMQUtil rabbitMQUtil; + + @Autowired + private TqDeviceInfoMapper tqDeviceInfoMapper; @Autowired public ISyncLogService nuIotTqElectricitySyncLogService; @@ -60,6 +74,16 @@ public class ElectricityMeterServiceImpl extends ServiceImpl { IPage findPage(Page page, WaterMeter waterMeter); List findAllList(); + void updateValue(WaterMeter waterMeter); + void updateRelayState(WaterMeter waterMeter); Result waterReset(WaterMeter waterMeter); Result waterControl(WaterMeter waterMeter); Result waterRead(WaterMeter waterMeter); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/impl/WaterMeterServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/impl/WaterMeterServiceImpl.java index 4fb2ff6..c85da54 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/impl/WaterMeterServiceImpl.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/impl/WaterMeterServiceImpl.java @@ -3,12 +3,17 @@ package com.nu.modules.tq.water.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; +import com.alibaba.fastjson.JSON; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.dto.IotElectricityMeterMQDto; +import com.nu.dto.IotWaterMeterMQDto; +import com.nu.modules.syncLog.entity.SyncBizLog; import com.nu.modules.syncLog.entity.SyncLog; +import com.nu.modules.syncLog.service.ISyncBizLogService; import com.nu.modules.syncLog.service.ISyncLogService; import com.nu.modules.tplink.camera.entity.CameraInfo; import com.nu.modules.tq.common.entity.TqApiLog; @@ -23,9 +28,12 @@ import com.nu.modules.tq.utils.TqApi; import com.nu.modules.tq.water.entity.WaterMeter; import com.nu.modules.tq.water.mapper.WaterMeterMapper; import com.nu.modules.tq.water.service.IWaterMeterService; +import com.nu.utils.RabbitMQUtil; import lombok.extern.slf4j.Slf4j; +import me.zhyd.oauth.utils.UuidUtils; import org.apache.commons.lang.StringUtils; import org.jeecg.common.api.vo.Result; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -37,13 +45,19 @@ import java.util.*; public class WaterMeterServiceImpl extends ServiceImpl implements IWaterMeterService { @Autowired - TqApi tqApi; + private TqApi tqApi; @Autowired - ITqApiLogService logService; + private ITqApiLogService logService; @Autowired - TqDeviceInfoMapper tqDeviceInfoMapper; + private ISyncBizLogService bizLogService; + + @Autowired + private RabbitMQUtil rabbitMQUtil; + + @Autowired + private TqDeviceInfoMapper tqDeviceInfoMapper; @Autowired public ISyncLogService nuIotTqElectricitySyncLogService; @@ -62,6 +76,16 @@ public class WaterMeterServiceImpl extends ServiceImpl { String updateDeviceParameters(HumidDevice humidDevice,String type); String updateDeviceRealTime(HumidDevice humidDevice); Result updateDevice(HumidDevice humidDevice); + void updateValue(HumidDevice humidDevice); Result delFlagDevice(HumidDevice humidDevice); Result getDeviceParameters(HumidDevice humidDevice); IPage findLogPage(Page page, HumidDevice humidDevice); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidDeviceServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidDeviceServiceImpl.java index cb55e6e..8a78108 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidDeviceServiceImpl.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidDeviceServiceImpl.java @@ -3,23 +3,33 @@ package com.nu.modules.yiweilian.humid.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; +import com.alibaba.fastjson.JSON; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.dto.IotHumidDeviceMQDto; +import com.nu.dto.IotTumsConfigMQDto; +import com.nu.modules.syncLog.entity.SyncBizLog; +import com.nu.modules.syncLog.entity.SyncConfigLog; import com.nu.modules.syncLog.entity.SyncLog; +import com.nu.modules.syncLog.service.ISyncBizLogService; import com.nu.modules.syncLog.service.ISyncLogService; +import com.nu.modules.tplink.common.entity.TumsConfig; import com.nu.modules.tq.water.entity.WaterMeter; import com.nu.modules.yiweilian.humid.entity.HumidDevice; import com.nu.modules.yiweilian.humid.mapper.HumidDeviceMapper; import com.nu.modules.yiweilian.humid.service.IHumidDeviceService; import com.nu.modules.yiweilian.utils.YiweilianApi; +import com.nu.utils.RabbitMQUtil; import lombok.extern.slf4j.Slf4j; +import me.zhyd.oauth.utils.UuidUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -33,6 +43,11 @@ public class HumidDeviceServiceImpl extends ServiceImpl params = getParmas(page+1,limit,humidDevice); @@ -286,6 +303,31 @@ public class HumidDeviceServiceImpl extends ServiceImpl getUpdateParmas(HumidDevice humidDevice){ Map params = new HashMap<>(); params.put("sn", humidDevice.getSn()); @@ -329,6 +371,15 @@ public class HumidDeviceServiceImpl extends ServiceImpl emQw = new QueryWrapper<>(); + emQw.eq("cid",dto.getCid()); + emQw.eq("address",dto.getAddress()); + ElectricityMeter entity = electricityMeterService.getOne(emQw); + if(entity!=null){ + entity.setEleValue(dto.getEleValue()); + entity.setReadTime(dto.getReadTime()); + electricityMeterService.updateValue(entity); + } + } + catch (Exception e) { + statusMQDto.setAsyncId(dto.getId().toString()); + statusMQDto.setMessage("失败"); + statusMQDto.setPrimaryKey(dto.getLogId()); + statusMQDto.setNote("电表"); + e.printStackTrace(); + } + rabbitMQUtil.sendToExchange("hldy.iotDeviceValues", dto.getDepartServerUrl() +".bizIotDeviceValues.result.async", statusMQDto); + } + + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "hldy.iotElectricity.eleControl.async"), + exchange = @Exchange(name = "hldy.iotDeviceValues", type = ExchangeTypes.DIRECT), + key = "hldy.iotElectricity.eleControl.async" + ), + errorHandler = "iotDeviceMQErrorHandler" + ) + public void handleEleControl_unify(IotElectricityMeterMQDto dto) { + saveSyncEleControl(dto); + } + + private void saveSyncEleControl(IotElectricityMeterMQDto dto) { + StatusMQDto statusMQDto = new StatusMQDto(); + try { + statusMQDto.setAsyncId(dto.getId().toString()); + statusMQDto.setMessage("成功"); + statusMQDto.setPrimaryKey(dto.getLogId()); + statusMQDto.setNote("电表"); + QueryWrapper emQw = new QueryWrapper<>(); + emQw.eq("cid",dto.getCid()); + emQw.eq("address",dto.getAddress()); + ElectricityMeter entity = electricityMeterService.getOne(emQw); + if(entity!=null){ + entity.setRelayState(dto.getRelayState()); + electricityMeterService.updateRelayState(entity); + } + } + catch (Exception e) { + statusMQDto.setAsyncId(dto.getId().toString()); + statusMQDto.setMessage("失败"); + statusMQDto.setPrimaryKey(dto.getLogId()); + statusMQDto.setNote("电表"); + e.printStackTrace(); + } + rabbitMQUtil.sendToExchange("hldy.iotDeviceValues", dto.getDepartServerUrl() +".bizIotDeviceValues.result.async", statusMQDto); + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/tq/listener/IotSyncWaterMQListener.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/tq/listener/IotSyncWaterMQListener.java new file mode 100644 index 0000000..49f89a3 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/tq/listener/IotSyncWaterMQListener.java @@ -0,0 +1,109 @@ +package com.nu.mq.tq.listener; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.nu.dto.IotElectricityMeterMQDto; +import com.nu.dto.IotHumidDeviceMQDto; +import com.nu.dto.IotWaterMeterMQDto; +import com.nu.dto.StatusMQDto; +import com.nu.modules.tq.electricity.entity.ElectricityMeter; +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.springframework.amqp.core.ExchangeTypes; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + + +@Slf4j +@Component +public class IotSyncWaterMQListener { + @Autowired + private RabbitMQUtil rabbitMQUtil; + + @Autowired + private IWaterMeterService waterMeterService; + + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "hldy.iotWater.waterValue.async"), + exchange = @Exchange(name = "hldy.iotDeviceValues", type = ExchangeTypes.DIRECT), + key = "hldy.iotWater.waterValue.async" + ), + errorHandler = "iotDeviceMQErrorHandler" + ) + public void handleWaterValue_unify(IotWaterMeterMQDto dto) { + saveSyncWaterValue(dto); + } + + private void saveSyncWaterValue(IotWaterMeterMQDto dto) { + StatusMQDto statusMQDto = new StatusMQDto(); + try { + statusMQDto.setAsyncId(dto.getId().toString()); + statusMQDto.setMessage("成功"); + statusMQDto.setPrimaryKey(dto.getLogId()); + statusMQDto.setNote("水表"); + QueryWrapper emQw = new QueryWrapper<>(); + emQw.eq("cid",dto.getCid()); + emQw.eq("address",dto.getAddress()); + WaterMeter entity = waterMeterService.getOne(emQw); + if(entity!=null){ + entity.setWaterValue(dto.getWaterValue()); + entity.setReadTime(dto.getReadTime()); + waterMeterService.updateValue(entity); + } + } + catch (Exception e) { + statusMQDto.setAsyncId(dto.getId().toString()); + statusMQDto.setMessage("失败"); + statusMQDto.setPrimaryKey(dto.getLogId()); + statusMQDto.setNote("水表"); + e.printStackTrace(); + } + rabbitMQUtil.sendToExchange("hldy.iotDeviceValues", dto.getDepartServerUrl() +".bizIotDeviceValues.result.async", statusMQDto); + } + + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "hldy.iotWater.waterControl.async"), + exchange = @Exchange(name = "hldy.iotDeviceValues", type = ExchangeTypes.DIRECT), + key = "hldy.iotWater.waterControl.async" + ), + errorHandler = "iotDeviceMQErrorHandler" + ) + public void handleWaterControl_unify(IotElectricityMeterMQDto dto) { + saveSyncWaterControl(dto); + } + + private void saveSyncWaterControl(IotElectricityMeterMQDto dto) { + StatusMQDto statusMQDto = new StatusMQDto(); + try { + statusMQDto.setAsyncId(dto.getId().toString()); + statusMQDto.setMessage("成功"); + statusMQDto.setPrimaryKey(dto.getLogId()); + statusMQDto.setNote("水表"); + QueryWrapper emQw = new QueryWrapper<>(); + emQw.eq("cid",dto.getCid()); + emQw.eq("address",dto.getAddress()); + WaterMeter entity = waterMeterService.getOne(emQw); + if(entity!=null){ + entity.setRelayState(dto.getRelayState()); + waterMeterService.updateRelayState(entity); + } + } + catch (Exception e) { + statusMQDto.setAsyncId(dto.getId().toString()); + statusMQDto.setMessage("失败"); + statusMQDto.setPrimaryKey(dto.getLogId()); + statusMQDto.setNote("水表"); + e.printStackTrace(); + } + rabbitMQUtil.sendToExchange("hldy.iotDeviceValues", dto.getDepartServerUrl() +".bizIotDeviceValues.result.async", statusMQDto); + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/yiweilian/listener/IotSyncHumidMQListener.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/yiweilian/listener/IotSyncHumidMQListener.java new file mode 100644 index 0000000..56d49e0 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/mq/yiweilian/listener/IotSyncHumidMQListener.java @@ -0,0 +1,68 @@ +package com.nu.mq.yiweilian.listener; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.nu.dto.IotHumidDeviceMQDto; +import com.nu.dto.StatusMQDto; +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.springframework.amqp.core.ExchangeTypes; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + + +@Slf4j +@Component +public class IotSyncHumidMQListener { + @Autowired + private RabbitMQUtil rabbitMQUtil; + + @Autowired + private IHumidDeviceService humidDeviceService; + + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "hldy.iotHumid.status.async"), + exchange = @Exchange(name = "hldy.iotDeviceValues", type = ExchangeTypes.DIRECT), + key = "hldy.iotHumid.status.async" + ), + errorHandler = "iotDeviceMQErrorHandler" + ) + public void handleMessage_unify(IotHumidDeviceMQDto dto) { + saveSyncInfo(dto); + } + + private void saveSyncInfo(IotHumidDeviceMQDto iotHumidDeviceMQDto) { + StatusMQDto statusMQDto = new StatusMQDto(); + try { + statusMQDto.setAsyncId(iotHumidDeviceMQDto.getId().toString()); + statusMQDto.setMessage("成功"); + statusMQDto.setPrimaryKey(iotHumidDeviceMQDto.getLogId()); + statusMQDto.setNote("温湿度计"); + QueryWrapper humidQw = new QueryWrapper<>(); + humidQw.eq("sn",iotHumidDeviceMQDto.getSn()); + HumidDevice entity = humidDeviceService.getOne(humidQw); + if(entity!=null){ + entity.setStatus(iotHumidDeviceMQDto.getStatus()); + entity.setElectricity(iotHumidDeviceMQDto.getElectricity()); + entity.setTemperature(iotHumidDeviceMQDto.getTemperature()); + entity.setHumidity(iotHumidDeviceMQDto.getHumidity()); + entity.setReportingTime(iotHumidDeviceMQDto.getReportingTime()); + humidDeviceService.updateValue(entity); + } + } + catch (Exception e) { + statusMQDto.setAsyncId(iotHumidDeviceMQDto.getId().toString()); + statusMQDto.setMessage("失败"); + statusMQDto.setPrimaryKey(iotHumidDeviceMQDto.getLogId()); + statusMQDto.setNote("温湿度计"); + e.printStackTrace(); + } + rabbitMQUtil.sendToExchange("hldy.iotDeviceValues", iotHumidDeviceMQDto.getDepartServerUrl() +".bizIotDeviceValues.result.async", statusMQDto); + } +}