From e745dd38c5a413eaa000c7c5434621fbcd1800d5 Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Wed, 23 Dec 2020 13:55:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/moral/controller/WebController.java | 151 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 141 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/moral/controller/WebController.java b/src/main/java/com/moral/controller/WebController.java index 36087ea..d008ceb 100644 --- a/src/main/java/com/moral/controller/WebController.java +++ b/src/main/java/com/moral/controller/WebController.java @@ -64,6 +64,8 @@ OrganizationSensorsService organizationSensorsService; @Resource MapPathService mapPathService; + @Resource + HistoryService historyService; @GetMapping("test") @@ -78,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 */ @@ -102,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 */ @@ -117,6 +119,9 @@ return resultMap; } + public static void main(String[] args) { + + } @UserLoginToken @GetMapping("getAccountInfo") @@ -139,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 */ @@ -168,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 */ @@ -184,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 */ @@ -199,10 +204,80 @@ /** * @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 */ + + @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"))) + return ResultBean.fail("���������null"); + String sensorKey = (String) parameters.get("sensorKey"); + String regionCode = (String) parameters.get("regionCode"); + String token = request.getHeader("token"); + + //������orgId������������������������������mac������ + String accountId = WebTokenUtils.getIdBytoken(token); + Account account = accountService.getAccountById(Integer.parseInt(accountId)); + 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) { + if (!ObjectUtils.isEmpty(monitorPoint.getDevices())) + devices.addAll(monitorPoint.getDevices()); + } + if (ObjectUtils.isEmpty(devices)) + return ResultBean.fail("������������������������������"); + + 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<>(); + 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) { @@ -329,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 */ @@ -405,14 +480,14 @@ /** * @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 */ @UserLoginToken @GetMapping("mapPath") - public ResultBean<List<WebProvince>> mapPath(HttpServletRequest request) { + public ResultBean<List<WebProvince>> getMapPath(HttpServletRequest request) { String token = request.getHeader("token"); List<WebProvince> mapPath = mapPathService.getMapPath(token); if (ObjectUtils.isEmpty(mapPath)) @@ -420,11 +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) { + 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); + List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsAndDevicesByRegion(paramMap); + if (ObjectUtils.isEmpty(monitorPoints)) + return new ResultBean<>("���������������������������", ResultBean.FAIL); + 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