From 21ce462f92abbaff092ce6adf49a3ee555bd0121 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 22 Mar 2022 13:08:50 +0800 Subject: [PATCH] city_aqi_monthly月数据增加6参和综指同比计算 --- screen-job/src/main/java/com/moral/api/service/impl/CityAqiYearlyServiceImpl.java | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 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 fbea9a0..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; @@ -17,7 +18,7 @@ import org.springframework.util.ObjectUtils; import java.text.DecimalFormat; -import java.util.Arrays; +import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -50,7 +51,6 @@ * SO2,NO2,���������98��������� * O3���������������90��������� * */ - List<String> sensors = Arrays.asList("PM2_5", "PM10", "SO2", "NO2"); //���������������������1��� Date start = DateUtils.getFirstDayOfLastYear(); @@ -58,6 +58,20 @@ Date lastLastYear = DateUtils.getDate(DateUtils.getDateAddYear(DateUtils.dateToDateString(start, DateUtils.yyyy), -1), DateUtils.yyyy); //���������������������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��������� @@ -83,12 +97,14 @@ Map<Integer, List<CityAqiYearly>> lastYearData = lastCityAqiYearly.stream() .collect(Collectors.groupingBy(CityAqiYearly::getCityCode)); + List<CityAqiYearly> cityAqiYearlyList = new ArrayList<>(); - CityAqiYearly cityAqiYearly = new CityAqiYearly(); + 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"); @@ -129,7 +145,8 @@ jsonMap.put("yearContrast", format); } cityAqiYearly.setValue(JSONObject.toJSONString(jsonMap)); - cityAqiYearlyMapper.insert(cityAqiYearly); + cityAqiYearlyList.add(cityAqiYearly); }); + cityAqiYearlyMapper.insertCityAqiYearly(cityAqiYearlyList); } } -- Gitblit v1.8.0