From f052b63c0428d4f3f723e9c729f19a62bfe3172e Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 20 Jan 2022 09:38:31 +0800
Subject: [PATCH] job定时任务修改入库逻辑

---
 screen-job/src/main/resources/mapper/CityWeatherForecastMapper.xml                      |    8 ++
 screen-job/src/main/java/com/moral/api/mapper/ForecastMapper.java                       |    4 +
 screen-job/src/main/java/com/moral/api/service/impl/ForecastServiceImpl.java            |    7 +
 screen-job/src/main/resources/mapper/CityWeatherMapper.xml                              |    8 ++
 screen-job/src/main/java/com/moral/api/mapper/CityWeatherMapper.java                    |    4 +
 screen-job/src/main/resources/mapper/CityAqiMonthlyMapper.xml                           |   20 +++-
 screen-job/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java       |    7 +
 screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java          |    8 +
 screen-job/src/main/java/com/moral/api/mapper/CityAqiDailyMapper.java                   |    4 +
 screen-job/src/main/java/com/moral/api/service/impl/CityWeatherServiceImpl.java         |    8 +
 screen-job/src/main/resources/mapper/HistoryAqiMapper.xml                               |    8 ++
 screen-job/src/main/java/com/moral/api/mapper/HistoryAqiMapper.java                     |    4 +
 screen-job/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java        |    9 +
 screen-job/src/main/resources/mapper/CityAqiMapper.xml                                  |   19 +++-
 screen-job/src/main/resources/mapper/ForecastMapper.xml                                 |    8 ++
 screen-job/src/main/java/com/moral/api/mapper/CityWeatherForecastMapper.java            |    4 +
 screen-job/src/main/resources/mapper/CityAqiDailyMapper.xml                             |    8 ++
 screen-job/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java      |    5 
 screen-job/src/main/java/com/moral/api/service/impl/CityWeatherForecastServiceImpl.java |    6 +
 screen-job/src/main/java/com/moral/api/mapper/CityAqiMonthlyMapper.java                 |    4 +
 screen-job/src/main/resources/mapper/CityAqiYearlyMapper.xml                            |   20 +++-
 screen-job/src/main/java/com/moral/api/mapper/CityAqiYearlyMapper.java                  |    5 +
 screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java             |    5 +
 screen-job/src/main/java/com/moral/api/mapper/CityAqiMapper.java                        |    4 +
 24 files changed, 153 insertions(+), 34 deletions(-)

diff --git a/screen-job/src/main/java/com/moral/api/mapper/CityAqiDailyMapper.java b/screen-job/src/main/java/com/moral/api/mapper/CityAqiDailyMapper.java
index 0383574..2e8890d 100644
--- a/screen-job/src/main/java/com/moral/api/mapper/CityAqiDailyMapper.java
+++ b/screen-job/src/main/java/com/moral/api/mapper/CityAqiDailyMapper.java
@@ -1,5 +1,7 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
 import com.moral.api.entity.CityAqiDaily;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,4 +15,6 @@
  */
 public interface CityAqiDailyMapper extends BaseMapper<CityAqiDaily> {
 
+    void insertCityAqiDaily(List<CityAqiDaily> list);
+
 }
diff --git a/screen-job/src/main/java/com/moral/api/mapper/CityAqiMapper.java b/screen-job/src/main/java/com/moral/api/mapper/CityAqiMapper.java
index 1d9b7af..60ea948 100644
--- a/screen-job/src/main/java/com/moral/api/mapper/CityAqiMapper.java
+++ b/screen-job/src/main/java/com/moral/api/mapper/CityAqiMapper.java
@@ -1,5 +1,7 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
 import com.moral.api.entity.CityAqi;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,4 +15,6 @@
  */
 public interface CityAqiMapper extends BaseMapper<CityAqi> {
 
+    void insertCityAqi(List<CityAqi> list);
+
 }
diff --git a/screen-job/src/main/java/com/moral/api/mapper/CityAqiMonthlyMapper.java b/screen-job/src/main/java/com/moral/api/mapper/CityAqiMonthlyMapper.java
index 014740c..847a4d9 100644
--- a/screen-job/src/main/java/com/moral/api/mapper/CityAqiMonthlyMapper.java
+++ b/screen-job/src/main/java/com/moral/api/mapper/CityAqiMonthlyMapper.java
@@ -1,5 +1,7 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
 import com.moral.api.entity.CityAqiMonthly;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,4 +15,6 @@
  */
 public interface CityAqiMonthlyMapper extends BaseMapper<CityAqiMonthly> {
 
+    void insertCityAqiMonthly(List<CityAqiMonthly> list);
+
 }
diff --git a/screen-job/src/main/java/com/moral/api/mapper/CityAqiYearlyMapper.java b/screen-job/src/main/java/com/moral/api/mapper/CityAqiYearlyMapper.java
index a076787..88fc60d 100644
--- a/screen-job/src/main/java/com/moral/api/mapper/CityAqiYearlyMapper.java
+++ b/screen-job/src/main/java/com/moral/api/mapper/CityAqiYearlyMapper.java
@@ -1,5 +1,8 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
+import com.moral.api.entity.CityAqiMonthly;
 import com.moral.api.entity.CityAqiYearly;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,4 +16,6 @@
  */
 public interface CityAqiYearlyMapper extends BaseMapper<CityAqiYearly> {
 
+    void insertCityAqiYearly(List<CityAqiYearly> list);
+
 }
diff --git a/screen-job/src/main/java/com/moral/api/mapper/CityWeatherForecastMapper.java b/screen-job/src/main/java/com/moral/api/mapper/CityWeatherForecastMapper.java
index 3de5f1c..de348e3 100644
--- a/screen-job/src/main/java/com/moral/api/mapper/CityWeatherForecastMapper.java
+++ b/screen-job/src/main/java/com/moral/api/mapper/CityWeatherForecastMapper.java
@@ -1,5 +1,7 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
 import com.moral.api.entity.CityWeatherForecast;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,4 +15,6 @@
  */
 public interface CityWeatherForecastMapper extends BaseMapper<CityWeatherForecast> {
 
+    void insertCityWeatherForecast(List<CityWeatherForecast> list);
+
 }
diff --git a/screen-job/src/main/java/com/moral/api/mapper/CityWeatherMapper.java b/screen-job/src/main/java/com/moral/api/mapper/CityWeatherMapper.java
index 099b3c2..e1c73e8 100644
--- a/screen-job/src/main/java/com/moral/api/mapper/CityWeatherMapper.java
+++ b/screen-job/src/main/java/com/moral/api/mapper/CityWeatherMapper.java
@@ -1,5 +1,7 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
 import com.moral.api.entity.CityWeather;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,4 +15,6 @@
  */
 public interface CityWeatherMapper extends BaseMapper<CityWeather> {
 
+    void insertCityWeather(List<CityWeather> list);
+
 }
diff --git a/screen-job/src/main/java/com/moral/api/mapper/ForecastMapper.java b/screen-job/src/main/java/com/moral/api/mapper/ForecastMapper.java
index c8f0e87..008e5c3 100644
--- a/screen-job/src/main/java/com/moral/api/mapper/ForecastMapper.java
+++ b/screen-job/src/main/java/com/moral/api/mapper/ForecastMapper.java
@@ -1,5 +1,7 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
 import com.moral.api.entity.Forecast;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,4 +15,6 @@
  */
 public interface ForecastMapper extends BaseMapper<Forecast> {
 
+    void insertForecast(List<Forecast> list);
+
 }
diff --git a/screen-job/src/main/java/com/moral/api/mapper/HistoryAqiMapper.java b/screen-job/src/main/java/com/moral/api/mapper/HistoryAqiMapper.java
index 87650be..1ae2011 100644
--- a/screen-job/src/main/java/com/moral/api/mapper/HistoryAqiMapper.java
+++ b/screen-job/src/main/java/com/moral/api/mapper/HistoryAqiMapper.java
@@ -1,5 +1,7 @@
 package com.moral.api.mapper;
 
+import java.util.List;
+
 import com.moral.api.entity.HistoryAqi;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,5 +15,7 @@
  */
 public interface HistoryAqiMapper extends BaseMapper<HistoryAqi> {
 
+    void insertHistoryAqi(List<HistoryAqi> list);
+
 }
 
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java
index 1522d56..1738813 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/CityAqiDailyServiceImpl.java
@@ -67,8 +67,10 @@
             return;
         }
         //���city_code������
-        Map<String, List<Map<String, Object>>> data = dailyData.parallelStream().collect(Collectors.groupingBy(o -> o.get("city_code").toString()));
+        Map<String, List<Map<String, Object>>> data = dailyData.stream()
+                .collect(Collectors.groupingBy(o -> o.get("city_code").toString()));
 
+        List<CityAqiDaily> cityAqiDailies = new ArrayList<>();
         CityAqiDaily cityAqiDaily = new CityAqiDaily();
         data.forEach((cityCode, value) -> {
             Map<String, Object> jsonMap = new HashMap<>();
@@ -83,7 +85,7 @@
             }
 
             sensors.forEach(sensor -> {
-                OptionalDouble optionalDouble = value.parallelStream().flatMapToDouble(v -> {
+                OptionalDouble optionalDouble = value.stream().flatMapToDouble(v -> {
                     Map<String, Object> dataValue = JSONObject.parseObject((String) v.get("value"), Map.class);
                     Object sensorValue = dataValue.get(sensor);
                     if (ObjectUtils.isEmpty(sensorValue)) {
@@ -122,7 +124,8 @@
             jsonMap.put("compositeIndex", compositeIndex);
 
             cityAqiDaily.setValue(JSONObject.toJSONString(jsonMap));
-            cityAqiDailyMapper.insert(cityAqiDaily);
+            cityAqiDailies.add(cityAqiDaily);
         });
+        cityAqiDailyMapper.insertCityAqiDaily(cityAqiDailies);
     }
 }
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java
index d4e3b4b..18ddf7c 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java
@@ -81,7 +81,7 @@
         Map<Integer, List<CityAqiMonthly>> lastMonthData = lastCityAqiMonthly.stream()
                 .collect(Collectors.groupingBy(CityAqiMonthly::getCityCode));
 
-
+        List<CityAqiMonthly> cityAqiMonthlyList = new ArrayList<>();
         CityAqiMonthly cityAqiMonthly = new CityAqiMonthly();
         data.forEach((cityCode, value) -> {
             Map<String, Object> jsonMap = new HashMap<>();
@@ -139,7 +139,8 @@
                 jsonMap.put("monthContrast", format);
             }
             cityAqiMonthly.setValue(JSONObject.toJSONString(jsonMap));
-            cityAqiMonthlyMapper.insert(cityAqiMonthly);
+            cityAqiMonthlyList.add(cityAqiMonthly);
         });
+        cityAqiMonthlyMapper.insertCityAqiMonthly(cityAqiMonthlyList);
     }
 }
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java
index 141b779..b76c55a 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java
@@ -23,6 +23,7 @@
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -70,6 +71,7 @@
         wrapper.select("city_code", "city_id").eq("is_delete", Constants.NOT_DELETE);
         List<CityConfigAqi> list = cityConfigAqiService.list(wrapper);
 
+        List<CityAqi> cityAqiList = new ArrayList<>();
         CityAqi cityAqi = new CityAqi();
         for (CityConfigAqi cityConfigAqi : list) {
             Integer cityCode = cityConfigAqi.getCityCode();
@@ -146,10 +148,11 @@
             cityAqi.setCityCode(cityCode);
             cityAqi.setTime(dataTime);
             cityAqi.setValue(JSONObject.toJSONString(aqi));
-            cityAqiMapper.insert(cityAqi);
+            cityAqiList.add(cityAqi);
             //������redis
             redisTemplate.opsForHash().put(RedisConstants.CITY_AQI, cityCode.toString(), aqi);
         }
+        cityAqiMapper.insertCityAqi(cityAqiList);
     }
 
     @Override
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java
index fbea9a0..d4a5204 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java
@@ -17,6 +17,7 @@
 import org.springframework.util.ObjectUtils;
 
 import java.text.DecimalFormat;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
@@ -50,7 +51,6 @@
          * SO2,NO2,���������98���������
          * O3���������������90���������
          * */
-        List<String> sensors = Arrays.asList("PM2_5", "PM10", "SO2", "NO2");
 
         //���������������������1���
         Date start = DateUtils.getFirstDayOfLastYear();
@@ -83,7 +83,7 @@
         Map<Integer, List<CityAqiYearly>> lastYearData = lastCityAqiYearly.stream()
                 .collect(Collectors.groupingBy(CityAqiYearly::getCityCode));
 
-
+        List<CityAqiYearly> cityAqiYearlyList = new ArrayList<>();
         CityAqiYearly cityAqiYearly = new CityAqiYearly();
         data.forEach((cityCode, value) -> {
             Map<String, Object> jsonMap = new HashMap<>();
@@ -129,7 +129,8 @@
                 jsonMap.put("yearContrast", format);
             }
             cityAqiYearly.setValue(JSONObject.toJSONString(jsonMap));
-            cityAqiYearlyMapper.insert(cityAqiYearly);
+            cityAqiYearlyList.add(cityAqiYearly);
         });
+        cityAqiYearlyMapper.insertCityAqiYearly(cityAqiYearlyList);
     }
 }
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/CityWeatherForecastServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/CityWeatherForecastServiceImpl.java
index aa43f1a..feb87a3 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/CityWeatherForecastServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/CityWeatherForecastServiceImpl.java
@@ -15,6 +15,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -47,6 +48,8 @@
         QueryWrapper<CityConfigWeatherForecast> wrapper = new QueryWrapper<>();
         wrapper.select("city_code", "location_id").eq("is_delete", Constants.NOT_DELETE);
         List<CityConfigWeatherForecast> list = cityConfigWeatherForecastService.list(wrapper);
+
+        List<CityWeatherForecast> cityWeatherForecasts = new ArrayList<>();
         CityWeatherForecast cityWeatherForecast = new CityWeatherForecast();
         for (CityConfigWeatherForecast cityConfigWeatherForecast : list) {
             Integer cityCode = cityConfigWeatherForecast.getCityCode();
@@ -61,9 +64,10 @@
                     cityWeatherForecast.setCityCode(cityCode);
                     cityWeatherForecast.setTime(DateUtils.getDate(hourTime, DateUtils.yyyy_MM_dd_HH_EN));
                     cityWeatherForecast.setValue(JSONObject.toJSONString(hourlyMap));
-                    cityWeatherForecastMapper.insert(cityWeatherForecast);
+                    cityWeatherForecasts.add(cityWeatherForecast);
                 }
             }
         }
+        cityWeatherForecastMapper.insertCityWeatherForecast(cityWeatherForecasts);
     }
 }
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/CityWeatherServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/CityWeatherServiceImpl.java
index 252c9db..f4420af 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/CityWeatherServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/CityWeatherServiceImpl.java
@@ -17,6 +17,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -50,6 +51,8 @@
         QueryWrapper<CityConfigWeather> wrapper = new QueryWrapper<>();
         wrapper.select("city_code", "location_id").eq("is_delete", Constants.NOT_DELETE);
         List<CityConfigWeather> list = cityConfigWeatherService.list(wrapper);
+
+        List<CityWeather> cityWeathers = new ArrayList<>();
         CityWeather cityWeather = new CityWeather();
         for (CityConfigWeather cityConfigWeather : list) {
             Integer cityCode = cityConfigWeather.getCityCode();
@@ -65,11 +68,12 @@
             cityWeather.setValue(JSONObject.toJSONString(now));
             Date time = DateUtils.dataToTimeStampTime(new Date(), DateUtils.yyyy_MM_dd_HH_EN);
             cityWeather.setTime(time);
-            //���������������
-            cityWeatherMapper.insert(cityWeather);
+            cityWeathers.add(cityWeather);
             //������redis
             redisTemplate.opsForHash().put(RedisConstants.CITY_WEATHER, String.valueOf(cityCode), now);
         }
+        cityWeatherMapper.insertCityWeather(cityWeathers);
+
     }
 
     @Override
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..2615ac9 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
@@ -57,7 +57,7 @@
     private CityAqiService cityAqiService;
 
     @Autowired
-    private ForecastService forecastService;
+    private ForecastMapper forecastMapper;
 
     private static final Map<String, Integer> weatherScore = new HashMap<>();
 
@@ -129,6 +129,7 @@
         //���������������������map
         Map<Date, List<Integer>> hours = DateUtils.getBeforeAndAfterHourDate(nextDay);
 
+        List<Forecast> forecastList = new ArrayList<>();
         Forecast forecast = new Forecast();
         Map<String, Object> forecastMap = new HashMap<>();
         for (Object obj : cityCodes) {
@@ -205,11 +206,11 @@
                 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) {
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java
index 80e1b89..25914b1 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java
@@ -25,6 +25,7 @@
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -69,6 +70,8 @@
         List<GovMonitorPoint> govMonitorPoints = govMonitorPointService.list(queryWrapper);
         Date time = DateUtils.dataToTimeStampTime(new Date(), DateUtils.yyyy_MM_dd_HH_EN);
         String timeStr = DateUtils.dateToDateString(time, DateUtils.yyyy_MM_dd_HH_mm_ss_EN);
+
+        List<HistoryAqi> historyAqis = new ArrayList<>();
         HistoryAqi historyAqi = new HistoryAqi();
         for (GovMonitorPoint govMonitorPoint : govMonitorPoints) {
             String guid = govMonitorPoint.getGuid();
@@ -89,7 +92,8 @@
             historyAqi.setTime(DateUtils.addHours(time, -1));
             //���������������
             historyAqi.setValue(JSONObject.toJSONString(map));
-            historyAqiMapper.insert(historyAqi);
+
+            historyAqis.add(historyAqi);
 
             Map<String, Object> value = new HashMap<>();
             Object pm2_5 = map.get("pm2_5");
@@ -125,6 +129,8 @@
             //aqi������������redis
             redisTemplate.opsForHash().put(RedisConstants.AQI_DATA, guid, value);
         }
+        //���������������
+        historyAqiMapper.insertHistoryAqi(historyAqis);
     }
 
     @Override
diff --git a/screen-job/src/main/resources/mapper/CityAqiDailyMapper.xml b/screen-job/src/main/resources/mapper/CityAqiDailyMapper.xml
index 212653b..dc72c50 100644
--- a/screen-job/src/main/resources/mapper/CityAqiDailyMapper.xml
+++ b/screen-job/src/main/resources/mapper/CityAqiDailyMapper.xml
@@ -9,4 +9,12 @@
         <result column="value" property="value"/>
     </resultMap>
 
+    <insert id="insertCityAqiDaily">
+        INSERT INTO city_aqi_daily
+        VALUES
+        <foreach collection="list" item="item" separator=",">
+            (#{item.cityCode},#{item.time},#{item.value})
+        </foreach>
+    </insert>
+
 </mapper>
\ No newline at end of file
diff --git a/screen-job/src/main/resources/mapper/CityAqiMapper.xml b/screen-job/src/main/resources/mapper/CityAqiMapper.xml
index 80e0138..fc38ebc 100644
--- a/screen-job/src/main/resources/mapper/CityAqiMapper.xml
+++ b/screen-job/src/main/resources/mapper/CityAqiMapper.xml
@@ -2,11 +2,18 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.moral.api.mapper.CityAqiMapper">
 
-        <!-- ������������������������ -->
-        <resultMap id="BaseResultMap" type="com.moral.api.entity.CityAqi">
-                    <result column="city_code" property="cityCode" />
-                    <result column="time" property="time" />
-                    <result column="value" property="value" />
-        </resultMap>
+    <!-- ������������������������ -->
+    <resultMap id="BaseResultMap" type="com.moral.api.entity.CityAqi">
+        <result column="city_code" property="cityCode"/>
+        <result column="time" property="time"/>
+        <result column="value" property="value"/>
+    </resultMap>
 
+    <insert id="insertCityAqi">
+        INSERT INTO city_aqi
+        VALUES
+        <foreach collection="list" item="item" separator=",">
+            (#{item.cityCode},#{item.time},#{item.value})
+        </foreach>
+    </insert>
 </mapper>
\ No newline at end of file
diff --git a/screen-job/src/main/resources/mapper/CityAqiMonthlyMapper.xml b/screen-job/src/main/resources/mapper/CityAqiMonthlyMapper.xml
index 3e471f9..1a77f44 100644
--- a/screen-job/src/main/resources/mapper/CityAqiMonthlyMapper.xml
+++ b/screen-job/src/main/resources/mapper/CityAqiMonthlyMapper.xml
@@ -2,11 +2,19 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.moral.api.mapper.CityAqiMonthlyMapper">
 
-        <!-- ������������������������ -->
-        <resultMap id="BaseResultMap" type="com.moral.api.entity.CityAqiMonthly">
-                    <result column="city_code" property="cityCode" />
-                    <result column="time" property="time" />
-                    <result column="value" property="value" />
-        </resultMap>
+    <!-- ������������������������ -->
+    <resultMap id="BaseResultMap" type="com.moral.api.entity.CityAqiMonthly">
+        <result column="city_code" property="cityCode"/>
+        <result column="time" property="time"/>
+        <result column="value" property="value"/>
+    </resultMap>
+
+    <insert id="insertCityAqiMonthly">
+        INSERT INTO city_aqi_monthly
+        VALUES
+        <foreach collection="list" item="item" separator=",">
+            (#{item.cityCode},#{item.time},#{item.value})
+        </foreach>
+    </insert>
 
 </mapper>
\ No newline at end of file
diff --git a/screen-job/src/main/resources/mapper/CityAqiYearlyMapper.xml b/screen-job/src/main/resources/mapper/CityAqiYearlyMapper.xml
index 63bf554..0dd3414 100644
--- a/screen-job/src/main/resources/mapper/CityAqiYearlyMapper.xml
+++ b/screen-job/src/main/resources/mapper/CityAqiYearlyMapper.xml
@@ -2,11 +2,19 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.moral.api.mapper.CityAqiYearlyMapper">
 
-        <!-- ������������������������ -->
-        <resultMap id="BaseResultMap" type="com.moral.api.entity.CityAqiYearly">
-                    <result column="city_code" property="cityCode" />
-                    <result column="time" property="time" />
-                    <result column="value" property="value" />
-        </resultMap>
+    <!-- ������������������������ -->
+    <resultMap id="BaseResultMap" type="com.moral.api.entity.CityAqiYearly">
+        <result column="city_code" property="cityCode"/>
+        <result column="time" property="time"/>
+        <result column="value" property="value"/>
+    </resultMap>
+
+    <insert id="insertCityAqiYearly">
+        INSERT INTO city_aqi_yearly
+        VALUES
+        <foreach collection="list" item="item" separator=",">
+            (#{item.cityCode},#{item.time},#{item.value})
+        </foreach>
+    </insert>
 
 </mapper>
\ No newline at end of file
diff --git a/screen-job/src/main/resources/mapper/CityWeatherForecastMapper.xml b/screen-job/src/main/resources/mapper/CityWeatherForecastMapper.xml
index 3e68ac0..8d1a565 100644
--- a/screen-job/src/main/resources/mapper/CityWeatherForecastMapper.xml
+++ b/screen-job/src/main/resources/mapper/CityWeatherForecastMapper.xml
@@ -9,4 +9,12 @@
         <result column="value" property="value"/>
     </resultMap>
 
+    <insert id="insertCityWeatherForecast">
+        INSERT INTO city_weather_forecast
+        VALUES
+        <foreach collection="list" item="item" separator=",">
+            (#{item.cityCode},#{item.time},#{item.value})
+        </foreach>
+    </insert>
+
 </mapper>
\ No newline at end of file
diff --git a/screen-job/src/main/resources/mapper/CityWeatherMapper.xml b/screen-job/src/main/resources/mapper/CityWeatherMapper.xml
index f643e71..539f05d 100644
--- a/screen-job/src/main/resources/mapper/CityWeatherMapper.xml
+++ b/screen-job/src/main/resources/mapper/CityWeatherMapper.xml
@@ -9,4 +9,12 @@
         <result column="value" property="value"/>
     </resultMap>
 
+    <insert id="insertCityWeather">
+        INSERT INTO city_weather
+        VALUES
+        <foreach collection="list" item="item" separator=",">
+            (#{item.cityCode},#{item.time},#{item.value})
+        </foreach>
+    </insert>
+
 </mapper>
\ No newline at end of file
diff --git a/screen-job/src/main/resources/mapper/ForecastMapper.xml b/screen-job/src/main/resources/mapper/ForecastMapper.xml
index 311b519..d15c34d 100644
--- a/screen-job/src/main/resources/mapper/ForecastMapper.xml
+++ b/screen-job/src/main/resources/mapper/ForecastMapper.xml
@@ -9,4 +9,12 @@
         <result column="value" property="value"/>
     </resultMap>
 
+    <insert id="insertForecast">
+        INSERT INTO forecast
+        VALUES
+        <foreach collection="list" item="item" separator=",">
+            (#{item.cityCode},#{item.time},#{item.value})
+        </foreach>
+    </insert>
+
 </mapper>
\ No newline at end of file
diff --git a/screen-job/src/main/resources/mapper/HistoryAqiMapper.xml b/screen-job/src/main/resources/mapper/HistoryAqiMapper.xml
index 24404de..5b5e0ef 100644
--- a/screen-job/src/main/resources/mapper/HistoryAqiMapper.xml
+++ b/screen-job/src/main/resources/mapper/HistoryAqiMapper.xml
@@ -9,4 +9,12 @@
         <result column="value" property="value"/>
     </resultMap>
 
+    <insert id="insertHistoryAqi">
+        INSERT INTO history_aqi
+        VALUES
+        <foreach collection="list" item="item" separator=",">
+            (#{item.guid},#{item.time},#{item.value})
+        </foreach>
+    </insert>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0