From 828915552e4f96b0cd898b87d4159852d620c63d Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Wed, 23 Dec 2020 15:01:37 +0800 Subject: [PATCH] update --- src/main/java/com/moral/controller/WebController.java | 147 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 126 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..d008ceb 100644 --- a/src/main/java/com/moral/controller/WebController.java +++ b/src/main/java/com/moral/controller/WebController.java @@ -64,7 +64,8 @@ OrganizationSensorsService organizationSensorsService; @Resource MapPathService mapPathService; - + @Resource + HistoryService historyService; @GetMapping("test") @@ -79,7 +80,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 +104,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 +119,9 @@ return resultMap; } + public static void main(String[] args) { + + } @UserLoginToken @GetMapping("getAccountInfo") @@ -140,7 +144,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 +173,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 +189,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 +204,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 +223,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.getMonitorPointsAndDevicesByRegionNew(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 +261,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 +404,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 +480,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 */ @@ -431,26 +495,67 @@ return new ResultBean<>(mapPath); } + /** + * @Description: ������������������������ + * @Param: [request] + * @return: com.moral.common.bean.ResultBean<java.util.List<com.moral.entity.MonitorPoint>> + * @Author: ������������ + * @Date: 2020/12/8 + */ @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: ��������������������������������������������������� + * @Param: [datas, devices] + * @return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>> + * @Author: ������������ + * @Date: 2020/12/8 + */ + @UserLoginToken + @GetMapping("sensor-monthAvg") + public ResultBean<Map<String, Object>> getSensorMonthAvgByMac(HttpServletRequest request){ + Map<String, Object> parameters = getParametersStartingWith(request, null); + if ((!parameters.containsKey("mac"))||(!parameters.containsKey("macKey"))) + return ResultBean.fail("���������null"); + Map<String, Object> result = historyMinutelyService.getAverageBySensor(parameters); + return new ResultBean<Map<String, Object>>(result); + } + + /** + * @Description: ���������������������������������AQI + * @Param: [request] + * @return: com.moral.common.bean.ResultBean<java.util.Map<java.lang.String,java.lang.Object>> + * @Author: ������������ + * @Date: 2020/12/8 + */ + @UserLoginToken + @GetMapping("hourly-aqi") + public ResultBean<Map<String, Object>> getHourlyAQI(HttpServletRequest request){ + Map<String, Object> parameters = getParametersStartingWith(request, null); + if (!parameters.containsKey("mac")) + return ResultBean.fail("���������null"); + Map<String, Object> result = historyService.gitHourlyAQIByMacAndTimeslot(parameters); + return new ResultBean<Map<String, Object>>(result); } /** * @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