| | |
| | | private CityAqiService cityAqiService; |
| | | |
| | | @Autowired |
| | | private ForecastService forecastService; |
| | | private ForecastMapper forecastMapper; |
| | | |
| | | private static final Map<String, Integer> weatherScore = new HashMap<>(); |
| | | |
| | |
| | | //获取前后一小时map |
| | | Map<Date, List<Integer>> hours = DateUtils.getBeforeAndAfterHourDate(nextDay); |
| | | |
| | | Forecast forecast = new Forecast(); |
| | | List<Forecast> forecastList = new ArrayList<>(); |
| | | |
| | | Map<String, Object> forecastMap = new HashMap<>(); |
| | | for (Object obj : cityCodes) { |
| | | Integer cityCode = Integer.parseInt(obj.toString()); |
| | | |
| | | forecast.setCityCode(cityCode); |
| | | |
| | | //预测 |
| | | List<CityWeatherForecast> cityWeatherForecasts = cityForecast.get(cityCode); |
| | |
| | | } |
| | | |
| | | for (CityWeatherForecast cityWeatherForecast : cityWeatherForecasts) { |
| | | Forecast forecast = new Forecast(); |
| | | forecast.setCityCode(cityCode); |
| | | Date time = cityWeatherForecast.getTime(); |
| | | Map<String, Object> value = JSONObject.parseObject(cityWeatherForecast.getValue(), Map.class); |
| | | String weather = value.get("text").toString(); |
| | |
| | | if (!Double.isNaN(o3Forecast)) { |
| | | forecastMap.put("O3", AmendUtils.sciCal(o3Forecast, 0)); |
| | | forecast.setValue(JSONObject.toJSONString(forecastMap)); |
| | | forecastService.save(forecast); |
| | | forecastList.add(forecast); |
| | | } |
| | | } |
| | | |
| | | } |
| | | forecastMapper.insertForecast(forecastList); |
| | | } |
| | | |
| | | private Double calculateAvg(List<Map<String, Object>> list, String param) { |