From 84b79096372143c9f9ed5d91156a966f7d119c2b Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Wed, 02 Dec 2020 14:39:02 +0800 Subject: [PATCH] 修改获取五分钟数据无站点相关BUG --- src/main/java/com/moral/controller/WebController.java | 103 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 82 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/moral/controller/WebController.java b/src/main/java/com/moral/controller/WebController.java index 6924c97..d346ece 100644 --- a/src/main/java/com/moral/controller/WebController.java +++ b/src/main/java/com/moral/controller/WebController.java @@ -66,7 +66,6 @@ MapPathService mapPathService; - @GetMapping("test") public ResultBean<List<WebProvince>> add(HttpServletRequest request) { String token = request.getHeader("token"); @@ -79,7 +78,7 @@ /** * @Description: ������������ * @Param: [parameters] - * @return: java.util.Map<java.lang.String , java.lang.Object> + * @return: java.util.Map<java.lang.String , java.lang.Object> * @Author: ������������ * @Date: 2020/10/19 */ @@ -103,7 +102,7 @@ /** * @Description: ������������ * @Param: [request] - * @return: java.util.Map<java.lang.String , java.lang.Object> + * @return: java.util.Map<java.lang.String , java.lang.Object> * @Author: ������������ * @Date: 2020/10/19 */ @@ -118,6 +117,9 @@ return resultMap; } + public static void main(String[] args) { + + } @UserLoginToken @GetMapping("getAccountInfo") @@ -140,7 +142,7 @@ /** * @Description: ������������������������ * @Param: [request] - * @return: com.moral.common.bean.ResultBean<java.util.List < java.util.Map < java.lang.String , java.lang.Object>>> + * @return: com.moral.common.bean.ResultBean<java.util.List < java.util.Map < java.lang.String , java.lang.Object>>> * @Author: ������������ * @Date: 2020/10/19 */ @@ -169,7 +171,7 @@ /** * @Description: ������������������������������ * @Param: [request] - * @return: com.moral.common.bean.ResultBean<java.util.List < com.moral.entity.MonitorPoint>> + * @return: com.moral.common.bean.ResultBean<java.util.List < com.moral.entity.MonitorPoint>> * @Author: ������������ * @Date: 2020/10/19 */ @@ -185,7 +187,7 @@ /** * @Description: ��������������������������������������� * @Param: [request] - * @return: com.moral.common.bean.ResultBean<java.util.List < com.moral.entity.Device>> + * @return: com.moral.common.bean.ResultBean<java.util.List < com.moral.entity.Device>> * @Author: ������������ * @Date: 2020/10/19 */ @@ -200,13 +202,14 @@ /** * @Description: ������monitorId��������������������������������������������������������������������� * @Param: [] - * @return: com.moral.common.bean.ResultBean<java.util.Map < java.lang.String , java.lang.Object>> + * @return: com.moral.common.bean.ResultBean<java.util.Map < java.lang.String , java.lang.Object>> * @Author: ������������ * @Date: 2020/10/19 */ - @GetMapping("fiveMinuteAvgData") - public ResultBean<Map<String, Object>> getSensorFiveMinuteAvgData(HttpServletRequest request) { + @UserLoginToken + @GetMapping("fiveMinuteAvgDataNew") + public ResultBean<Map<String, Object>> getSensorFiveMinuteAvgDataNew(HttpServletRequest request) { //���������������������������regionCode Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); if ((!parameters.containsKey("sensorKey")) || (!parameters.containsKey("regionCode"))) @@ -218,14 +221,15 @@ //������orgId������������������������������mac������ String accountId = WebTokenUtils.getIdBytoken(token); Account account = accountService.getAccountById(Integer.parseInt(accountId)); - parameters.put("organizationId",account.getOrganizationId()); - List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsAndDevicesByRegion(parameters); - if(ObjectUtils.isEmpty(monitorPoints)) + parameters.put("organizationId", account.getOrganizationId()); + List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByRegionAndOrgId(parameters); + if (ObjectUtils.isEmpty(monitorPoints)) return ResultBean.fail("������������������������������"); List<Device> devices = new ArrayList<>(); for (MonitorPoint monitorPoint : monitorPoints) { - devices.addAll(monitorPoint.getDevices()); + if (!ObjectUtils.isEmpty(monitorPoint.getDevices())) + devices.addAll(monitorPoint.getDevices()); } if (ObjectUtils.isEmpty(devices)) return ResultBean.fail("������������������������������"); @@ -255,6 +259,64 @@ //������monitorPointId��������������������� List<Map<String, Object>> coordinate = new ArrayList<>(); Integer orgId = account.getOrganizationId(); + monitorPoints.forEach(value -> { + if ("���������".equals(value.getDescription())) { + List list = LatLngTransformation.Convert_BD09_To_GCJ02(value.getLatitude(), value.getLongitude()); + Map<String, Object> controlStation = new HashMap<>(); + controlStation.put("name", value.getName()); + controlStation.put("longitude", list.get(0)); + controlStation.put("latitude", list.get(1)); + coordinate.add(controlStation); + } + }); + + Map<String, Object> datasMap = new HashMap<>(); + datasMap.put("coordinate", coordinate); + datasMap.put("device", datas); + + return new ResultBean<Map<String, Object>>(datasMap); + } + + @GetMapping("fiveMinuteAvgData") + public ResultBean<Map<String, Object>> getSensorFiveMinuteAvgData(HttpServletRequest request) { + //���������������������������monitorpointId + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + if ((!parameters.containsKey("sensorKey")) || (!parameters.containsKey("monitorPointId"))) + return ResultBean.fail("���������null"); + String sensorKey = (String) parameters.get("sensorKey"); + Integer monitorPointId = Integer.parseInt((String) parameters.get("monitorPointId")); + + //������monitorpointId������������������������������mac������ + List<Device> devices = deviceService.getDevicesByMonitorPointId(monitorPointId); + if (ObjectUtils.isEmpty(devices)) + return ResultBean.fail("���������������������monitorPointId������"); + List<String> macs = new ArrayList<>(); + devices.forEach(p -> { + macs.add(p.getMac()); + }); + + //���������������mac��������������������������������������������������������� + Map<String, Object> timeAndYearMonth = getTimeAndYearMonthForFiveMinuteData(); + String time = (String) timeAndYearMonth.get("time"); + String yearAndMonth = (String) timeAndYearMonth.get("yearAndMonth"); + parameters.put("time", time); + parameters.put("yearAndMonth", yearAndMonth); + parameters.put("macs", macs); + List<Map<String, Object>> datas = historyFiveMinutelyService.getFiveMinutesDataByMacsAndTime(parameters); + + //������������������������������������������������������������������������������ + if (ObjectUtils.isEmpty(datas)) { + time = getFiveMinuteAgoTime(time); + parameters.put("time", time); + datas = historyFiveMinutelyService.getFiveMinutesDataByMacsAndTime(parameters); + } + datas = insertDeviceInfo(datas, devices); + + //������monitorPointId��������������������� + List<Map<String, Object>> coordinate = new ArrayList<>(); + MonitorPoint monitorPoint = monitorPointService.queryMonitorPointById(monitorPointId); + Integer orgId = monitorPoint.getOrganizationId(); + List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByOrganizationId(orgId); monitorPoints.forEach(value -> { if ("���������".equals(value.getDescription())) { List list = LatLngTransformation.Convert_BD09_To_GCJ02(value.getLatitude(), value.getLongitude()); @@ -340,7 +402,7 @@ /** * @Description: ������mac��������������������������������������������������������������������������������� * @Param: [request] - * @return: com.moral.common.bean.ResultBean<java.util.Map < java.lang.String , java.lang.Object>> + * @return: com.moral.common.bean.ResultBean<java.util.Map < java.lang.String , java.lang.Object>> * @Author: ������������ * @Date: 2020/10/22 */ @@ -416,7 +478,7 @@ /** * @Description: ������token������������������ * @Param: [request] - * @return: com.moral.common.bean.ResultBean<java.util.List < com.moral.entity.WebProvince>> + * @return: com.moral.common.bean.ResultBean<java.util.List < com.moral.entity.WebProvince>> * @Author: ������������ * @Date: 2020/11/27 */ @@ -433,24 +495,23 @@ @UserLoginToken @GetMapping("monitor-points") - public ResultBean<List<MonitorPoint>> getmMnitorPoints(HttpServletRequest request){ + public ResultBean<List<MonitorPoint>> getmMnitorPoints(HttpServletRequest request) { String accountId = WebTokenUtils.getIdBytoken(request.getHeader("token")); Account account = accountService.getAccountById(Integer.parseInt(accountId)); String regionCode = request.getParameter("regionCode"); - Map<String,Object> paramMap = new HashMap<>(); - paramMap.put("organizationId",account.getOrganizationId()); - paramMap.put("regionCode",regionCode); + Map<String, Object> paramMap = new HashMap<>(); + paramMap.put("organizationId", account.getOrganizationId()); + paramMap.put("regionCode", regionCode); List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsAndDevicesByRegion(paramMap); if (ObjectUtils.isEmpty(monitorPoints)) return new ResultBean<>("���������������������������", ResultBean.FAIL); - return new ResultBean<>(monitorPoints); + return new ResultBean<List<MonitorPoint>>(monitorPoints); } /** * @Description: ���������������������������������������state * @Param: [datas, devices] - * @return: java.util.List<java.util.Map < java.lang.String , java.lang.Object>> * @Author: ������������ * @Date: 2020/10/19 */ -- Gitblit v1.8.0