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