From dc6b3a883a677e227f844a91c2d7c2a8f5f48333 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Sun, 20 Aug 2023 14:06:48 +0800
Subject: [PATCH] fix:部分配置修改
---
screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java | 25 ++++++++++++-------------
1 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java
index 4ffd928..89244a6 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java
@@ -22,12 +22,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.OptionalDouble;
+import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.DoubleStream;
@@ -57,7 +52,7 @@
private CityAqiService cityAqiService;
@Autowired
- private ForecastService forecastService;
+ private ForecastMapper forecastMapper;
private static final Map<String, Integer> weatherScore = new HashMap<>();
@@ -129,15 +124,14 @@
//���������������������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);
+ List<CityWeatherForecast> cityWeatherForecasts = Objects.isNull(cityForecast.get(cityCode))?new ArrayList<>():cityForecast.get(cityCode);
//������������������������������
List<CityWeather> cityWeathers = cityHistoryWeather.get(cityCode);
@@ -170,6 +164,8 @@
}
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();
@@ -205,11 +201,14 @@
if (!Double.isNaN(o3Forecast)) {
forecastMap.put("O3", AmendUtils.sciCal(o3Forecast, 0));
forecast.setValue(JSONObject.toJSONString(forecastMap));
- forecastService.save(forecast);
+ forecastList.add(forecast);
}
}
-
}
+ if(forecastList.size()>0){
+ forecastMapper.insertForecast(forecastList);
+ }
+
}
private Double calculateAvg(List<Map<String, Object>> list, String param) {
--
Gitblit v1.8.0