From 2392459838b419154a51028986871ce2c795c50b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Mon, 16 Jun 2025 14:34:17 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E7=94=B5=E8=A1=A8=E6=B0=B4=E8=A1=A8?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/ElectricityMeterMapper.xml | 16 ++++++++++++++++ .../tq/water/mapper/xml/WaterMeterMapper.xml | 19 ++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml index a5d431c..c431477 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml @@ -66,6 +66,22 @@ and address = #{address} + + insert into nu_iot_tq_water_meter( + cid, + address, + relay_state, + remark, + create_time + ) + values( + #{cid}, + #{address}, + #{relayState}, + #{remark}, + now() + ) + update nu_iot_tq_electricity_meter diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml index f1b095c..8606440 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml @@ -65,7 +65,24 @@ and address = #{address} - + + insert into nu_iot_tq_water_meter( + cid, + address, + relay_state, + battery_state, + remark, + create_time + ) + values( + #{cid}, + #{address}, + #{relayState}, + #{batteryState}, + #{remark}, + now() + ) + update nu_iot_tq_water_meter From edbe07ca0ea76f157e7e912dd24526f834a33edc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Mon, 16 Jun 2025 18:14:05 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=99=BA=E8=83=BD=E7=94=B5=E8=A1=A8?= =?UTF-8?q?=E6=B0=B4=E8=A1=A8=E5=AE=9A=E6=97=B6=E6=9B=B4=E6=96=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tq/common/job/CollectorDataJob.java | 23 ++++++++++++ .../modules/tq/common/job/MeterStatusJob.java | 23 ++++++++++++ .../electricity/job/ElectricityReadJob.java | 34 ++++++++++++++++++ .../mapper/ElectricityMeterMapper.java | 2 ++ .../mapper/xml/ElectricityMeterMapper.xml | 27 ++++++++++++-- .../service/IElectricityMeterService.java | 3 ++ .../impl/ElectricityMeterServiceImpl.java | 6 ++++ .../nu/modules/tq/water/job/WaterReadJob.java | 35 +++++++++++++++++++ .../tq/water/mapper/WaterMeterMapper.java | 3 ++ .../tq/water/mapper/xml/WaterMeterMapper.xml | 17 +++++++-- .../tq/water/service/IWaterMeterService.java | 3 ++ .../service/impl/WaterMeterServiceImpl.java | 6 ++++ 12 files changed, 178 insertions(+), 4 deletions(-) create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/job/ElectricityReadJob.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/job/WaterReadJob.java diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java new file mode 100644 index 0000000..da767b9 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java @@ -0,0 +1,23 @@ +package com.nu.modules.tq.common.job; + +import com.nu.modules.tq.common.service.ITqDeviceInfoService; +import lombok.extern.slf4j.Slf4j; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 表设备状态信息同步 + */ +@Slf4j +public class CollectorDataJob implements Job { + + @Autowired + ITqDeviceInfoService service; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + service.getAllCollector(); + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java new file mode 100644 index 0000000..6fe7cb1 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java @@ -0,0 +1,23 @@ +package com.nu.modules.tq.common.job; + +import com.nu.modules.tq.common.service.ITqDeviceInfoService; +import lombok.extern.slf4j.Slf4j; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 表设备状态信息同步 + */ +@Slf4j +public class MeterStatusJob implements Job { + + @Autowired + ITqDeviceInfoService service; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + service.getAllMeter(); + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/job/ElectricityReadJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/job/ElectricityReadJob.java new file mode 100644 index 0000000..26758d1 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/job/ElectricityReadJob.java @@ -0,0 +1,34 @@ +package com.nu.modules.tq.electricity.job; + +import com.nu.modules.tq.electricity.entity.ElectricityMeter; +import com.nu.modules.tq.electricity.service.IElectricityMeterService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.util.DateUtils; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; + +/** + * 电表设备抄表信息同步 + */ +@Slf4j +public class ElectricityReadJob implements Job { + + @Autowired + IElectricityMeterService service; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + List electricityList = service.findAllList(); + if(electricityList!=null&&electricityList.size()>0){ + for(int i=0;i< electricityList.size();i++){ + ElectricityMeter electricityMeter = electricityList.get(i); + Result result = service.eleRead(electricityMeter); + log.error("ElectricityReadJob:{}-{}", DateUtils.now(),result.getResult()); + } + } + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/ElectricityMeterMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/ElectricityMeterMapper.java index 18cf663..9164e53 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/ElectricityMeterMapper.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/ElectricityMeterMapper.java @@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nu.modules.tq.electricity.entity.ElectricityMeter; import org.apache.ibatis.annotations.Param; +import java.util.List; public interface ElectricityMeterMapper extends BaseMapper { IPage findPage(Page page, @Param("params") ElectricityMeter electricityMeter); + List findAllList(); ElectricityMeter getElectricityMeter(ElectricityMeter electricityMeter); int insert(ElectricityMeter electricityMeter); int update(ElectricityMeter electricityMeter); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml index c431477..853338c 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml @@ -52,6 +52,29 @@ + + - + insert into nu_iot_tq_water_meter( cid, address, @@ -81,7 +104,7 @@ #{remark}, now() ) - + update nu_iot_tq_electricity_meter 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 05210ed..9be9315 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 @@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.nu.modules.tq.electricity.entity.ElectricityMeter; import org.jeecg.common.api.vo.Result; +import java.util.List; + public interface IElectricityMeterService extends IService { IPage findPage(Page page, ElectricityMeter electricityMeter); + List findAllList(); 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 98787f8..d15b1a9 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 @@ -44,10 +44,16 @@ public class ElectricityMeterServiceImpl extends ServiceImpl findPage(Page page, ElectricityMeter electricityMeter){ return baseMapper.findPage(page,electricityMeter); } + @Override + public List findAllList(){ + return baseMapper.findAllList(); + } + /** * 清零 */ diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/job/WaterReadJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/job/WaterReadJob.java new file mode 100644 index 0000000..c821cd7 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/job/WaterReadJob.java @@ -0,0 +1,35 @@ +package com.nu.modules.tq.water.job; + +import com.nu.modules.tq.water.entity.WaterMeter; +import com.nu.modules.tq.water.service.IWaterMeterService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.util.DateUtils; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 水表设备抄表信息同步 + */ +@Slf4j +public class WaterReadJob implements Job { + + @Autowired + IWaterMeterService service; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + List waterList = service.findAllList(); + if(waterList!=null&&waterList.size()>0){ + for(int i=0;i< waterList.size();i++){ + WaterMeter waterMeter = waterList.get(i); + Result result = service.waterRead(waterMeter); + log.error("WaterReadJob:{}-{}", DateUtils.now(),result.getResult()); + } + } + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/WaterMeterMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/WaterMeterMapper.java index d360554..ae33632 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/WaterMeterMapper.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/WaterMeterMapper.java @@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nu.modules.tq.water.entity.WaterMeter; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface WaterMeterMapper extends BaseMapper { IPage findPage(Page page, @Param("params") WaterMeter waterMeter); + List findAllList(); WaterMeter getWaterMeter(WaterMeter waterMeter); int insert(WaterMeter waterMeter); int update(WaterMeter waterMeter); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml index 8606440..394ba3f 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml @@ -50,6 +50,19 @@ + + - + insert into nu_iot_tq_water_meter( cid, address, @@ -82,7 +95,7 @@ #{remark}, now() ) - + update nu_iot_tq_water_meter diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/IWaterMeterService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/IWaterMeterService.java index 38dfabd..0661cd3 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/IWaterMeterService.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/IWaterMeterService.java @@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.nu.modules.tq.water.entity.WaterMeter; import org.jeecg.common.api.vo.Result; +import java.util.List; + public interface IWaterMeterService extends IService { IPage findPage(Page page, WaterMeter waterMeter); + List findAllList(); 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 193afb1..427b2dc 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 @@ -31,10 +31,16 @@ public class WaterMeterServiceImpl extends ServiceImpl findPage(Page page, WaterMeter waterMeter){ return baseMapper.findPage(page,waterMeter); } + @Override + public List findAllList(){ + return baseMapper.findAllList(); + } + /** * 清零 */ From 7a7284e5ac6d0fd0417b4fcf9e46376d252dcc7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Mon, 16 Jun 2025 18:43:36 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=99=BA=E8=83=BD=E7=94=B5=E8=A1=A8?= =?UTF-8?q?=E6=B0=B4=E8=A1=A8=E5=AE=9A=E6=97=B6=E6=9B=B4=E6=96=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tq/common/controller/DeviceInfoController.java | 4 ++-- .../nu/modules/tq/common/job/CollectorDataJob.java | 2 +- .../com/nu/modules/tq/common/job/MeterStatusJob.java | 2 +- .../tq/common/service/ITqDeviceInfoService.java | 4 ++-- .../common/service/impl/TqDeviceInfoServiceImpl.java | 12 ++++++++---- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/controller/DeviceInfoController.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/controller/DeviceInfoController.java index 1f4cacf..091bb3d 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/controller/DeviceInfoController.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/controller/DeviceInfoController.java @@ -24,7 +24,7 @@ public class DeviceInfoController extends JeecgController getAllMeter() { - service.getAllMeter(); + service.getAllMeter(false); return Result.OK("获取设备信息成功!"); } @@ -34,7 +34,7 @@ public class DeviceInfoController extends JeecgController getAllCollector() { - service.getAllCollector(); + service.getAllCollector(false); return Result.OK("获取采集器信息成功!"); } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java index da767b9..0ec9abe 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java @@ -18,6 +18,6 @@ public class CollectorDataJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - service.getAllCollector(); + service.getAllCollector(true); } } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java index 6fe7cb1..729fb9a 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java @@ -18,6 +18,6 @@ public class MeterStatusJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - service.getAllMeter(); + service.getAllMeter(true); } } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/ITqDeviceInfoService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/ITqDeviceInfoService.java index 7c1b5ec..694bfe2 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/ITqDeviceInfoService.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/ITqDeviceInfoService.java @@ -10,6 +10,6 @@ import com.nu.modules.tq.common.entity.TqDeviceInfo; * @Version: V1.0 */ public interface ITqDeviceInfoService extends IService { - void getAllMeter(); - void getAllCollector(); + void getAllMeter(boolean isJob); + void getAllCollector(boolean isJob); } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/impl/TqDeviceInfoServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/impl/TqDeviceInfoServiceImpl.java index c079897..6200852 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/impl/TqDeviceInfoServiceImpl.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/impl/TqDeviceInfoServiceImpl.java @@ -40,7 +40,7 @@ public class TqDeviceInfoServiceImpl extends ServiceImpl Date: Mon, 16 Jun 2025 18:46:29 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=99=BA=E8=83=BD=E7=94=B5=E8=A1=A8?= =?UTF-8?q?=E6=B0=B4=E8=A1=A8=E5=AE=9A=E6=97=B6=E6=9B=B4=E6=96=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nu/modules/tq/common/job/CollectorDataJob.java | 7 ++++++- .../java/com/nu/modules/tq/common/job/MeterStatusJob.java | 5 +++++ .../nu/modules/tq/electricity/job/ElectricityReadJob.java | 5 +++++ .../java/com/nu/modules/tq/water/job/WaterReadJob.java | 5 +++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java index 0ec9abe..f6d7abd 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/CollectorDataJob.java @@ -8,7 +8,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; /** - * 表设备状态信息同步 + * 采集器状态信息同步 */ @Slf4j public class CollectorDataJob implements Job { @@ -16,6 +16,11 @@ public class CollectorDataJob implements Job { @Autowired ITqDeviceInfoService service; + /** + * 5分钟一次 + * @param jobExecutionContext + * @throws JobExecutionException + */ @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { service.getAllCollector(true); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java index 729fb9a..43c457a 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/job/MeterStatusJob.java @@ -16,6 +16,11 @@ public class MeterStatusJob implements Job { @Autowired ITqDeviceInfoService service; + /** + * 5分钟一次 + * @param jobExecutionContext + * @throws JobExecutionException + */ @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { service.getAllMeter(true); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/job/ElectricityReadJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/job/ElectricityReadJob.java index 26758d1..67b5d56 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/job/ElectricityReadJob.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/job/ElectricityReadJob.java @@ -20,6 +20,11 @@ public class ElectricityReadJob implements Job { @Autowired IElectricityMeterService service; + /** + * 1小时一次 + * @param jobExecutionContext + * @throws JobExecutionException + */ @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { List electricityList = service.findAllList(); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/job/WaterReadJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/job/WaterReadJob.java index c821cd7..210e74c 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/job/WaterReadJob.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/job/WaterReadJob.java @@ -21,6 +21,11 @@ public class WaterReadJob implements Job { @Autowired IWaterMeterService service; + /** + * 1小时一次 + * @param jobExecutionContext + * @throws JobExecutionException + */ @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { List waterList = service.findAllList(); From 26b29049d6b754c77ed22bcee439ee2b4bc2ad45 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Wed, 18 Jun 2025 08:39:17 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E8=8E=B7=E5=8F=96token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/controller/WeixinController.java | 48 +++++++++---------- .../service/impl/TqDeviceInfoServiceImpl.java | 8 ++-- .../mapper/ElectricityMeterMapper.java | 6 ++- .../mapper/xml/ElectricityMeterMapper.xml | 6 +-- .../tq/water/mapper/WaterMeterMapper.java | 6 ++- .../tq/water/mapper/xml/WaterMeterMapper.xml | 4 +- .../src/main/resources/application-dev.yml | 8 ++-- .../src/main/resources/application-uat.yml | 8 ++-- 8 files changed, 49 insertions(+), 45 deletions(-) diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/weixin/controller/WeixinController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/weixin/controller/WeixinController.java index a2907db..0e4d311 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/weixin/controller/WeixinController.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/weixin/controller/WeixinController.java @@ -118,13 +118,13 @@ public class WeixinController { @GetMapping("/wechat/callback") public Map callback(@RequestParam("code") String code, Model model) { String tokenUrl = String.format( - "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code", + "https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code", wechatpayConfig.getAppid(), wechatpayConfig.getAppsecret(), code ); System.out.println(tokenUrl); RestTemplate restTemplate = new RestTemplate(); - System.out.println("-------------------11111111111111111----------"); + System.out.println("-------------------11111111111111111----------"+tokenUrl); String tokenResponse = restTemplate.getForObject(tokenUrl, String.class); System.out.println("-------------------22222222222222222----------"+tokenResponse); @@ -135,28 +135,28 @@ public class WeixinController { System.out.println("-------------------33333333333333----------"); JsonNode tokenNode = objectMapper.readTree(tokenResponse); System.out.println("-------------------444444444444444----------"+tokenNode); - accessToken = tokenNode.get("access_token").asText(); - System.out.println("-------------------55555555555555----------"+accessToken); - String openId = tokenNode.get("openid").asText(); - System.out.println("-------------------666666666666666----------"+openId); - - String userInfoUrl = String.format( - "https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN", - accessToken, openId - ); - System.out.println("-------------------777777777777777----------"+userInfoUrl); - - String userInfoResponse = restTemplate.getForObject(userInfoUrl, String.class); - System.out.println("-------------------888888888888888----------"+userInfoResponse); - JsonNode userInfoNode = objectMapper.readTree(userInfoResponse); - System.out.println("-------------------999999999999999----------"+userInfoNode); - - model.addAttribute("openid", openId); - System.out.println("-------------------999999999999999----------"+openId); - model.addAttribute("nickname", userInfoNode.get("nickname").asText()); - model.addAttribute("headimgurl", userInfoNode.get("headimgurl").asText()); - model.addAttribute("code", code); - retJson = userInfoNode; +// accessToken = tokenNode.get("session_key").asText(); +// System.out.println("-------------------55555555555555----------"+accessToken); +// String openId = tokenNode.get("openid").asText(); +// System.out.println("-------------------666666666666666----------"+openId); +// +// String userInfoUrl = String.format( +// "https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN", +// accessToken, openId +// ); +// System.out.println("-------------------777777777777777----------"+userInfoUrl); +// +// String userInfoResponse = restTemplate.getForObject(userInfoUrl, String.class); +// System.out.println("-------------------888888888888888----------"+userInfoResponse); +// JsonNode userInfoNode = objectMapper.readTree(userInfoResponse); +// System.out.println("-------------------999999999999999----------"+userInfoNode); +// +// model.addAttribute("openid", openId); +// System.out.println("-------------------999999999999999----------"+openId); +// model.addAttribute("nickname", userInfoNode.get("nickname").asText()); +// model.addAttribute("headimgurl", userInfoNode.get("headimgurl").asText()); +// model.addAttribute("code", code); + retJson = tokenNode; } catch (IOException e) { e.printStackTrace(); model.addAttribute("openid", "Error parsing JSON response"); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/impl/TqDeviceInfoServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/impl/TqDeviceInfoServiceImpl.java index 6200852..06fbbbc 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/impl/TqDeviceInfoServiceImpl.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/common/service/impl/TqDeviceInfoServiceImpl.java @@ -66,10 +66,10 @@ public class TqDeviceInfoServiceImpl extends ServiceImpl { IPage findPage(Page page, @Param("params") ElectricityMeter electricityMeter); List findAllList(); ElectricityMeter getElectricityMeter(ElectricityMeter electricityMeter); - int insert(ElectricityMeter electricityMeter); - int update(ElectricityMeter electricityMeter); int updateValue(ElectricityMeter electricityMeter); int updateRelayState(ElectricityMeter electricityMeter); + + int insertElectricty(ElectricityMeter electricityMeter); + + int updateElectricty(ElectricityMeter electricityMeter); } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml index 853338c..f076793 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/mapper/xml/ElectricityMeterMapper.xml @@ -89,8 +89,8 @@ and address = #{address} - - insert into nu_iot_tq_water_meter( + + insert into nu_iot_tq_electricity_meter( cid, address, relay_state, @@ -106,7 +106,7 @@ ) - + update nu_iot_tq_electricity_meter set relay_state = #{relayState}, diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/WaterMeterMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/WaterMeterMapper.java index ae33632..fece42d 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/WaterMeterMapper.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/WaterMeterMapper.java @@ -12,8 +12,10 @@ public interface WaterMeterMapper extends BaseMapper { IPage findPage(Page page, @Param("params") WaterMeter waterMeter); List findAllList(); WaterMeter getWaterMeter(WaterMeter waterMeter); - int insert(WaterMeter waterMeter); - int update(WaterMeter waterMeter); int updateValue(WaterMeter waterMeter); int updateRelayState(WaterMeter waterMeter); + + int insertWater(WaterMeter waterMeter); + + int updateWater(WaterMeter waterMeter); } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml index 394ba3f..d88b985 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml @@ -78,7 +78,7 @@ and address = #{address} - + insert into nu_iot_tq_water_meter( cid, address, @@ -97,7 +97,7 @@ ) - + update nu_iot_tq_water_meter set relay_state = #{relayState}, diff --git a/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml b/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml index 51c3f56..22e7735 100644 --- a/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml +++ b/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml @@ -379,10 +379,10 @@ downloadkey: hP2K9Z!WLuj"M#8, wxpay: # APIv3密钥 api-v3-key: asdfiuzwe3534565478WETDSAFRWEq1E - # APPID - appid: wx8fc3e4305d2fbf0b - # appsecret - appsecret: 3bf3dd4ec72f591432db6b28c2c044e5 + # APPID(小程序) + appid: wx53bc8a44e780d26a + # appsecret(小程序) + appsecret: 7dfcbf80cb4ff379454a3d6b1f8bd61f # 商户ID mch-id: 1717618860 # 商户API证书序列号 diff --git a/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml b/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml index 3ffe67f..02801e0 100644 --- a/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml +++ b/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml @@ -376,10 +376,10 @@ downloadkey: hP2K9Z!WLuj"M#8, wxpay: # APIv3密钥 api-v3-key: asdfiuzwe3534565478WETDSAFRWEq1E - # APPID - appid: wx8fc3e4305d2fbf0b - # appsecret - appsecret: 3bf3dd4ec72f591432db6b28c2c044e5 + # APPID(小程序) + appid: wx53bc8a44e780d26a + # appsecret(小程序) + appsecret: 7dfcbf80cb4ff379454a3d6b1f8bd61f # 商户ID mch-id: 1717618860 # 商户API证书序列号 From ad4b66e1977ce9880e106ab34976e866f1f7534b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 18 Jun 2025 15:39:07 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=B8=A9=E6=B9=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/entity/YiweilianConfig.java | 33 ++ .../common/mapper/YiweilianConfigMapper.java | 17 + .../mapper/xml/YiweilianConfigMapper.xml | 15 + .../service/IYiweilianConfigService.java | 14 + .../impl/YiweilianConfigServiceImpl.java | 23 + .../yiweilian/enums/YiweilianApiEnum.java | 23 + .../controller/HumidAlarmController.java | 59 +++ .../controller/HumidDeviceController.java | 118 ++++++ .../yiweilian/humid/entity/HumidAlarm.java | 77 ++++ .../yiweilian/humid/entity/HumidDevice.java | 114 +++++ .../yiweilian/humid/job/HumidAlarmJob.java | 40 ++ .../yiweilian/humid/job/HumidReadJob.java | 33 ++ .../humid/mapper/HumidAlarmMapper.java | 14 + .../humid/mapper/HumidDeviceMapper.java | 18 + .../humid/mapper/xml/HumidAlarmMapper.xml | 102 +++++ .../humid/mapper/xml/HumidDeviceMapper.xml | 340 +++++++++++++++ .../humid/service/IHumidAlarmService.java | 14 + .../humid/service/IHumidDeviceService.java | 19 + .../service/impl/HumidAlarmServiceImpl.java | 138 ++++++ .../service/impl/HumidDeviceServiceImpl.java | 399 ++++++++++++++++++ .../nu/modules/yiweilian/utils/HttpTool.java | 85 ++++ .../modules/yiweilian/utils/YiweilianApi.java | 124 ++++++ 22 files changed, 1819 insertions(+) create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/entity/YiweilianConfig.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/mapper/YiweilianConfigMapper.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/mapper/xml/YiweilianConfigMapper.xml create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/service/IYiweilianConfigService.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/service/impl/YiweilianConfigServiceImpl.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/enums/YiweilianApiEnum.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidAlarmController.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidDeviceController.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidAlarm.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/job/HumidAlarmJob.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/job/HumidReadJob.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/HumidAlarmMapper.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/HumidDeviceMapper.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/xml/HumidAlarmMapper.xml create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/xml/HumidDeviceMapper.xml create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidAlarmService.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidDeviceService.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidAlarmServiceImpl.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidDeviceServiceImpl.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/utils/HttpTool.java create mode 100644 nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/utils/YiweilianApi.java diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/entity/YiweilianConfig.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/entity/YiweilianConfig.java new file mode 100644 index 0000000..901e757 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/entity/YiweilianConfig.java @@ -0,0 +1,33 @@ +package com.nu.modules.yiweilian.common.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @Description: 护理单元-物联管理-易维联-配置信息 + * @Author: caolei + * @Date: 2025-06-13 + * @Version: V1.0 + */ +@Data +@TableName("nu_iot_yiweilian_config") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_iot_yiweilian_config", description="护理单元-物联管理-易维联-配置信息") +public class YiweilianConfig implements Serializable { + private static final long serialVersionUID = 1L; + /**ID*/ + @TableId(type = IdType.AUTO) + @ApiModelProperty(value = "ID") + private Integer id; + private String requestUrl; //云平台系统地址 + private String clientId; //识别用户的唯一标识 +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/mapper/YiweilianConfigMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/mapper/YiweilianConfigMapper.java new file mode 100644 index 0000000..a021203 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/mapper/YiweilianConfigMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.yiweilian.common.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.yiweilian.common.entity.YiweilianConfig; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Description: 护理单元-物联管理-易维联-配置信息 + * @Author: caolei + * @Date: 2025-06-13 + * @Version: V1.0 + */ + +@Mapper +public interface YiweilianConfigMapper extends BaseMapper { + YiweilianConfig getConfig(); +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/mapper/xml/YiweilianConfigMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/mapper/xml/YiweilianConfigMapper.xml new file mode 100644 index 0000000..d6930f4 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/mapper/xml/YiweilianConfigMapper.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/service/IYiweilianConfigService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/service/IYiweilianConfigService.java new file mode 100644 index 0000000..faac821 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/service/IYiweilianConfigService.java @@ -0,0 +1,14 @@ +package com.nu.modules.yiweilian.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.yiweilian.common.entity.YiweilianConfig; + +/** + * @Description: 护理单元-物联管理-易维联-配置信息 + * @Author: caolei + * @Date: 2025-06-13 + * @Version: V1.0 + */ +public interface IYiweilianConfigService extends IService { + YiweilianConfig getConfig(); +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/service/impl/YiweilianConfigServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/service/impl/YiweilianConfigServiceImpl.java new file mode 100644 index 0000000..226c1f9 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/common/service/impl/YiweilianConfigServiceImpl.java @@ -0,0 +1,23 @@ +package com.nu.modules.yiweilian.common.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.yiweilian.common.entity.YiweilianConfig; +import com.nu.modules.yiweilian.common.mapper.YiweilianConfigMapper; +import com.nu.modules.yiweilian.common.service.IYiweilianConfigService; +import org.springframework.stereotype.Service; + +/** + * @Description: 护理单元-物联管理-易维联-配置信息 + * @Author: caolei + * @Date: 2025-06-13 + * @Version: V1.0 + */ +@Service +public class YiweilianConfigServiceImpl extends ServiceImpl implements IYiweilianConfigService { + + @Override + public YiweilianConfig getConfig(){ + return baseMapper.getConfig(); + } + +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/enums/YiweilianApiEnum.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/enums/YiweilianApiEnum.java new file mode 100644 index 0000000..258d670 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/enums/YiweilianApiEnum.java @@ -0,0 +1,23 @@ +package com.nu.modules.yiweilian.enums; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +/** + * 接口枚举类 + */ +@Getter +@RequiredArgsConstructor +public enum YiweilianApiEnum { + + ADD_DEVICE("/mtInterface/device/addDevice","添加设备"), + UPDATE_DEVICE_CONFIG("/mtInterface/device/updateDeviceConfig","修改设备配置"), + DELETE_DEVICE("/mtInterface/device/deleteDevice","删除设备"), +// GET_DEVICES("/mtInterface/device/getDevices","查询设备列表(分页)"), + GET_DEVICE_CONFIGS("/mtInterface/device/getDeciveConfigs","查询设备列表含配置信息(分页)"), + GET_REAL_TIME("/mtInterface/realTime/getRealTime","查询设备实时数据(分页)"), + GET_WARNING_DATA("/mtInterface/warning/getWarningData","查询告警记录(分页)"); + + private final String value;//自定义属性,枚举值,获取:如ApiEnum.GET_ENCRYPT_KEY_FOR_LOGIN.getValue(); + private final String remark;//自定义属性,枚举描述,获取:如ApiEnum.GET_ENCRYPT_KEY_FOR_LOGIN.getRemark(); +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidAlarmController.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidAlarmController.java new file mode 100644 index 0000000..69d745e --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidAlarmController.java @@ -0,0 +1,59 @@ +package com.nu.modules.yiweilian.humid.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.yiweilian.humid.entity.HumidAlarm; +import com.nu.modules.yiweilian.humid.service.IHumidAlarmService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +@Slf4j +@RestController +@RequestMapping("/iot/yiweilian/humidAlarm") +public class HumidAlarmController extends JeecgController { + + @Autowired + private IHumidAlarmService service; + + /** + * 分页列表查询 + * + * @param humidAlarm + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @GetMapping(value = "/list") + public Result> queryPageList(HumidAlarm humidAlarm, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Page page = new Page(pageNo, pageSize); + IPage pageList = service.findPage(page, humidAlarm); + return Result.OK(pageList); + } + + /** + * 获取告警 + * + * @param humidAlarm + * @return + */ + @GetMapping(value = "/getAlarm") + public Result getAlarm(HumidAlarm humidAlarm) { + service.getAlarm(humidAlarm); + return Result.OK(); + } + + + +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidDeviceController.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidDeviceController.java new file mode 100644 index 0000000..9762ecf --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidDeviceController.java @@ -0,0 +1,118 @@ +package com.nu.modules.yiweilian.humid.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.yiweilian.humid.entity.HumidDevice; +import com.nu.modules.yiweilian.humid.service.IHumidDeviceService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; + +@Slf4j +@RestController +@RequestMapping("/iot/yiweilian/humidDevice") +public class HumidDeviceController extends JeecgController { + + @Autowired + private IHumidDeviceService service; + + /** + * 分页列表查询 + * + * @param humidDevice + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @GetMapping(value = "/list") + public Result> queryPageList(HumidDevice humidDevice, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Page page = new Page(pageNo, pageSize); + IPage pageList = service.findPage(page, humidDevice); + return Result.OK(pageList); + } + + /** + * 添加设备 + * + * @param humidDevice + * @return + */ + @GetMapping(value = "/insertDevice") + public Result insertDevice(HumidDevice humidDevice) { + return service.insertDevice(humidDevice); + } + + /** + * 修改设备 + * + * @param humidDevice + * @return + */ + @GetMapping(value = "/updateDevice") + public Result updateDevice(HumidDevice humidDevice) { + return service.updateDevice(humidDevice); + } + + /** + * 删除设备 + * + * @param humidDevice + * @return + */ + @GetMapping(value = "/deleteDevice") + public Result deleteDevice(HumidDevice humidDevice) { + return service.deleteDevice(humidDevice); + } + + /** + * 获取设备配置参数 + * + * @param humidDevice + * @return + */ + @GetMapping(value = "/getDeviceParameters") + public Result getDeviceParameters(HumidDevice humidDevice) { + return service.getDeviceParameters(humidDevice); + } + + /** + * 抄表 + * + * @param humidDevice + * @return + */ + @GetMapping(value = "/updateDeviceRealTime") + public Result updateDeviceRealTime(HumidDevice humidDevice) { + String result = service.updateDeviceRealTime(humidDevice); + if(!result.equals("")){ + return Result.error("抄表失败:"+result); + } + return Result.OK("抄表成功"); + } + + /** + * 操作日志分页列表查询 + * + * @param humidDevice + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @GetMapping(value = "/logList") + public Result> queryLogPageList(HumidDevice humidDevice, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Page page = new Page(pageNo, pageSize); + IPage pageList = service.findLogPage(page, humidDevice); + return Result.OK(pageList); + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidAlarm.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidAlarm.java new file mode 100644 index 0000000..279b6f2 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidAlarm.java @@ -0,0 +1,77 @@ +package com.nu.modules.yiweilian.humid.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import java.io.Serializable; +import java.util.Date; + +/** + *

Class:易维联-温湿度计告警Entity + *

功能描述:功能描述 + */ +@Data +@TableName("nu_iot_yiweilian_humid_alarm") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_iot_yiweilian_humid_alarm对象", description="易维联-温湿设备告警") +public class HumidAlarm implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Integer id; + @Excel(name = "设备SN号", width = 15) + @ApiModelProperty(value = "设备SN号") + private String sn; + @Excel(name = "告警ID", width = 15) + @ApiModelProperty(value = "告警ID") + private String alarmId; + @Excel(name = "告警状态ID", width = 15) + @ApiModelProperty(value = "告警状态ID") + private String wrId; + @Excel(name = "告警数据", width = 15) + @ApiModelProperty(value = "告警数据") + private String wrData; + @Excel(name = "告警内容", width = 15) + @ApiModelProperty(value = "告警内容") + private String wrContent; + @Excel(name = "告警记录时间", width = 15) + @ApiModelProperty(value = "告警记录时间") + private String wrDate; + @Excel(name = "清除告警ID", width = 15) + @ApiModelProperty(value = "清除告警ID") + private String clearAlarmId; + @Excel(name = "清除告警状态ID", width = 15) + @ApiModelProperty(value = "清除告警状态ID") + private String clearId; + @Excel(name = "清除告警数据", width = 15) + @ApiModelProperty(value = "清除告警数据") + private String clearData; + @Excel(name = "清除告警内容", width = 15) + @ApiModelProperty(value = "清除告警内容") + private String clearContent; + @Excel(name = "清除告警记录时间", width = 15) + @ApiModelProperty(value = "清除告警记录时间") + private String clearDate; + @Excel(name = "状态", width = 15) + @ApiModelProperty(value = "状态") + private String status; //状态 0告警 1清除 + + @TableField(exist = false) + private Date alarmStartTime; + @TableField(exist = false) + private Date alarmEndTime; + @TableField(exist = false) + private Date clearStartTime; + @TableField(exist = false) + private Date clearEndTime; + +} \ No newline at end of file diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java new file mode 100644 index 0000000..f28cdec --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java @@ -0,0 +1,114 @@ +package com.nu.modules.yiweilian.humid.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + *

Class:易维联-温湿度计Entity + *

功能描述:功能描述 + */ +@Data +@TableName("nu_iot_yiweilian_humid_device") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_iot_yiweilian_humid_device对象", description="易维联-温湿设备") +public class HumidDevice implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Integer id; + @Excel(name = "设备SN号", width = 15) + @ApiModelProperty(value = "设备SN号") + private String sn; + @Excel(name = "设备名称", width = 15) + @ApiModelProperty(value = "设备名称") + private String deviceName; + @Excel(name = "设备类型", width = 15) + @ApiModelProperty(value = "设备类型") + private String deviceTypes;//一共16位,第几位为1代表设备有该功能. 1位温度 2位湿度 15位电量 + @Excel(name = "上报间隔", width = 15) + @ApiModelProperty(value = "上报间隔") + private String reportingInterval; //实时数据上报时间间隔 单位分钟 + @Excel(name = "记录间隔", width = 15) + @ApiModelProperty(value = "记录间隔") + private String recordInterval; //记录时间间隔 单位分钟 + @Excel(name = "历史数据上报时刻", width = 15) + @ApiModelProperty(value = "历史数据上报时刻") + private String historyReportTime; //历史数据上报时刻 00:00 + @Excel(name = "历史数据上报间隔", width = 15) + @ApiModelProperty(value = "历史数据上报间隔") + private String historyInterval; //历史数据上报间隔 单位小时 + @Excel(name = "温度预警范围 上限值", width = 15) + @ApiModelProperty(value = "温度预警范围 上限值") + private String temperatureHigh ; //温度预警范围-上限值 + @Excel(name = "温度预警范围 下限值", width = 15) + @ApiModelProperty(value = "温度预警范围 下限值") + private String temperatureLow; //温度预警范围-下限值 + @Excel(name = "温度缓冲值", width = 15) + @ApiModelProperty(value = "温度缓冲值") + private String temperatureBuffer; //温度缓冲值 + @Excel(name = "湿度预警范围 上限值", width = 15) + @ApiModelProperty(value = "湿度预警范围 上限值") + private String humidityHigh; //湿度预警范围-上限值 + @Excel(name = "湿度预警范围 下限值", width = 15) + @ApiModelProperty(value = "湿度预警范围 下限值") + private String humidityLow; //湿度预警范围-下限值 + @Excel(name = "湿度缓冲值", width = 15) + @ApiModelProperty(value = "湿度缓冲值") + private String humidityBuffer; //湿度缓冲值 + @Excel(name = "设备所在时区", width = 15) + @ApiModelProperty(value = "设备所在时区") + private String timeCode; //设备所在时区 01北京时间 02纽约时间 + @Excel(name = "断电报警", width = 15) + @ApiModelProperty(value = "断电报警") + private String izOutages; //断电报警 0开启 1关闭 + @Excel(name = "低电报警", width = 15) + @ApiModelProperty(value = "低电报警") + private String izLowBattery; //低电报警 0开启 1关闭 + @Excel(name = "上下线通知", width = 15) + @ApiModelProperty(value = "上下线通知") + private String izOnline; //上下线通知 0开启 1关闭 + @Excel(name = "温度", width = 15) + @ApiModelProperty(value = "温度") + private String temperature; //温度 + @Excel(name = "湿度", width = 15) + @ApiModelProperty(value = "湿度") + private String humidity; //湿度 + @Excel(name = "在线状态", width = 15) + @ApiModelProperty(value = "在线状态") + private String status; //在线状态,0在线 1离线 + @Excel(name = "最新上报时间", width = 15) + @ApiModelProperty(value = "最新上报时间") + private String reportingTime; //最新上报时间 + @Excel(name = "电量", width = 15) + @ApiModelProperty(value = "电量") + private String electricity; //电量 0~4 + + private String optType; //操作类型 + private String optTime; //操作时间 + private String optBy; //操作人 + + private Integer alarmCn; //告警数量 + + private String nuId;//护理单元ID + private String nuName;//护理单元 + private String departId;//机构ID + private String departName;//机构名称 + private String departServerUrl;//机构服务地址 + private String oldServerUrl;//原机构服务地址 + private String syncType;//是否同步 0 未同步 1已同步 + private String oldDepartId;//原机构id + private String oldDepartName;//原机构名称 + +} \ No newline at end of file diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/job/HumidAlarmJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/job/HumidAlarmJob.java new file mode 100644 index 0000000..f2110ca --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/job/HumidAlarmJob.java @@ -0,0 +1,40 @@ +package com.nu.modules.yiweilian.humid.job; + +import com.nu.modules.yiweilian.humid.entity.HumidAlarm; +import com.nu.modules.yiweilian.humid.service.IHumidAlarmService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.util.DateUtils; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Calendar; +import java.util.List; + +/** + * 温湿度告警采集 + */ +@Slf4j +public class HumidAlarmJob implements Job { + + @Autowired + IHumidAlarmService service; + + /** + * 5分钟一次 + * @param jobExecutionContext + * @throws JobExecutionException + */ + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + Calendar ca = Calendar.getInstance(); + HumidAlarm humidAlarm = new HumidAlarm(); + humidAlarm.setAlarmEndTime(ca.getTime()); + ca.add(Calendar.MINUTE,-6); + humidAlarm.setAlarmStartTime(ca.getTime()); + String result = service.getAlarm(humidAlarm); + log.error("HumidAlarmJob:{}-{}", DateUtils.now(),result); + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/job/HumidReadJob.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/job/HumidReadJob.java new file mode 100644 index 0000000..05fb118 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/job/HumidReadJob.java @@ -0,0 +1,33 @@ +package com.nu.modules.yiweilian.humid.job; + +import com.nu.modules.yiweilian.humid.entity.HumidDevice; +import com.nu.modules.yiweilian.humid.service.IHumidDeviceService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.DateUtils; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Calendar; + +/** + * 温湿度采集 + */ +@Slf4j +public class HumidReadJob implements Job { + + @Autowired + IHumidDeviceService service; + + /** + * 5分钟一次 + * @param jobExecutionContext + * @throws JobExecutionException + */ + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + String result = service.updateDeviceRealTime(new HumidDevice()); + log.error("HumidReadJob:{}-{}", DateUtils.now(),result); + } +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/HumidAlarmMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/HumidAlarmMapper.java new file mode 100644 index 0000000..6d0661a --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/HumidAlarmMapper.java @@ -0,0 +1,14 @@ +package com.nu.modules.yiweilian.humid.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.yiweilian.humid.entity.HumidAlarm; +import org.apache.ibatis.annotations.Param; + +public interface HumidAlarmMapper extends BaseMapper { + IPage findPage(Page page, @Param("params") HumidAlarm HumidAlarm); + HumidAlarm getHumidAlarm(HumidAlarm HumidAlarm); + int insertAlarm(HumidAlarm HumidAlarm); + int updateAlarm(HumidAlarm HumidAlarm); +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/HumidDeviceMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/HumidDeviceMapper.java new file mode 100644 index 0000000..ae13ef8 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/HumidDeviceMapper.java @@ -0,0 +1,18 @@ +package com.nu.modules.yiweilian.humid.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.yiweilian.humid.entity.HumidDevice; +import org.apache.ibatis.annotations.Param; + +public interface HumidDeviceMapper extends BaseMapper { + IPage findPage(Page page, @Param("params") HumidDevice humidDevice); + HumidDevice getHumidDevice(HumidDevice humidDevice); + int insertDevice(HumidDevice humidDevice); + int updateDevice(HumidDevice humidDevice); + int deleteDevice(HumidDevice humidDevice); + int updateValue(HumidDevice humidDevice); + int insertLog(HumidDevice humidDevice); + IPage findLogPage(Page page, @Param("params") HumidDevice humidDevice); +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/xml/HumidAlarmMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/xml/HumidAlarmMapper.xml new file mode 100644 index 0000000..68b8deb --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/xml/HumidAlarmMapper.xml @@ -0,0 +1,102 @@ + + + + + + + + + + insert into nu_iot_yiweilian_humid_alarm( + sn, + alarm_id, + wr_id, + wr_data, + wr_content, + wr_date, + status, + create_time + ) + values( + #{sn}, + #{alarmId}, + #{wrId}, + #{wrData}, + #{wrContent}, + #{wrDate}, + '0', + now() + ) + + + + update nu_iot_yiweilian_humid_alarm + set + clear_alarm_id = #{clearAlarmId}, + clear_id = #{clearId}, + clear_data = #{clearData}, + clear_content = #{clearContent}, + clear_date = #{clearDate}, + status = '1', + update_time = now() + where status = '0' + and sn = #{sn} + and wr_id = #{wrId} + and wr_date <= #{clearDate} + + + \ No newline at end of file diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/xml/HumidDeviceMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/xml/HumidDeviceMapper.xml new file mode 100644 index 0000000..13e122f --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/mapper/xml/HumidDeviceMapper.xml @@ -0,0 +1,340 @@ + + + + + + + + + + insert into nu_iot_yiweilian_humid_device( + sn, + time_code, + device_name, + create_time + ) + values( + #{sn}, + #{timeCode}, + #{deviceName}, + now() + ) + + + + update nu_iot_yiweilian_humid_device + set + device_name = #{deviceName}, + device_types = #{deviceTypes}, + reporting_interval = #{reportingInterval}, + record_interval = #{recordInterval}, + history_report_time = #{historyReportTime}, + history_interval = #{historyInterval}, + temperature_high = #{temperatureHigh}, + temperature_low = #{temperatureLow}, + temperature_buffer = #{temperatureBuffer}, + humidity_high = #{humidityHigh}, + humidity_low = #{humidityLow}, + humidity_buffer = #{humidityBuffer}, + iz_outages = #{izOutages}, + iz_low_battery = #{izLowBattery}, + iz_online = #{izOnline}, + time_code = #{timeCode}, + update_time = now() + where sn = #{sn} + + + + delete from nu_iot_yiweilian_humid_device where sn = #{sn} + + + + update nu_iot_yiweilian_humid_device + set + temperature = #{temperature}, + humidity = #{humidity}, + status = #{status}, + reporting_time = #{reportingTime}, + electricity = #{electricity} + where sn = #{sn} + + + + insert into nu_iot_yiweilian_humid_device_log( + sn, + + time_code, + + + device_name, + + + device_types, + + + reporting_interval, + + + record_interval, + + + history_report_time, + + + history_interval, + + + temperature_high, + + + temperature_low, + + + temperature_buffer, + + + humidity_high, + + + humidity_low, + + + humidity_buffer, + + + iz_outages, + + + iz_low_battery, + + + iz_online, + + + temperature, + + + humidity, + + + status, + + + reporting_time, + + + electricity, + + opt_time, + + opt_by, + + opt_type + )values( + #{sn}, + + #{timeCode}, + + + #{deviceName}, + + + #{deviceTypes}, + + + #{reportingInterval}, + + + #{recordInterval}, + + + #{historyReportTime}, + + + #{historyInterval}, + + + #{temperatureHigh}, + + + #{temperatureLow}, + + + #{temperatureBuffer}, + + + #{humidityHigh}, + + + #{humidityLow}, + + + #{humidityBuffer}, + + + #{izOutages}, + + + #{izLowBattery}, + + + #{izOnline}, + + + #{temperature}, + + + #{humidity}, + + + #{status}, + + + #{reportingTime}, + + + #{electricity}, + + now(), + + #{optBy}, + + #{optType} + ) + + + + + \ No newline at end of file diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidAlarmService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidAlarmService.java new file mode 100644 index 0000000..096f192 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidAlarmService.java @@ -0,0 +1,14 @@ +package com.nu.modules.yiweilian.humid.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.yiweilian.humid.entity.HumidAlarm; +import org.jeecg.common.api.vo.Result; + +import java.util.List; + +public interface IHumidAlarmService extends IService { + IPage findPage(Page page, HumidAlarm humidAlarm); + String getAlarm(HumidAlarm humidAlarm); +} diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidDeviceService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidDeviceService.java new file mode 100644 index 0000000..3925949 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidDeviceService.java @@ -0,0 +1,19 @@ +package com.nu.modules.yiweilian.humid.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.yiweilian.humid.entity.HumidDevice; +import org.jeecg.common.api.vo.Result; + +public interface IHumidDeviceService extends IService { + IPage findPage(Page page, HumidDevice humidDevice); + Result insertDevice(HumidDevice humidDevice); + String updateDeviceParameters(HumidDevice humidDevice,String type); + String updateDeviceRealTime(HumidDevice humidDevice); + Result updateDevice(HumidDevice humidDevice); + Result deleteDevice(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/HumidAlarmServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidAlarmServiceImpl.java new file mode 100644 index 0000000..3e3ad9f --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidAlarmServiceImpl.java @@ -0,0 +1,138 @@ +package com.nu.modules.yiweilian.humid.service.impl; + +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +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.modules.yiweilian.humid.entity.HumidAlarm; +import com.nu.modules.yiweilian.humid.mapper.HumidAlarmMapper; +import com.nu.modules.yiweilian.humid.service.IHumidAlarmService; +import com.nu.modules.yiweilian.utils.YiweilianApi; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Slf4j +@Service +public class HumidAlarmServiceImpl extends ServiceImpl implements IHumidAlarmService { + + @Autowired + YiweilianApi yiweilianApi; + + public IPage findPage(Page page, HumidAlarm HumidAlarm){ + return baseMapper.findPage(page,HumidAlarm); + } + + /** + * 获取告警数据 + * @param HumidAlarm + * @return + */ + @Override + public String getAlarm(HumidAlarm HumidAlarm){ + Map params = getParmas(0,1000,HumidAlarm); + return updateAlarm(params,HumidAlarm); + } + + /** + * 获取接口请求参数 + * @param page + * @param limit + * @param HumidAlarm + * @return + */ + private Map getParmas(int page,int limit,HumidAlarm HumidAlarm){ + Map params = new HashMap<>(); + params.put("rows", limit); + params.put("page", page); + params.put("type", 2);//根据时间排序 1降序 2升序 ,此字段貌似不好使 + if(HumidAlarm.getSn()!=null&&!HumidAlarm.getSn().equals("")){ + params.put("sn", HumidAlarm.getSn()); + } + if(HumidAlarm.getAlarmStartTime()!=null){ + params.put("startTime", DateUtils.formatDate(HumidAlarm.getAlarmStartTime(),"yyyy-MM-dd HH:mm:ss")); + } + if(HumidAlarm.getAlarmEndTime()!=null){ + params.put("endTime", DateUtils.formatDate(HumidAlarm.getAlarmEndTime(),"yyyy-MM-dd HH:mm:ss")); + } + return params; + } + + /** + * 更新告警数据 + * @param map + * @param HumidAlarm + * @return + */ + private String updateAlarm(Map map,HumidAlarm HumidAlarm){ + String errorMsg = ""; + String responseStr = yiweilianApi.getWarningData(map); + JSONObject jsonObject = new JSONObject(responseStr); + Integer responseCode = jsonObject.getInt("code"); + if(responseCode.equals(0)){ + JSONObject dataObj = jsonObject.getJSONObject("data"); + Integer count = dataObj.getInt("count"); + Integer limit = dataObj.getInt("rows"); + Integer page = dataObj.getInt("page"); + JSONArray dataArr = dataObj.getJSONArray("dataList"); + if(dataArr.size()>0){ + List list = new ArrayList<>(); + for (int i = 0; i < dataArr.size(); i++) { + list.add(dataArr.getJSONObject(i)); + } + Collections.sort(list, (o1, o2) -> { + String name1 = o1.getStr("id"); + String name2 = o2.getStr("id"); + return name1.compareTo(name2); + }); + dataArr = new JSONArray(list); + } + log.info("排序后:{}",dataArr.toString()); + for(int i=0;i100){ + wrIdint = wrIdint -100; + ha.setWrId(""+wrIdint); + ha.setClearAlarmId(alarmId); + ha.setClearId(wrId); + ha.setClearData(wrData); + ha.setClearContent(wrContent); + ha.setClearDate(wrDate); + baseMapper.updateAlarm(ha); + }else{ + HumidAlarm entity = baseMapper.getHumidAlarm(ha); + if(entity == null){ + ha.setWrId(wrId); + ha.setWrData(wrData); + ha.setWrContent(wrContent); + ha.setWrDate(wrDate); + baseMapper.insertAlarm(ha); + } + } + } + if((page+1)*limit params = getParmas(page+1,limit,HumidAlarm); + errorMsg += updateAlarm(params,HumidAlarm); + } + }else{ + errorMsg = jsonObject.getStr("msg"); + } + return errorMsg; + } +} + 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 new file mode 100644 index 0000000..098cd07 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/impl/HumidDeviceServiceImpl.java @@ -0,0 +1,399 @@ +package com.nu.modules.yiweilian.humid.service.impl; + +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +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.modules.tq.utils.HttpTool; +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 lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.vo.LoginUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +@Slf4j +@Service +public class HumidDeviceServiceImpl extends ServiceImpl implements IHumidDeviceService { + + @Autowired + YiweilianApi yiweilianApi; + + public IPage findPage(Page page, HumidDevice humidDevice){ + return baseMapper.findPage(page,humidDevice); + } + + /** + * 添加 + */ + @Override + public Result insertDevice(HumidDevice humidDevice){ + Map params = new HashMap<>(); + params.put("sn", humidDevice.getSn()); + params.put("timeCode", humidDevice.getTimeCode()); + params.put("deviceName", humidDevice.getDeviceName()); + String responseStr = yiweilianApi.addDevice(params); + JSONObject jsonObject = new JSONObject(responseStr); + Integer responseCode = jsonObject.getInt("code"); + if(responseCode.equals(10003)){ + baseMapper.insertDevice(humidDevice); + humidDevice.setOptType("insert"); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(sysUser!=null){ + humidDevice.setOptBy(sysUser.getUsername()); + } + baseMapper.insertLog(humidDevice); + String error = updateDeviceParameters(humidDevice,"insert"); + if(!error.equals("")){ + String result = "设备添加成功,但是获取配置参数错误:"+ error; + return Result.error(result); + } + String error2 = updateDeviceRealTime(humidDevice); + if(!error2.equals("")){ + String result = "设备添加成功,但是获取实时数据错误:"+ error2; + return Result.error(result); + } + return Result.OK("添加成功"); + }else{ + String result = "添加失败:"+jsonObject.getStr("msg"); + return Result.error(result); + } + } + + /** + * 更新设备配置参数 + * @param humidDevice + * @return + */ + @Override + public String updateDeviceParameters(HumidDevice humidDevice,String type){ + Map params = getParmas(0,100,humidDevice); + return updateDeviceConfigs(params,humidDevice,type); + } + + /** + * 获取接口请求参数 + * @param page + * @param limit + * @param humidDevice + * @return + */ + private Map getParmas(int page,int limit,HumidDevice humidDevice){ + Map params = new HashMap<>(); + params.put("rows", limit); + params.put("page", page); + if(humidDevice.getSn()!=null&&!humidDevice.getSn().equals("")){ + params.put("sn", humidDevice.getSn()); + } + return params; + } + + /** + * 调用接口更新设备配置参数 + * @param map + * @param humidDevice + * @return + */ + private String updateDeviceConfigs(Map map,HumidDevice humidDevice,String type){ + String errorMsg = ""; + String responseStr = yiweilianApi.getDeviceConfigs(map); + JSONObject jsonObject = new JSONObject(responseStr); + Integer responseCode = jsonObject.getInt("code"); + if(responseCode.equals(0)){ + JSONObject dataObj = jsonObject.getJSONObject("data"); + Integer count = dataObj.getInt("count"); + Integer limit = dataObj.getInt("rows"); + Integer page = dataObj.getInt("page"); + JSONArray dataArr = dataObj.getJSONArray("dataList"); + for(int i=0;i params = getParmas(page+1,limit,humidDevice); + errorMsg += updateDeviceConfigs(params,humidDevice,type); + } + }else{ + errorMsg = jsonObject.getStr("msg"); + } + return errorMsg; + } + + /** + * 更新设备实时数据(抄表) + * @param humidDevice + * @return + */ + @Override + public String updateDeviceRealTime(HumidDevice humidDevice){ + Map params = getRealTimeParmas(0,50,humidDevice); + return updateDeviceRealTimeData(params,humidDevice); + } + /** + * 获取实时数据接口请求参数 + * @param page + * @param limit + * @param humidDevice + * @return + */ + private Map getRealTimeParmas(int page,int limit,HumidDevice humidDevice){ + Map params = new HashMap<>(); + params.put("rows", limit); + params.put("page", page); + if(humidDevice.getSn()!=null&&!humidDevice.getSn().equals("")){ + String[] str = new String[1]; + str[0] = humidDevice.getSn(); + params.put("snList", str); + } + return params; + } + + /** + * 调用接口更新设备实时数据(抄表) + * @param map + * @param humidDevice + * @return + */ + private String updateDeviceRealTimeData(Map map,HumidDevice humidDevice){ + String errorMsg = ""; + String responseStr = yiweilianApi.getRealTime(map); + JSONObject jsonObject = new JSONObject(responseStr); + Integer responseCode = jsonObject.getInt("code"); + if(responseCode.equals(0)){ + JSONObject dataObj = jsonObject.getJSONObject("data"); + Integer count = dataObj.getInt("count"); + Integer limit = dataObj.getInt("rows"); + Integer page = dataObj.getInt("page"); + JSONArray dataArr = dataObj.getJSONArray("dataList"); + for(int i=0;i params = getParmas(page+1,limit,humidDevice); + errorMsg += updateDeviceRealTimeData(params,humidDevice); + } + }else{ + errorMsg = jsonObject.getStr("msg"); + } + return errorMsg; + } + + private Map getUpdateParmas(HumidDevice humidDevice){ + Map params = new HashMap<>(); + params.put("sn", humidDevice.getSn()); + params.put("timeCode", humidDevice.getTimeCode()); + params.put("deviceName", humidDevice.getDeviceName()); + params.put("reportingInterval", humidDevice.getReportingInterval()); + params.put("recordInterval", humidDevice.getRecordInterval()); + params.put("historyReportTime", humidDevice.getHistoryReportTime()); + params.put("historyInterval", humidDevice.getHistoryInterval()); + params.put("temperatureHigh", humidDevice.getTemperatureHigh()); + params.put("temperatureLow", humidDevice.getTemperatureLow()); + params.put("temperatureBuffer", humidDevice.getTemperatureBuffer()); + params.put("humidityHigh", humidDevice.getHumidityHigh()); + params.put("humidityLow", humidDevice.getHumidityLow()); + params.put("humidityBuffer", humidDevice.getHumidityBuffer()); + params.put("isOutages", humidDevice.getIzOutages()); + params.put("isLowBattery", humidDevice.getIzLowBattery()); + params.put("isOnline", humidDevice.getIzOnline()); + return params; + } + + /** + * 修改 + */ + @Override + public Result updateDevice(HumidDevice humidDevice){ + Map params = getUpdateParmas(humidDevice); + String responseStr = yiweilianApi.updateDeviceConfig(params); + JSONObject jsonObject = new JSONObject(responseStr); + Integer responseCode = jsonObject.getInt("code"); + if(responseCode.equals(0)){ + baseMapper.updateDevice(humidDevice); + humidDevice.setOptType("update"); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + humidDevice.setOptBy(sysUser.getUsername()); + baseMapper.insertLog(humidDevice); + return Result.OK("修改成功"); + }else{ + String error = "修改失败:"+jsonObject.getStr("msg"); + return Result.error(error); + } + } + + /** + * 删除 + */ + @Override + public Result deleteDevice(HumidDevice humidDevice){ + Map params = new HashMap<>(); + params.put("sn", humidDevice.getSn()); + String responseStr = yiweilianApi.deleteDevice(params); + JSONObject jsonObject = new JSONObject(responseStr); + Integer responseCode = jsonObject.getInt("code"); + if(responseCode.equals(0)){ + baseMapper.deleteDevice(humidDevice); + humidDevice.setOptType("delete"); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + humidDevice.setOptBy(sysUser.getUsername()); + baseMapper.insertLog(humidDevice); + return Result.OK("删除成功"); + }else{ + String error = "删除失败:"+jsonObject.getStr("msg"); + return Result.error(error); + } + } + + /** + * 获取设备配置参数 + */ + @Override + public Result getDeviceParameters(HumidDevice humidDevice){ + if(humidDevice.getSn()==null||humidDevice.getSn().equals("")){ + return Result.error("请指定设备SN号"); + } + Map params = getParmas(0,1,humidDevice); + HumidDevice deviceParameters = getDeviceConfigs(params); + if(deviceParameters!=null){ + return Result.OK(deviceParameters); + }else{ + return Result.error("获取设备配置参数错误"); + } + } + + /** + * 调用接口获取设备配置参数 + * @param map + * @return + */ + private HumidDevice getDeviceConfigs(Map map){ + HumidDevice dh = new HumidDevice(); + String responseStr = yiweilianApi.getDeviceConfigs(map); + JSONObject jsonObject = new JSONObject(responseStr); + Integer responseCode = jsonObject.getInt("code"); + if(responseCode.equals(0)){ + JSONObject dataObj = jsonObject.getJSONObject("data"); + JSONArray dataArr = dataObj.getJSONArray("dataList"); + for(int i=0;i findLogPage(Page page, HumidDevice humidDevice){ + return baseMapper.findLogPage(page,humidDevice); + } + +} + diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/utils/HttpTool.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/utils/HttpTool.java new file mode 100644 index 0000000..fae2706 --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/utils/HttpTool.java @@ -0,0 +1,85 @@ +package com.nu.modules.yiweilian.utils; + +import cn.hutool.json.JSONObject; +import com.google.gson.Gson; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.client.HttpClient; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class HttpTool { + + /** + * 发送http POST请求 + * @param url + * @param map + * @return + * @throws Exception + */ + public static String httpClientPost(String url, Map map){ + String errorMsg = ""; + Gson gson = new Gson(); + String map2 = gson.toJson(map); + System.out.println(map2); + try { + URL obj = new URL(url); + HttpURLConnection con = (HttpURLConnection) obj.openConnection(); + // 设置请求方法为 POST + con.setRequestMethod("POST"); + // 设置请求头 + con.setRequestProperty("Content-Type", "application/json"); // 声明发送 JSON + con.setRequestProperty("Accept", "application/json"); // 声明期望接收 JSON + con.setDoOutput(true); // 允许写入请求体 + // 写入 JSON 请求体 + try (OutputStream os = con.getOutputStream()) { + byte[] input = map2.getBytes("utf-8"); + os.write(input, 0, input.length); + } + // 获取响应码 + int responseCode = con.getResponseCode(); + System.out.println("Response Code: " + responseCode); + // 读取响应(成功时) + if (responseCode == HttpURLConnection.HTTP_OK) { // 200 + try (BufferedReader br = new BufferedReader( + new InputStreamReader(con.getInputStream(), "UTF-8"))) { + StringBuilder response = new StringBuilder(); + String responseLine; + while ((responseLine = br.readLine()) != null) { + response.append(responseLine.trim()); + } + System.out.println("Response: " + response.toString()); + errorMsg = response.toString(); + } + } else { // 错误时读取错误流 + try (BufferedReader br = new BufferedReader( + new InputStreamReader(con.getErrorStream(), "UTF-8"))) { + StringBuilder errorResponse = new StringBuilder(); + String errorLine; + while ((errorLine = br.readLine()) != null) { + errorResponse.append(errorLine.trim()); + } + System.out.println("Error Response: " + errorResponse.toString()); + errorMsg = "{\"code\":"+responseCode+",\"msg\":\""+errorResponse.toString()+"\" }"; + } + } + } catch (IOException e) { + e.printStackTrace(); + } + return errorMsg; + } + +} \ No newline at end of file diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/utils/YiweilianApi.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/utils/YiweilianApi.java new file mode 100644 index 0000000..f4f063d --- /dev/null +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/utils/YiweilianApi.java @@ -0,0 +1,124 @@ +package com.nu.modules.yiweilian.utils; + +import com.nu.modules.yiweilian.common.entity.YiweilianConfig; +import com.nu.modules.yiweilian.common.mapper.YiweilianConfigMapper; +import com.nu.modules.yiweilian.enums.YiweilianApiEnum; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import java.util.Map; + +@Component +@Slf4j +public class YiweilianApi { + + YiweilianConfig yiweilianConfig; + + @Autowired + YiweilianConfigMapper yiweilianConfigMapper; + + private void initYiweilianConfig(){ + if(yiweilianConfig==null){ + yiweilianConfig = yiweilianConfigMapper.getConfig(); + } + } + + public YiweilianConfig getYiweilianConfig(){ + this.initYiweilianConfig(); + return yiweilianConfig; + } + + /** + * 添加设备 + */ + public String addDevice(Map params){ + this.initYiweilianConfig(); + params.put("clientId", yiweilianConfig.getClientId()); + log.info("addDevice:request:{}",params); + String url = yiweilianConfig.getRequestUrl()+ YiweilianApiEnum.ADD_DEVICE.getValue(); + String responseStr = HttpTool.httpClientPost(url, params); + log.info("addDevice:response:{}",responseStr); + return responseStr; + } + + + /** + * 修改设备配置 + */ + public String updateDeviceConfig(Map params){ + this.initYiweilianConfig(); + params.put("clientId", yiweilianConfig.getClientId()); + log.info("updateDeviceConfig:request:{}",params); + String url = yiweilianConfig.getRequestUrl()+YiweilianApiEnum.UPDATE_DEVICE_CONFIG.getValue(); + String responseStr = HttpTool.httpClientPost(url, params); + log.info("updateDeviceConfig:response:{}",responseStr); + return responseStr; + } + + /** + * 删除设备 + */ + public String deleteDevice(Map params){ + this.initYiweilianConfig(); + params.put("clientId", yiweilianConfig.getClientId()); + log.info("deleteDevice:request:{}",params); + String url = yiweilianConfig.getRequestUrl()+YiweilianApiEnum.DELETE_DEVICE.getValue(); + String responseStr = HttpTool.httpClientPost(url, params); + log.info("deleteDevice:response:{}",responseStr); + return responseStr; + } + + /** + * 查询设备列表(分页) + */ +// public String getDevices(Map params){ +// this.initYiweilianConfig(); +// params.put("clientId", yiweilianConfig.getClientId()); +// log.info("getDevices:request:{}",params); +// String url = yiweilianConfig.getRequestUrl()+YiweilianApiEnum.GET_DEVICES.getValue(); +// String responseStr = HttpTool.httpClientPost(url, params); +// log.info("getDevices:response:{}",responseStr); +// return responseStr; +// } + + /** + * 查询设备列表含配置信息(分页) + */ + public String getDeviceConfigs(Map params){ + this.initYiweilianConfig(); + params.put("clientId", yiweilianConfig.getClientId()); + log.info("getDeviceConfigs:request:{}",params); + String url = yiweilianConfig.getRequestUrl()+YiweilianApiEnum.GET_DEVICE_CONFIGS.getValue(); + String responseStr = HttpTool.httpClientPost(url, params); + log.info("getDeviceConfigs:response:{}",responseStr); + return responseStr; + } + + + /** + * 查询设备实时数据(分页) + */ + public String getRealTime(Map params){ + this.initYiweilianConfig(); + params.put("clientId", yiweilianConfig.getClientId()); + log.info("getRealTime:request:{}",params); + String url = yiweilianConfig.getRequestUrl()+YiweilianApiEnum.GET_REAL_TIME.getValue(); + String responseStr = HttpTool.httpClientPost(url, params); + log.info("getRealTime:response:{}",responseStr); + return responseStr; + } + + /** + * 查询告警记录(分页) + */ + public String getWarningData(Map params){ + this.initYiweilianConfig(); + params.put("clientId", yiweilianConfig.getClientId()); + log.info("getWarningData:request:{}",params); + String url = yiweilianConfig.getRequestUrl()+YiweilianApiEnum.GET_WARNING_DATA.getValue(); + String responseStr = HttpTool.httpClientPost(url, params); + log.info("getWarningData:response:{}",responseStr); + return responseStr; + } + +} From fa14ecc34c6757045744865673ac976da3b88ff9 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Thu, 19 Jun 2025 09:42:16 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8A=A4=E7=90=86?= =?UTF-8?q?=E5=8D=95=E5=85=83=E7=9A=84=E5=8D=95=E5=85=83=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nu/modules/tplink/camera/entity/NuBaseInfo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/NuBaseInfo.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/NuBaseInfo.java index b56c5e9..d339904 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/NuBaseInfo.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/NuBaseInfo.java @@ -42,7 +42,7 @@ public class NuBaseInfo implements Serializable { /**护理单元编码*/ @Excel(name = "护理单元编码", width = 15) @ApiModelProperty(value = "护理单元编码") - private String code; + private String nuId; /**区域标签ID*/ @Excel(name = "区域标签ID", width = 15, dicCode = "nu_type") @Dict(dicCode = "nu_type") From c25e4e9c76ab853535840599330f26ce48417f77 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Thu, 19 Jun 2025 14:31:30 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B0=B4=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E6=B8=A9=E6=B9=BF=E5=BA=A6=E7=A1=AC=E4=BB=B6=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=8F=8A=E5=90=8C=E6=AD=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ElectricityMeterController.java | 9 +- .../service/IElectricityMeterService.java | 2 + .../impl/ElectricityMeterServiceImpl.java | 17 ++- .../controller/WaterMeterController.java | 32 ++++- .../modules/tq/water/entity/WaterMeter.java | 9 +- .../tq/water/mapper/xml/WaterMeterMapper.xml | 6 +- .../tq/water/service/IWaterMeterService.java | 4 + .../service/impl/WaterMeterServiceImpl.java | 126 ++++++++++++++++++ .../controller/HumidDeviceController.java | 25 ++++ .../yiweilian/humid/entity/HumidDevice.java | 4 + .../humid/service/IHumidDeviceService.java | 3 + .../service/impl/HumidDeviceServiceImpl.java | 124 +++++++++++++++++ 12 files changed, 348 insertions(+), 13 deletions(-) diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/controller/ElectricityMeterController.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/controller/ElectricityMeterController.java index 4badd1a..c42699f 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/controller/ElectricityMeterController.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/electricity/controller/ElectricityMeterController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nu.modules.tq.electricity.entity.ElectricityMeter; import com.nu.modules.tq.electricity.service.IElectricityMeterService; +import com.nu.modules.tq.water.entity.WaterMeter; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; @@ -73,13 +74,19 @@ public class ElectricityMeterController extends JeecgController edit(@RequestBody ElectricityMeter electricityMeter) { service.updateById(electricityMeter); return Result.OK("编辑成功!"); } + @AutoLog(value = "修改电表的机构及护理单元信息") + @RequestMapping(value = "/editHldy", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result editHldy(@RequestBody ElectricityMeter electricityMeter) { + service.editHldy(electricityMeter); + return Result.OK("编辑成功!"); + } @AutoLog(value = "同步电表到业务系统") @RequestMapping(value = "/syncElectricity", method = {RequestMethod.PUT,RequestMethod.POST}) 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 9be9315..592d643 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 @@ -20,4 +20,6 @@ public interface IElectricityMeterService extends IService { String eleReadNotify(String response_content, String timestamp, String sign); void syncElectricity(String dataSourceCode, ElectricityMeter electricityMeter); + + void editHldy(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 d15b1a9..1e00653 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 @@ -15,6 +15,7 @@ import com.nu.modules.tq.common.service.ITqApiLogService; 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.tq.water.entity.WaterMeter; import lombok.extern.slf4j.Slf4j; import com.nu.modules.tq.electricity.entity.ElectricityMeter; import com.nu.modules.tq.electricity.mapper.ElectricityMeterMapper; @@ -452,7 +453,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl edit(@RequestBody WaterMeter waterMeter) { + service.updateById(waterMeter); + return Result.OK("编辑成功!"); + } + + + @AutoLog(value = "修改机构及护理单元信息") + @RequestMapping(value = "/editHldy", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result editHldy(@RequestBody WaterMeter waterMeter) { + service.editHldy(waterMeter); + return Result.OK("编辑成功!"); + } + + + @AutoLog(value = "同步电表到业务系统") + @RequestMapping(value = "/syncElectricity", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result syncElectricity(@RequestBody WaterMeter waterMeter) { + String dataSourceCode = waterMeter.getDepartServerUrl(); + service.syncElectricity(dataSourceCode,waterMeter); + return Result.OK("同步成功!"); + } } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/entity/WaterMeter.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/entity/WaterMeter.java index 70a4995..1e7ea6a 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/entity/WaterMeter.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/entity/WaterMeter.java @@ -70,12 +70,13 @@ public class WaterMeter implements Serializable { @ApiModelProperty(value = "描述") private String remark; - @TableField(exist = false) private String nuId;//护理单元ID - @TableField(exist = false) private String nuName;//护理单元 - @TableField(exist = false) private String departId;//机构ID - @TableField(exist = false) private String departName;//机构名称 + private String departServerUrl;//机构服务地址 + private String oldServerUrl;//原机构服务地址 + private String syncType;//是否同步 0 未同步 1已同步 + private String oldDepartId;//原机构id + private String oldDepartName;//原机构名称 } \ No newline at end of file diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml index d88b985..76c128f 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/mapper/xml/WaterMeterMapper.xml @@ -19,7 +19,11 @@ a.nu_id as nuId, a.nu_name as nuName, a.depart_id as departId, - a.depart_name as departName + a.depart_name as departName, + a.depart_server_url as departServerUrl, + a.old_server_url as oldServerUrl, + a.old_depart_id as oldDepartId, + a.old_depart_name as oldDepartName from nu_iot_tq_water_meter a left join nu_iot_tq_collector b on a.cid = b.cid diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/IWaterMeterService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/IWaterMeterService.java index 0661cd3..912c467 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/IWaterMeterService.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tq/water/service/IWaterMeterService.java @@ -18,4 +18,8 @@ public interface IWaterMeterService extends IService { String waterResetNotify(String response_content, String timestamp, String sign); String waterControlNotify(String response_content, String timestamp, String sign); String waterReadNotify(String response_content, String timestamp, String sign); + + void syncElectricity(String dataSourceCode, WaterMeter waterMeter); + + void editHldy(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 427b2dc..7c5820a 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,11 +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.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.modules.nuIotTqElectricitySyncLog.entity.NuIotTqElectricitySyncLog; +import com.nu.modules.nuIotTqElectricitySyncLog.service.INuIotTqElectricitySyncLogService; import com.nu.modules.tq.common.entity.TqApiLog; import com.nu.modules.tq.common.service.ITqApiLogService; +import com.nu.modules.tq.electricity.entity.ElectricityMeter; +import com.nu.modules.tq.electricity.service.impl.ElectricityMeterServiceImpl; import com.nu.modules.tq.utils.HttpTool; import com.nu.modules.tq.utils.SignTool; import com.nu.modules.tq.utils.TqApi; @@ -15,8 +21,10 @@ 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 lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.jeecg.common.api.vo.Result; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.util.*; @@ -31,6 +39,14 @@ public class WaterMeterServiceImpl extends ServiceImpl findPage(Page page, WaterMeter waterMeter){ return baseMapper.findPage(page,waterMeter); @@ -438,4 +454,114 @@ public class WaterMeterServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("cid",waterMeter.getCid()); + WaterMeter oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据 + if(oldParam == null){ + baseMapper.insert(waterMeter); + }else{ + baseMapper.updateById(waterMeter); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return true; + } } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidDeviceController.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidDeviceController.java index 9762ecf..3bbd004 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidDeviceController.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/controller/HumidDeviceController.java @@ -2,10 +2,12 @@ package com.nu.modules.yiweilian.humid.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.modules.tq.water.entity.WaterMeter; import com.nu.modules.yiweilian.humid.entity.HumidDevice; import com.nu.modules.yiweilian.humid.service.IHumidDeviceService; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -115,4 +117,27 @@ public class HumidDeviceController extends JeecgController pageList = service.findLogPage(page, humidDevice); return Result.OK(pageList); } + @AutoLog(value = "修改温湿度表信息") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody HumidDevice humidDevice) { + service.updateById(humidDevice); + return Result.OK("编辑成功!"); + } + + + @AutoLog(value = "修改温湿度表的机构及护理单元信息") + @RequestMapping(value = "/editHldy", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result editHldy(@RequestBody HumidDevice humidDevice) { + service.editHldy(humidDevice); + return Result.OK("编辑成功!"); + } + + + @AutoLog(value = "同步电表到业务系统") + @RequestMapping(value = "/syncHumidDevice", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result syncHumidDevice(@RequestBody HumidDevice humidDevice) { + String dataSourceCode = humidDevice.getDepartServerUrl(); + service.syncHumidDevice(dataSourceCode,humidDevice); + return Result.OK("同步成功!"); + } } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java index f28cdec..04b06ab 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java @@ -95,10 +95,14 @@ public class HumidDevice implements Serializable { @ApiModelProperty(value = "电量") private String electricity; //电量 0~4 + @TableField(exist = false) private String optType; //操作类型 + @TableField(exist = false) private String optTime; //操作时间 + @TableField(exist = false) private String optBy; //操作人 + @TableField(exist = false) private Integer alarmCn; //告警数量 private String nuId;//护理单元ID diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidDeviceService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidDeviceService.java index 3925949..a28145d 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidDeviceService.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/service/IHumidDeviceService.java @@ -16,4 +16,7 @@ public interface IHumidDeviceService extends IService { Result getDeviceParameters(HumidDevice humidDevice); IPage findLogPage(Page page, HumidDevice humidDevice); + void syncHumidDevice(String dataSourceCode, HumidDevice humidDevice); + + void editHldy(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 098cd07..00d5a00 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 @@ -2,19 +2,27 @@ package com.nu.modules.yiweilian.humid.service.impl; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; +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.modules.nuIotTqElectricitySyncLog.entity.NuIotTqElectricitySyncLog; +import com.nu.modules.nuIotTqElectricitySyncLog.service.INuIotTqElectricitySyncLogService; import com.nu.modules.tq.utils.HttpTool; +import com.nu.modules.tq.water.entity.WaterMeter; +import com.nu.modules.tq.water.service.impl.WaterMeterServiceImpl; 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 lombok.extern.slf4j.Slf4j; +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.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.util.HashMap; @@ -28,6 +36,13 @@ public class HumidDeviceServiceImpl extends ServiceImpl findPage(Page page, HumidDevice humidDevice){ return baseMapper.findPage(page,humidDevice); } @@ -395,5 +410,114 @@ public class HumidDeviceServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("sn",humidDevice.getSn()); + HumidDevice oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据 + if(oldParam == null){ + baseMapper.insert(humidDevice); + }else{ + baseMapper.updateById(humidDevice); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return true; + } + }