From fd9211f29b8871fae2c778a3f11ca9d4a76a8bae Mon Sep 17 00:00:00 2001 From: wyw <373811525@qq.com> Date: Tue, 13 Aug 2024 20:11:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=AA=E9=98=B3=E8=83=BD=E4=BE=9B=E7=94=B5?= =?UTF-8?q?=E6=95=B0=E6=8D=AEecharts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fastbee-common/pom.xml | 6 ++- .../fastbee/common/utils/DevParamsUtils.java | 24 +++++++++++ .../devicedetail/DeviceDetailController.java | 2 +- .../devicedetail/IDeviceDetailService.java | 3 +- .../impl/DeviceDetailServiceImpl.java | 40 +++++++++++++++++-- .../gis/impl/GisDeviceServiceImpl.java | 22 +--------- fastbee-record/pom.xml | 6 +-- 7 files changed, 71 insertions(+), 32 deletions(-) create mode 100644 fastbee-common/src/main/java/com/fastbee/common/utils/DevParamsUtils.java diff --git a/fastbee-common/pom.xml b/fastbee-common/pom.xml index 0d8fef4..c6b3b55 100644 --- a/fastbee-common/pom.xml +++ b/fastbee-common/pom.xml @@ -76,7 +76,11 @@ dynamic-datasource-spring-boot-starter 3.5.2 - + + com.alibaba + fastjson + 1.2.73 + com.alibaba.fastjson2 diff --git a/fastbee-common/src/main/java/com/fastbee/common/utils/DevParamsUtils.java b/fastbee-common/src/main/java/com/fastbee/common/utils/DevParamsUtils.java new file mode 100644 index 0000000..56cb2e4 --- /dev/null +++ b/fastbee-common/src/main/java/com/fastbee/common/utils/DevParamsUtils.java @@ -0,0 +1,24 @@ +package com.fastbee.common.utils; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class DevParamsUtils { + + public static Map getDevParams(String evParams) { + Map devData = new HashMap<>(); + try{ + Object devParams = com.alibaba.fastjson.JSON.parse(evParams); //先转换成Object + List> Params = (List>) devParams; + if (Params != null) { + for (Map param : Params) { + devData.put(param.get("key").toString(), param.get("value").toString()); + } + } + }catch (Exception exception){ + } + + return devData; + } +} diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/devicedetail/DeviceDetailController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/devicedetail/DeviceDetailController.java index 88baca0..f99ac6b 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/devicedetail/DeviceDetailController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/devicedetail/DeviceDetailController.java @@ -88,7 +88,7 @@ public class DeviceDetailController extends BaseController { if (null == queryLogVo.getDeviceId() || queryLogVo.getDeviceId() == 0L) { return AjaxResult.error("请选择设备"); } - List> list = deviceDetailService.gongdianChart(queryLogVo); + List list = deviceDetailService.gongdianChart(queryLogVo); return AjaxResult.success(list); } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java index 5153fa0..e0d7b35 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java @@ -7,6 +7,7 @@ import com.fastbee.waterele.domain.dto.MaGuangaiRecordDto; import com.fastbee.waterele.domain.dto.MaWatereleRecordDto; import com.fastbee.xunjian.domain.XjInspectionRecords; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -23,7 +24,7 @@ public interface IDeviceDetailService { List getBindDevices(String ids); - List> gongdianChart(QueryLogVo queryLogVo); + ArrayList gongdianChart(QueryLogVo queryLogVo); List xunjianRecord(QueryLogVo queryLogVo); } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java index f24c762..03ac8bd 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java @@ -1,13 +1,18 @@ package com.fastbee.data.service.devicedetail.impl; import com.fastbee.common.model.vo.iot.QueryLogVo; +import com.fastbee.common.utils.DevParamsUtils; import com.fastbee.data.service.devicedetail.IDeviceDetailService; import com.fastbee.iot.domain.Device; +import com.fastbee.iot.domain.ThingsModel; import com.fastbee.iot.mapper.DeviceMapper; +import com.fastbee.iot.service.IDeviceService; +import com.fastbee.iot.service.IThingsModelService; import com.fastbee.waterele.domain.MaWatereleRecord; import com.fastbee.waterele.domain.dto.MaGuangaiRecordDto; import com.fastbee.waterele.domain.dto.MaWatereleRecordDto; import com.fastbee.xunjian.domain.XjInspectionRecords; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; @@ -17,6 +22,10 @@ public class DeviceDetailServiceImpl implements IDeviceDetailService { private final DeviceMapper deviceMapper; + @Autowired + public IDeviceService iDeviceService; + @Autowired + private IThingsModelService thingsModelService; public DeviceDetailServiceImpl(DeviceMapper deviceMapper) { this.deviceMapper = deviceMapper; } @@ -48,16 +57,41 @@ public class DeviceDetailServiceImpl implements IDeviceDetailService { } @Override - public List> gongdianChart(QueryLogVo queryLogVo) { - //todo - return Collections.emptyList(); + public ArrayList gongdianChart(QueryLogVo queryLogVo) { + Long deviceId = queryLogVo.getDeviceId(); + if (deviceId == null) { + throw new RuntimeException("请上传devicerId"); + } + Device device = iDeviceService.selectDeviceByDeviceId(deviceId); + if (device == null) { + throw new RuntimeException("未查到该设备"); + } + Map devParams = DevParamsUtils.getDevParams(device.getDevParams()); + //太阳能设备 + String taiyangnengIds = devParams.get("taiyangnIds").toString(); + if (taiyangnengIds == null) { + return new ArrayList<>(); + } + ArrayList deviceLogAllCurves = iDeviceService.getDeviceLogAllCurves(Long.parseLong(taiyangnengIds), queryLogVo.getStartTime(), queryLogVo.getEndTime()); + return deviceLogAllCurves; } @Override public List xunjianRecord(QueryLogVo queryLogVo) { //todo + Long deviceId = queryLogVo.getDeviceId(); + if (deviceId == null) { + throw new RuntimeException("请上传devicerId"); + } + Device device = iDeviceService.selectDeviceByDeviceId(deviceId); + if (device == null) { + throw new RuntimeException("未查到该设备"); + } + List xjInspectionRecords = new ArrayList<>(); return Collections.emptyList(); } + + } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java index f374aa5..72a21d6 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java @@ -103,7 +103,7 @@ public class GisDeviceServiceImpl implements IGisDeviceService { deviceListVo.setOnLineCount(onLineCount); return deviceListVo; } - + //todo 需要修改安防版和水电双计设备实时数据 @Override public Object getRealTimeDataByDevicerId(Long deviceId) { HashMap rMap = new HashMap() {}; @@ -121,7 +121,6 @@ public class GisDeviceServiceImpl implements IGisDeviceService { ThingsModel thingsModel1 = new ThingsModel(); thingsModel1.setProductId(138L); List taiyangnengModels = thingsModelService.selectThingsModelList(thingsModel1); -// HashMap taiyangnengMap = new HashMap() {}; if (StringUtils.isNotEmpty(taiyangnengIds)) { Device taiyangnengDevice = deviceMapper.selectDeviceByDeviceId(Long.parseLong(taiyangnengIds)); List deviceLogs = logService.selectDeviceLogList(new DeviceLog() {{ @@ -248,25 +247,6 @@ public class GisDeviceServiceImpl implements IGisDeviceService { return rMap; } -// private List getAlertListForDevice(Long deviceId, Long productId) { -// AlertEntity alert = new AlertEntity(); -// alert.setDeviceId(deviceId); -// alert.setProductId(productId); -// return iAlertService.selectAlertList(alert); -// } - -// private void parseAlert(AlertEntity alert, List waterLevelAlert, List rainfallAlert) { -// JSONArray triggers = JSON.parseArray(alert.getTriggers()); -// for (Object obj : triggers) { -// Map trigger = (Map) obj; -// Float value = Float.valueOf(trigger.get("value").toString()); -// if (alert.getAlertType() == 1) { -// waterLevelAlert.add(new DeviceAlertDto(alert.getAlertName(), "#FF0000", value)); -// } else if (alert.getAlertType() == 2) { -// rainfallAlert.add(new DeviceAlertDto(alert.getAlertName(), "#FFFF00", value)); -// } -// } -// } private HashMap getDataList(Device device, String identity) { HashMap dataListMap = new HashMap<>(); diff --git a/fastbee-record/pom.xml b/fastbee-record/pom.xml index 5c670dc..d02ecff 100644 --- a/fastbee-record/pom.xml +++ b/fastbee-record/pom.xml @@ -76,11 +76,7 @@ - - com.alibaba - fastjson - 1.2.73 - +