From 65b70cf13a2ec91013d876771be878c165cae3a4 Mon Sep 17 00:00:00 2001
From: cjl <909710561@qq.com>
Date: Tue, 23 Apr 2024 15:32:45 +0800
Subject: [PATCH] fix:补充提交

---
 screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 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 ca07863..d1bd8ab 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;
@@ -136,7 +131,7 @@
             Integer cityCode = Integer.parseInt(obj.toString());
 
             //������
-            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);
@@ -194,6 +189,8 @@
                 int size = weatherMaps.size();
                 Double tempAvg = calculateAvg(weatherMaps, "temp");
                 Double o3Avg = calculateAvg(weatherMaps, "O3");
+                if(tempAvg == null || o3Avg == null)
+                    continue;
                 Double sum1 = calculateProduct(weatherMaps, "temp", "O3");
                 Double sum2 = calculateProduct(weatherMaps, "temp", "temp");
                 double b = (sum1 - size * tempAvg * o3Avg) / (sum2 - size * tempAvg * tempAvg);
@@ -210,7 +207,10 @@
                 }
             }
         }
-       // forecastMapper.insertForecast(forecastList);
+        if(forecastList.size()>0){
+            forecastMapper.insertForecast(forecastList);
+        }
+
     }
 
     private Double calculateAvg(List<Map<String, Object>> list, String param) {

--
Gitblit v1.8.0