From bc6aaea416da40038dee2df1b3de4a1581da2a48 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 29 Jul 2020 10:07:44 +0800 Subject: [PATCH] 臭氧预测update,根据城市名查询预测和实际数据 --- src/main/java/com/moral/controller/ScreenController.java | 461 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 426 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 269c6a1..0f33018 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -9,35 +9,20 @@ import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.collections.MapUtils; -import org.apache.commons.net.ftp.FTPClient; -import org.apache.log4j.Logger; -import org.dom4j.Document; -import org.dom4j.Element; -import org.dom4j.io.SAXReader; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cglib.beans.BeanMap; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.util.ObjectUtils; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.servlet.ModelAndView; -import org.xml.sax.InputSource; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; @@ -88,12 +73,41 @@ import com.moral.service.SensorUnitService; import com.moral.service.WeatherService; import com.moral.util.AQICalculation; +import com.moral.util.MyLatLng; import com.moral.util.TempAllocationUtils; + +import com.moral.util.mapUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import net.sf.json.JSONString; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; +import org.apache.commons.net.ftp.FTPClient; +import org.apache.ibatis.annotations.Param; +import org.apache.log4j.Logger; +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cglib.beans.BeanMap; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; +import org.xml.sax.InputSource; import static com.moral.common.util.ResourceUtil.getValue; import static com.moral.common.util.WebUtils.getParametersStartingWith; @@ -594,6 +608,12 @@ return sensorsMapList; } + @GetMapping("/getSensorsAllMap") + public List<Map<String, String>> getSensorsAllMap(String mac) { + List<Map<String, String>> sensorsMapList = sensorService.getSensorsAllMap(); + return sensorsMapList; + } + @RequestMapping(value = "/get-monitorpoints", method = RequestMethod.GET) @ResponseBody public ResultBean getMonitorpointList(@RequestParam("orgId") String orgId, MapBounds mapBounds, @@ -612,6 +632,15 @@ @RequestMapping(value = "/get-devices", method = RequestMethod.GET) @ResponseBody + @ApiOperation(value = "������������", notes = "������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "orgId", defaultValue = "5", value = "������Id", required = true, paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "regionCode", defaultValue = "320583", value = "������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "Fe", defaultValue = "31.485018", value = "���������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "Ge", defaultValue = "121.378395", value = "���������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "Ke", defaultValue = "31.296614", value = "���������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "Le", defaultValue = "120.59651", value = "���������������", required = true, paramType = "query", dataType = "String") + }) public ResultBean getDevices(@RequestParam("orgId") Integer orgId, MapBounds mapBounds, @RequestParam("regionCode") String regionCode) { ResultBean<List<Device>> resultBean = new ResultBean(); @@ -696,6 +725,9 @@ String time = map.get("time").toString(); time = time.substring(time.length() - 2); map.put("time", Integer.valueOf(time)); + if (parameters.get("type").equals("day")) { + map.put("time", Integer.valueOf(time) + 1); + } map.put("value", map.remove(sensorKey)); } return new ResultBean<List<Map<String, Object>>>(list); @@ -921,12 +953,12 @@ } } - for (int i = 0; i <resultList.size() ; i++) { + for (int i = 0; i < resultList.size(); i++) { if (resultList.get(i) == null) { Map<String, Object> hashMap = new HashMap<>(); - if(type.equals("day")){ + if (type.equals("day")) { hashMap.put("time", i); - }else { + } else { hashMap.put("time", i + 1); } hashMap.put(s, ""); @@ -953,15 +985,15 @@ ArrayList<String> values = new ArrayList<>(); values.add(map.remove(s).toString()); values.add(""); - map.put("values",values); + map.put("values", values); } } Iterator<Map<String, Object>> it = resultList.iterator(); - while(it.hasNext()){ + while (it.hasNext()) { Map<String, Object> next = it.next(); - ArrayList<String> values = (ArrayList<String>)next.get("values"); - if(values.get(0).equals("")&&values.get(1).equals("")){ + ArrayList<String> values = (ArrayList<String>) next.get("values"); + if (values.get(0).equals("") && values.get(1).equals("")) { it.remove(); } } @@ -1175,9 +1207,7 @@ public ResultBean<Map<String, Object>> getSensor(HttpServletRequest request) throws Exception { Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); String mac = (String) parameters.get("mac"); - //System.out.println("ScreenController-----getSensor-----mac:"+mac); Map<String, Object> map = sensorUnitService.getSensorByMac(mac); - System.out.println("ScreenController-----getSensor-----map:"+map); return new ResultBean<Map<String, Object>>(map); }*/ @@ -1245,7 +1275,6 @@ }) public ResultBean<List<Map<String, Object>>> AIForecast(HttpServletRequest request) throws Exception { Map<String, Object> parameters = getParametersStartingWith(request, null); - //System.out.println(parameters); String monitorPoint = (String) parameters.get("monitorPoint"); String intoTime = parameters.get("time").toString(); Date date = new SimpleDateFormat("yy-MM-dd").parse(intoTime); @@ -1598,4 +1627,366 @@ } return new ResultBean<List<Map<String, Object>>>(list); } + + @RequestMapping(value = "/newMap-page", method = RequestMethod.GET) + public ModelAndView newMap(ModelAndView model, @RequestParam("areaCode") long code, + @RequestParam("accountId") int accountId) { + Account account = accountService.getAccountById(accountId); + List<MonitorPoint> monitorPointList = monitorPointService.getMonitorPointListByAccountId(accountId); + String regionName = areaService.queryFullNameByCode(code); + + if (account != null && regionName != null) { + Object sensors = sensorService.queryAll(); + JSONObject params = new JSONObject(); + params.put("regionCode", code); + params.put("regionName", regionName); + params.put("accountId", accountId); + params.put("orgId", account.getOrganizationId()); + params.put("sensors", sensors); + String paramsJson = params.toJSONString(); + model.addObject("mapParams", paramsJson); + model.setViewName("newmap"); + return model; + } else { + StringBuilder msg = new StringBuilder(); + msg.append(" param[0] areaCode:"); + msg.append(code); + msg.append(" param[0] accountId:"); + msg.append(accountId); + log.warn(msg); + model.setViewName("403"); + return model; + } + } + + @GetMapping("/uavDroppoint") + @ApiOperation(value = "���������������������", notes = "���������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392068���", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "������������(���������2019-07-17-17)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "������������(���������2019-07-17-18)", required = true, paramType = "query", dataType = "String") + }) + public ModelAndView uavDroppoint(ModelAndView model, HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String st = parameters.get("startTime").toString(); + String startYearAndDay = st.substring(0, st.lastIndexOf("-")); + String startHour = st.substring(st.lastIndexOf("-") + 1); + String startTime = startYearAndDay + " " + startHour + ":00:00"; + String et = parameters.get("endTime").toString(); + String endHour = et.substring(et.lastIndexOf("-") + 1); + int endHourValue = Integer.valueOf(endHour); + int startHourValue = Integer.valueOf(startHour); + if (endHourValue <= startHourValue) { + endHourValue = startHourValue + 1; + } + String endTime = startYearAndDay + " " + endHourValue + ":00:00"; + parameters.put("startTime", startTime); + parameters.put("endTime", endTime); + String mac = parameters.get("mac").toString(); + if (mac != null && mac.length() != 0) { + List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters); + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + JSONObject params = new JSONObject(); + params.put("sensorInfo", sensorData); + params.put("sensorsMap", sensorsMap); + params.put("sensorKey", parameters.get("sensorKey")); + params.put("unit", parameters.get("unit")); + params.put("description", parameters.get("description")); + String paramsJson = params.toJSONString(); + model.addObject("uavDroppointParams", paramsJson); + model.setViewName("uavdroppoint"); + return model; + } else { + StringBuilder msg = new StringBuilder(); + msg.append(" param[0] mac:"); + msg.append(mac); + log.warn(msg); + model.setViewName("403"); + return model; + } + } + + @GetMapping("/uavChannel") + @ApiOperation(value = "������������������������������", notes = "������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392068���", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "������������(���������2019-07-17-17)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "������������(���������2019-07-17-18)", required = true, paramType = "query", dataType = "String") + }) + public ModelAndView uavChannel(ModelAndView model, HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String st = parameters.get("startTime").toString(); + String startYearAndDay = st.substring(0, st.lastIndexOf("-")); + String startHour = st.substring(st.lastIndexOf("-") + 1); + String startTime = startYearAndDay + " " + startHour + ":00:00"; + String et = parameters.get("endTime").toString(); + String endHour = et.substring(et.lastIndexOf("-") + 1); + int endHourValue = Integer.valueOf(endHour); + int startHourValue = Integer.valueOf(startHour); + if (endHourValue <= startHourValue) { + endHourValue = startHourValue + 1; + } + String endTime = startYearAndDay + " " + endHourValue + ":00:00"; + parameters.put("startTime", startTime); + parameters.put("endTime", endTime); + String mac = parameters.get("mac").toString(); + if (mac != null && mac.length() != 0) { + List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters); + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + JSONObject params = new JSONObject(); + params.put("sensorInfo", sensorData); + params.put("sensorsMap", sensorsMap); + params.put("sensorKey", parameters.get("sensorKey")); + params.put("unit", parameters.get("unit")); + params.put("description", parameters.get("description")); + String paramsJson = params.toJSONString(); + model.addObject("uavChannelParams", paramsJson); + model.setViewName("uavchannelnew"); + return model; + } else { + StringBuilder msg = new StringBuilder(); + msg.append(" param[0] mac:"); + msg.append(mac); + log.warn(msg); + model.setViewName("403"); + return model; + } + } + + @GetMapping("/uavTracing") + @ApiOperation(value = "���������������������", notes = "���������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392068���", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "������������(���������2019-07-17-17)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "������������(���������2019-07-17-18)", required = true, paramType = "query", dataType = "String") + }) + public ModelAndView uavTracing(ModelAndView model, HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String st = parameters.get("startTime").toString(); + String startYearAndDay = st.substring(0, st.lastIndexOf("-")); + String startHour = st.substring(st.lastIndexOf("-") + 1); + String startTime = startYearAndDay + " " + startHour + ":00:00"; + String et = parameters.get("endTime").toString(); + String endHour = et.substring(et.lastIndexOf("-") + 1); + int endHourValue = Integer.parseInt(endHour); + int startHourValue = Integer.parseInt(startHour); + if (endHourValue <= startHourValue) { + endHourValue = startHourValue + 1; + } + String endTime = startYearAndDay + " " + endHourValue + ":00:00"; + parameters.put("startTime", startTime); + parameters.put("endTime", endTime); + String mac = parameters.get("mac").toString(); + if (mac != null && mac.length() != 0) { + List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters); + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + JSONObject params = new JSONObject(); + params.put("sensorInfo", sensorData); + params.put("sensorsMap", sensorsMap); + params.put("sensorKey", parameters.get("sensorKey")); + params.put("unit", parameters.get("unit")); + params.put("description", parameters.get("description")); + String paramsJson = params.toJSONString(); + model.addObject("uavTracingParams", paramsJson); + model.setViewName("uavtracing"); + return model; + } else { + StringBuilder msg = new StringBuilder(); + msg.append(" param[0] mac:"); + msg.append(mac); + log.warn(msg); + model.setViewName("403"); + return model; + } + } + + @GetMapping("/purify") + @ApiOperation(value = "���������������������", notes = "���������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "monitorPointId", value = "������Id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������(���������2020-03-19-14)", required = true, paramType = "query", dataType = "String")}) + public ModelAndView PurificationRate(HttpServletRequest request, ModelAndView model) { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String monitPointIdS = (String) parameters.get("monitorPointId"); + String sensor = (String) parameters.get("sensorKey"); + String time = (String) parameters.get("time"); + String YearAndDay = time.substring(0, time.lastIndexOf("-")); + String Hour = time.substring(time.lastIndexOf("-") + 1); + String Time = YearAndDay + " " + Hour + ":00:00"; + int monitPointId = Integer.parseInt(monitPointIdS); + JSONObject params = monitorPointService.getMonitorPointById(monitPointId, Time, 1, sensor); + String paramsJson = params.toJSONString(); + model.addObject("mapParams", paramsJson); + model.setViewName("purityMap"); + return model; + } + + + @GetMapping("/collection") + @ApiOperation(value = "���������������������", notes = "���������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "monitorPointId", value = "������Id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������(���������2020-03-19-14)", required = true, paramType = "query", dataType = "String")}) + public ModelAndView collectionRate(HttpServletRequest request, ModelAndView model) { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String monitPointIdS = (String) parameters.get("monitorPointId"); + String sensor = ""; + String time = (String) parameters.get("time"); + String YearAndDay = time.substring(0, time.lastIndexOf("-")); + String Hour = time.substring(time.lastIndexOf("-") + 1); + String Time = YearAndDay + " " + Hour + ":00:00"; + int monitPointId = Integer.parseInt(monitPointIdS); + //������������������ + JSONObject params = monitorPointService.getMonitorPointById(monitPointId, Time, 2, sensor); + model.addObject("params", params); + model.setViewName("pressureMap"); + return model; + } + + + @GetMapping("/unorganizedEmissions") + @ApiOperation(value = "���������������", notes = "���������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "monitorPointId", value = "������Id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "������", required = true, paramType = "query", dataType = "String"), + // @ApiImplicitParam(name = "sensorKey", value = "���������key,���������������������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������(���������2020-03-19-14)", required = true, paramType = "query", dataType = "String")}) + public ModelAndView unorganizedEmissions(HttpServletRequest request, ModelAndView model) { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String monitPointIdS = (String) parameters.get("monitorPointId"); + String sensor = (String) parameters.get("sensorKey"); + String time = (String) parameters.get("time"); + String YearAndDay = time.substring(0, time.lastIndexOf("-")); + String Hour = time.substring(time.lastIndexOf("-") + 1); + String Time = YearAndDay + " " + Hour + ":00:00"; + int monitPointId = Integer.parseInt(monitPointIdS); + //������������������ + JSONObject params = monitorPointService.getMonitorPointById(monitPointId, Time, 3, sensor); + model.addObject("params", params); + model.setViewName("unorganizedMap"); + return model; + } + + + @GetMapping("/unorganizedEmissionsRealTime") + @ApiOperation(value = "���������������������", notes = "���������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "monitorPointId", value = "������Id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "accountId", value = "������id", required = false, paramType = "query", dataType = "String")}) + public ModelAndView unorganizedEmissionsBackups(HttpServletRequest request, ModelAndView model) { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String monitPointIdS = (String) parameters.get("monitorPointId"); + String sensor = (String) parameters.get("sensorKey"); + String accountId = (String) parameters.get("accountId"); + Account account = accountService.getAccountById(Integer.parseInt(accountId)); + int monitPointId = Integer.parseInt(monitPointIdS); + JSONObject params = monitorPointService.getMacList(monitPointId); + params.put("accountId", accountId); + params.put("orgId", account.getOrganizationId()); + params.put("sensor", sensor); + //������������������ + //JSONObject params=monitorPointService.getMonitorPointById(monitPointId,Time,3,sensor); + // model.addObject("params",params); + model.addObject("params", params); + model.setViewName("newUnorganizedMap"); + return model; + } + + @GetMapping("/chooseDevice") + @ResponseBody + public Object unorganizedEmissionsBackups(String wind, String monitPointId) { + JSONObject params = new JSONObject(); + Double windDir = Double.parseDouble(wind); + List<Device> deviceList = deviceService.getDeviceById2(Integer.parseInt(monitPointId)); + Map<String, Object> longAndLatiMap; + List<Map> longAndLatiList = new ArrayList<>();//������������������������������������windList������������������������������������������������������������������ + List<Device> preAngleDeviceList = new ArrayList<Device>(); //��������������������������������������� + for (int f = 0; f < deviceList.size(); f++) { + for (int h = 0; h < deviceList.size(); h++) { + if (f != h) { + longAndLatiMap = new HashMap<String, Object>(); + longAndLatiMap.put("h", h); + longAndLatiMap.put("f", f); + Double angle = mapUtils.getAngle( + new MyLatLng((Double) deviceList.get(h).getLongitude(), + (Double) deviceList.get(h).getLatitude()), + new MyLatLng((Double) deviceList.get(f).getLongitude(), + (Double) deviceList.get(f).getLatitude())); + Double angleDiff = Math.abs(angle - windDir); + longAndLatiMap.put("angle", angleDiff); + longAndLatiList.add(longAndLatiMap); + } + } + } + Double minAngle = (Double) longAndLatiList.get(0).get("angle"); + int indexAngle = 0; + for (int j = 1; j < longAndLatiList.size(); j++) { + if (minAngle > (Double) longAndLatiList.get(j).get("angle")) { + minAngle = (Double) longAndLatiList.get(j).get("angle"); + indexAngle = j; + } else { + indexAngle = indexAngle; + } + } + preAngleDeviceList.add(deviceList.get((Integer) longAndLatiList.get(indexAngle).get("h"))); + preAngleDeviceList.add(deviceList.get((Integer) longAndLatiList.get(indexAngle).get("f"))); + Double length = mapUtils.getDistance((Double) preAngleDeviceList.get(0).getLongitude(), (Double) preAngleDeviceList.get(0).getLatitude(), + (Double) preAngleDeviceList.get(1).getLongitude(), (Double) preAngleDeviceList.get(1).getLatitude()); + Double subLength = length / 5; + Double subLength1 = length / 6.1; + Double angle = mapUtils.getAngle( + new MyLatLng((Double) preAngleDeviceList.get(0).getLongitude(), + (Double) preAngleDeviceList.get(0).getLatitude()), + new MyLatLng((Double) preAngleDeviceList.get(1).getLongitude(), + (Double) preAngleDeviceList.get(1).getLatitude())); + List locationList = new ArrayList(); + String[] firstLocation = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, (Double) preAngleDeviceList.get(0).getLongitude(), + (Double) preAngleDeviceList.get(0).getLatitude(), subLength); + String[] secondLoction = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(firstLocation[0]), + Double.parseDouble(firstLocation[1]), subLength); + String[] thirdLocation = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(secondLoction[0]), + Double.parseDouble(secondLoction[1]), subLength); + String[] fourthLoction = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(thirdLocation[0]), + Double.parseDouble(thirdLocation[1]), subLength); + String[] fivethLoction = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(fourthLoction[0]), + Double.parseDouble(fourthLoction[1]), subLength1); + locationList.add(firstLocation); + locationList.add(secondLoction); + locationList.add(thirdLocation); + locationList.add(fourthLoction); + locationList.add(fivethLoction); + String preAngleDeviceString = JSON.toJSON(preAngleDeviceList).toString(); + params.put("preAngleDeviceString", preAngleDeviceString);//��������������������������� + params.put("locationList", locationList); + return params; + } + + @GetMapping("forecastO3") + @ApiOperation(value = "���������������������������", notes = "���������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "monitorPointId", defaultValue = "1", value = "���������id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������(���������2020-03-19)", required = true, paramType = "query", dataType = "String")}) + public ResultBean<List<Map<String, Object>>> getWeatherNextDayDataByRegion(HttpServletRequest request) throws Exception { + Map<String, Object> parameters = getParametersStartingWith(request, null); + parameters.put("typeFormat", "%Y-%m-%d %H:%i:%s"); + List<Map<String, Object>> resultList = weatherService.getForecastAndReal(parameters); + return new ResultBean<List<Map<String, Object>>>(resultList); + } + + @GetMapping("weatherData") + @ApiOperation(value = "������city���������������������������", notes = "������city���������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "city", value = "���������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������(���������2020-03-19)", required = true, paramType = "query", dataType = "String")}) + public ResultBean<List<Map<String, Object>>> getWeatherData(HttpServletRequest request) throws Exception { + Map<String, Object> parameters = getParametersStartingWith(request, null); + parameters.put("typeFormat", "%Y-%m-%d %H:%i:%s"); + List<Map<String, Object>> weatherList = weatherService.getWeatherData(parameters); + return new ResultBean<List<Map<String, Object>>>(weatherList); + } } -- Gitblit v1.8.0