|  |  | 
 |  |  |     private CityAqiService cityAqiService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ForecastService forecastService; | 
 |  |  |     private ForecastMapper forecastMapper; | 
 |  |  |  | 
 |  |  |     private static Map<String, Integer> weatherScore = new HashMap<>(); | 
 |  |  |     private static final Map<String, Integer> weatherScore = new HashMap<>(); | 
 |  |  |  | 
 |  |  |     static { | 
 |  |  |         weatherScore.put("晴", 100); | 
 |  |  | 
 |  |  |         //获取前后一小时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) { |