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-common/src/main/java/com/moral/util/DateUtils.java | 4 ++++ screen-job/src/main/java/com/moral/api/service/impl/CityAqiMonthlyServiceImpl.java | 18 +++++++++++++++++- screen-job/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java | 19 +++++++++++++++++-- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/DateUtils.java b/screen-common/src/main/java/com/moral/util/DateUtils.java index 3699260..5de2f15 100644 --- a/screen-common/src/main/java/com/moral/util/DateUtils.java +++ b/screen-common/src/main/java/com/moral/util/DateUtils.java @@ -80,6 +80,10 @@ * ������������(yyyy-MM-dd HH) * */ public static final String yyyy_MM_dd_HH_EN = "yyyy-MM-dd HH"; + /* + * ������������(MM-dd) + * */ + public static final String MM_dd_EN = "MM-dd"; /* * Date���toString������ 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 b67eebf..1745e77 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 @@ -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.CityAqiMonthly; import com.moral.api.mapper.CityAqiMonthlyMapper; @@ -57,6 +58,20 @@ //���������������������1��� Date end = DateUtils.addMonths(start, 1); + //���������1������������������������������������ + //������1��������������������������������������������������������� + int day = DateUtils.getDay(new Date()); + UpdateWrapper<CityAqiMonthly> cityAqiMonthlyUpdateWrapper = new UpdateWrapper<>(); + if (day == 1) { + cityAqiMonthlyUpdateWrapper.eq("time", start); + } else { + start = end; + end = DateUtils.addMonths(start, 1); + lastLastMonth = DateUtils.addMonths(start, -1); + cityAqiMonthlyUpdateWrapper.eq("time", start); + } + cityAqiMonthlyMapper.delete(cityAqiMonthlyUpdateWrapper); + //������������������aqi������������ QueryWrapper<CityAqiDaily> wrapper = new QueryWrapper<>(); @@ -83,11 +98,12 @@ List<CityAqiMonthly> cityAqiMonthlyList = new ArrayList<>(); + Date finalStart = start; data.forEach((cityCode, value) -> { CityAqiMonthly cityAqiMonthly = new CityAqiMonthly(); Map<String, Object> jsonMap = new HashMap<>(); cityAqiMonthly.setCityCode(Integer.parseInt(cityCode)); - cityAqiMonthly.setTime(start); + cityAqiMonthly.setTime(finalStart); Map<String, Object> params = new HashMap<>(); List<Map<String, Object>> temp = new ArrayList<>(); 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