From c11265ed865ab410a93106fcad8670c06553e07e Mon Sep 17 00:00:00 2001 From: zhumeixiao <3313492479@qq.com> Date: Fri, 15 Nov 2024 17:52:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E6=B0=94=E8=B1=A1=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=AE=9E=E6=97=B6=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...viceRealtimedataMeteorologyController.java | 20 ++++++++++++++++ .../RenKeUserDeviceOverviewController.java | 1 + .../service/RenKeUserDeviceOverview.java | 23 ++++++++++++++----- .../domain/DeviceRealtimedataMeteorology.java | 3 +-- ...IDeviceRealtimedataMeteorologyService.java | 6 +++++ ...iceRealtimedataMeteorologyServiceImpl.java | 19 +++++++++++++-- 6 files changed, 62 insertions(+), 10 deletions(-) create mode 100644 fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceData/DeviceRealtimedataMeteorologyController.java diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceData/DeviceRealtimedataMeteorologyController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceData/DeviceRealtimedataMeteorologyController.java new file mode 100644 index 0000000..60a3f7e --- /dev/null +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceData/DeviceRealtimedataMeteorologyController.java @@ -0,0 +1,20 @@ +package com.fastbee.data.controller.deviceData; + +import com.fastbee.common.core.domain.AjaxResult; +import com.fastbee.deviceData.service.impl.DeviceRealtimedataMeteorologyServiceImpl; +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.RestController; + +@RestController() +@RequestMapping("/meteorology") +public class DeviceRealtimedataMeteorologyController { + + @Autowired + private DeviceRealtimedataMeteorologyServiceImpl deviceRealtimedataMeteorologyService; + @GetMapping(value = "/weather/realtimedata") + public AjaxResult getLatestWeatherRealtimedata() { + return AjaxResult.success(deviceRealtimedataMeteorologyService.getLatestWeatherRealtimedata()); + } +} diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/renKe/RenKeUserDeviceOverviewController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/renKe/RenKeUserDeviceOverviewController.java index 1ee9e4d..b101136 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/renKe/RenKeUserDeviceOverviewController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/renKe/RenKeUserDeviceOverviewController.java @@ -22,4 +22,5 @@ public class RenKeUserDeviceOverviewController { public AjaxResult getsysAllUserDevice(){ return AjaxResult.success(renkeUserDeviceOverview.getsysAllUserDevice()); } + } diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/api/renke/service/RenKeUserDeviceOverview.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/api/renke/service/RenKeUserDeviceOverview.java index ec64ba2..8ccbb12 100644 --- a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/api/renke/service/RenKeUserDeviceOverview.java +++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/api/renke/service/RenKeUserDeviceOverview.java @@ -12,6 +12,7 @@ import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.Map; +import java.util.stream.Collectors; @Service public class RenKeUserDeviceOverview { @@ -28,6 +29,14 @@ public class RenKeUserDeviceOverview { JSONObject respBody = JSONUtil.parseObj(resultObjectStr); JSONArray realtimeDataList = JSONUtil.parseArray(respBody.get("data")); Map map = new HashMap<>(); + +/* Map deviceTypeCountMap = realtimeDataList.stream() + .map(jsonObject -> (JSONObject) jsonObject) + .collect(Collectors.groupingBy( + e -> (String) e.get("deviceType"), + Collectors.summingInt(e -> 1) + )); + Integer WORM = deviceTypeCountMap.getOrDefault(RenKeDeviceTypeConstant.WORM, 0);*/ //map = realtimeDataList.stream().collect(Collectors.groupingBy(obj -> ((JSONObject) obj).getStr("deviceType"))); Integer MET = 0; Integer WORM = 0; @@ -54,13 +63,15 @@ public class RenKeUserDeviceOverview { Spore=Spore+1; } } - map.put("MET",MET); - map.put("Worm",Worm); - map.put("Irrigation",Irrigation); - map.put("Camera",Camera); +// map.put("MET",MET); +// map.put("Worm",Worm); +// map.put("Irrigation",Irrigation); +// map.put("Camera",Camera); map.put("wormFlagship",WORM); - map.put("Soil",Soil); - map.put("Spore",Spore); +// map.put("Soil",Soil); +// map.put("Spore",Spore); return map; } + + } diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/domain/DeviceRealtimedataMeteorology.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/domain/DeviceRealtimedataMeteorology.java index e46926b..1239d1b 100644 --- a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/domain/DeviceRealtimedataMeteorology.java +++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/domain/DeviceRealtimedataMeteorology.java @@ -24,9 +24,8 @@ import org.apache.poi.hpsf.Decimal; @Builder @AllArgsConstructor @NoArgsConstructor -@EqualsAndHashCode(callSuper = true) @TableName("iot_device_realtimedata_meteorology") -public class DeviceRealtimedataMeteorology extends BaseEntity +public class DeviceRealtimedataMeteorology { private static final long serialVersionUID = 1L; 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 0c44fd9..8bf84c4 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 @@ -58,4 +58,10 @@ public interface IDeviceRealtimedataMeteorologyService * @return 结果 */ public int deleteDeviceRealtimedataMeteorologyById(Long id); + + /** + * 获取最新的一条气象数据 + * @return + */ + public DeviceRealtimedataMeteorology 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 af86bb4..59c815b 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,6 +1,9 @@ package com.fastbee.deviceData.service.impl; import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fastbee.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -53,7 +56,7 @@ public class DeviceRealtimedataMeteorologyServiceImpl implements IDeviceRealtime @Override public int insertDeviceRealtimedataMeteorology(DeviceRealtimedataMeteorology deviceRealtimedataMeteorology) { - deviceRealtimedataMeteorology.setCreateTime(DateUtils.getNowDate()); + deviceRealtimedataMeteorology.setSaveTime(DateUtils.getNowDate()); return deviceRealtimedataMeteorologyMapper.insertDeviceRealtimedataMeteorology(deviceRealtimedataMeteorology); } @@ -66,7 +69,7 @@ public class DeviceRealtimedataMeteorologyServiceImpl implements IDeviceRealtime @Override public int updateDeviceRealtimedataMeteorology(DeviceRealtimedataMeteorology deviceRealtimedataMeteorology) { - deviceRealtimedataMeteorology.setUpdateTime(DateUtils.getNowDate()); + deviceRealtimedataMeteorology.setSaveTime(DateUtils.getNowDate()); return deviceRealtimedataMeteorologyMapper.updateDeviceRealtimedataMeteorology(deviceRealtimedataMeteorology); } @@ -93,4 +96,16 @@ public class DeviceRealtimedataMeteorologyServiceImpl implements IDeviceRealtime { return deviceRealtimedataMeteorologyMapper.deleteDeviceRealtimedataMeteorologyById(id); } + + /** + * 获取最新的一条气象数据 + * @return + */ + @Override + public DeviceRealtimedataMeteorology getLatestWeatherRealtimedata(){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.orderByDesc("real_time"); + queryWrapper.last("limit 1"); + return deviceRealtimedataMeteorologyMapper.selectOne(queryWrapper); + } }