From bfafd4bb80b4347ea4f108850e27a653f6ed6782 Mon Sep 17 00:00:00 2001 From: zhumeixiao <3313492479@qq.com> Date: Tue, 19 Nov 2024 17:53:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9C=80=E6=96=B0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/dto/DeviceProperties.java | 16 +++++++++ ...IDeviceRealtimedataMeteorologyService.java | 5 ++- .../IDeviceRealtimedataMoistureService.java | 3 +- ...iceRealtimedataMeteorologyServiceImpl.java | 25 ++++++++++++-- ...DeviceRealtimedataMoistureServiceImpl.java | 34 +++++++++++++++++-- 5 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/domain/dto/DeviceProperties.java diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/domain/dto/DeviceProperties.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/domain/dto/DeviceProperties.java new file mode 100644 index 0000000..ade9155 --- /dev/null +++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/domain/dto/DeviceProperties.java @@ -0,0 +1,16 @@ +package com.fastbee.deviceData.domain.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DeviceProperties { + public String name; + public String value; + public String unit; +} diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataMeteorologyService.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataMeteorologyService.java index 8bf84c4..eeecdbf 100644 --- a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataMeteorologyService.java +++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataMeteorologyService.java @@ -1,7 +1,10 @@ package com.fastbee.deviceData.service; import java.util.List; +import java.util.Map; + import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology; +import com.fastbee.deviceData.domain.dto.DeviceProperties; /** * 气象设备实时数据Service接口 @@ -63,5 +66,5 @@ public interface IDeviceRealtimedataMeteorologyService * 获取最新的一条气象数据 * @return */ - public DeviceRealtimedataMeteorology getLatestWeatherRealtimedata(); + public List getLatestWeatherRealtimedata(); } diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataMoistureService.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataMoistureService.java index bc3befe..9f0c717 100644 --- a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataMoistureService.java +++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/IDeviceRealtimedataMoistureService.java @@ -2,6 +2,7 @@ package com.fastbee.deviceData.service; import java.util.List; import com.fastbee.deviceData.domain.DeviceRealtimedataMoisture; +import com.fastbee.deviceData.domain.dto.DeviceProperties; /** * 墒情实时数据Service接口 @@ -63,5 +64,5 @@ public interface IDeviceRealtimedataMoistureService * 获取最新一条墒情数据 * @return */ - public DeviceRealtimedataMoisture getLatestWeatherRealtimedata(); + public List getLatestWeatherRealtimedata(); } diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMeteorologyServiceImpl.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMeteorologyServiceImpl.java index 59c815b..d6d5dba 100644 --- a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMeteorologyServiceImpl.java +++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMeteorologyServiceImpl.java @@ -1,10 +1,14 @@ package com.fastbee.deviceData.service.impl; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fastbee.common.utils.DateUtils; +import com.fastbee.deviceData.domain.dto.DeviceProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.fastbee.deviceData.mapper.DeviceRealtimedataMeteorologyMapper; @@ -102,10 +106,27 @@ public class DeviceRealtimedataMeteorologyServiceImpl implements IDeviceRealtime * @return */ @Override - public DeviceRealtimedataMeteorology getLatestWeatherRealtimedata(){ + public List getLatestWeatherRealtimedata(){ QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.orderByDesc("real_time"); queryWrapper.last("limit 1"); - return deviceRealtimedataMeteorologyMapper.selectOne(queryWrapper); + DeviceRealtimedataMeteorology meteorology = deviceRealtimedataMeteorologyMapper.selectOne(queryWrapper); + List> mapList = new ArrayList<>(); + Map map = new HashMap(); + List devicePropertiesList = new ArrayList<>(); + devicePropertiesList.add(DeviceProperties.builder().name("空气温度").value(meteorology.getAirTemp().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("空气湿度").value(meteorology.getAirHumi().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("风速").value(meteorology.getWindSpeed().toString()).unit("m/s").build()); + devicePropertiesList.add(DeviceProperties.builder().name("风向").value(meteorology.getWindDir().toString()).unit("°").build()); + devicePropertiesList.add(DeviceProperties.builder().name("大气压力").value(meteorology.getAirPre().toString()).unit("hPa").build()); + devicePropertiesList.add(DeviceProperties.builder().name("光照度").value(meteorology.getGuangzhao().toString()).unit("lx").build()); + devicePropertiesList.add(DeviceProperties.builder().name("光合有效辐射").value(meteorology.getFushe().toString()).unit("Lux").build()); + devicePropertiesList.add(DeviceProperties.builder().name("累积雨量").value(meteorology.getSumRain().toString()).unit("mm").build()); + devicePropertiesList.add(DeviceProperties.builder().name("瞬时雨量").value(meteorology.getInsRain().toString()).unit("mm").build()); + devicePropertiesList.add(DeviceProperties.builder().name("日雨量").value(meteorology.getDayRain().toString()).unit("mm").build()); + devicePropertiesList.add(DeviceProperties.builder().name("蒸发量").value(meteorology.getZhengfa().toString()).unit("t/h").build()); + devicePropertiesList.add(DeviceProperties.builder().name("土壤温度").value(meteorology.getSoilTemp().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("土壤湿度").value(meteorology.getSoilHumi().toString()).unit("°C").build()); + return devicePropertiesList; } } diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMoistureServiceImpl.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMoistureServiceImpl.java index dad7ee5..ad7c8df 100644 --- a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMoistureServiceImpl.java +++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMoistureServiceImpl.java @@ -1,8 +1,12 @@ package com.fastbee.deviceData.service.impl; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.fastbee.deviceData.domain.dto.DeviceProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.fastbee.deviceData.mapper.DeviceRealtimedataMoistureMapper; @@ -96,10 +100,36 @@ public class DeviceRealtimedataMoistureServiceImpl implements IDeviceRealtimedat * 获取最新一条墒情数据 * @return */ - public DeviceRealtimedataMoisture getLatestWeatherRealtimedata(){ + public List getLatestWeatherRealtimedata(){ QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.orderByDesc("real_time"); queryWrapper.last("limit 1"); - return deviceRealtimedataMoistureMapper.selectOne(queryWrapper); + DeviceRealtimedataMoisture moisture = deviceRealtimedataMoistureMapper.selectOne(queryWrapper); + List> mapList = new ArrayList<>(); + Map map = new HashMap(); + List devicePropertiesList = new ArrayList<>(); + devicePropertiesList.add(DeviceProperties.builder().name("土壤温度").value(moisture.getSoilTemp().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("土壤湿度").value(moisture.getSoilHumi().toString()).unit("%").build()); + devicePropertiesList.add(DeviceProperties.builder().name("土壤EC").value(moisture.getSoilEc().toString()).unit("MS/cm").build()); + devicePropertiesList.add(DeviceProperties.builder().name("土壤Ph").value(moisture.getSoilPh().toString()).unit("").build()); + devicePropertiesList.add(DeviceProperties.builder().name("一层土壤温度").value(moisture.getSoilTemp1().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("一层土壤湿度").value(moisture.getSoilHumi1().toString()).unit("%").build()); + devicePropertiesList.add(DeviceProperties.builder().name("二层土壤温度").value(moisture.getSoilTemp2().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("二层土壤湿度").value(moisture.getSoilHumi2().toString()).unit("%").build()); + devicePropertiesList.add(DeviceProperties.builder().name("三层土壤温度").value(moisture.getSoilTemp3().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("三层土壤湿度").value(moisture.getSoilHumi3().toString()).unit("%").build()); + devicePropertiesList.add(DeviceProperties.builder().name("四层土壤温度").value(moisture.getSoilTemp4().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("四层土壤湿度").value(moisture.getSoilHumi4().toString()).unit("%").build()); + devicePropertiesList.add(DeviceProperties.builder().name("环境温度").value(moisture.getAirTemp().toString()).unit("°C").build()); + devicePropertiesList.add(DeviceProperties.builder().name("设备温度").value(moisture.getMppTemp().toString()).unit("%").build()); + devicePropertiesList.add(DeviceProperties.builder().name("电池电量").value(moisture.getBatteryCap().toString()).unit("MAh").build()); + devicePropertiesList.add(DeviceProperties.builder().name("电池电压").value(moisture.getBatteryVolt().toString()).unit("V").build()); + devicePropertiesList.add(DeviceProperties.builder().name("电池电流").value(moisture.getBatteryCur().toString()).unit("I").build()); + devicePropertiesList.add(DeviceProperties.builder().name("电池功率").value(moisture.getBatteryPower().toString()).unit("W").build()); + devicePropertiesList.add(DeviceProperties.builder().name("负载电压").value(moisture.getLoadVolt().toString()).unit("V").build()); + devicePropertiesList.add(DeviceProperties.builder().name("负载电流").value(moisture.getLoadCur().toString()).unit("I").build()); + devicePropertiesList.add(DeviceProperties.builder().name("负载功率").value(moisture.getLoadPower().toString()).unit("W").build()); + + return devicePropertiesList; } }