From beb40a62ce723b391964dab56de6aa0f98f50613 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 11 Mar 2022 15:08:25 +0800
Subject: [PATCH] city_aqi月,年数据定时任务修改,每日累计统计

---
 screen-job/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

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 cdda6d5..245369d 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
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.moral.api.entity.CityAqiDaily;
 import com.moral.api.entity.CityAqiYearly;
 import com.moral.api.mapper.CityAqiYearlyMapper;
@@ -18,7 +19,6 @@
 
 import java.text.DecimalFormat;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -59,6 +59,20 @@
         //���������������������1���
         Date end = DateUtils.getDate(DateUtils.getDateAddYear(DateUtils.dateToDateString(start, DateUtils.yyyy), 1), DateUtils.yyyy);
 
+        //���������1���1���������������������������
+        //������1���1���������������������������������������������������������
+        String monthAndDay = DateUtils.dateToDateString(new Date(), DateUtils.MM_dd_EN);
+        UpdateWrapper<CityAqiYearly> cityAqiYearlyUpdateWrapper = new UpdateWrapper<>();
+        if ("01-01".equals(monthAndDay)) {
+            cityAqiYearlyUpdateWrapper.eq("time", start);
+        } else {
+            start = end;
+            end = DateUtils.getDate(DateUtils.getDateAddYear(DateUtils.dateToDateString(start, DateUtils.yyyy), 1), DateUtils.yyyy);
+            lastLastYear = DateUtils.getDate(DateUtils.getDateAddYear(DateUtils.dateToDateString(start, DateUtils.yyyy), -1), DateUtils.yyyy);
+            cityAqiYearlyUpdateWrapper.eq("time", start);
+        }
+        cityAqiYearlyMapper.delete(cityAqiYearlyUpdateWrapper);
+
 
         //������������������aqi���������
         QueryWrapper<CityAqiDaily> wrapper = new QueryWrapper<>();
@@ -85,11 +99,12 @@
 
         List<CityAqiYearly> cityAqiYearlyList = new ArrayList<>();
 
+        Date finalStart = start;
         data.forEach((cityCode, value) -> {
             CityAqiYearly cityAqiYearly = new CityAqiYearly();
             Map<String, Object> jsonMap = new HashMap<>();
             cityAqiYearly.setCityCode(Integer.parseInt(cityCode));
-            cityAqiYearly.setTime(start);
+            cityAqiYearly.setTime(finalStart);
 
             //PM2.5
             Double pm25Avg = AmendUtils.getAvgOfYear(value, "PM2_5");

--
Gitblit v1.8.0