From 8f5416a1e507fe24c151648982e391fead13ffdd Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 02 Nov 2021 15:57:22 +0800
Subject: [PATCH] 省内倒数排名增加time字段
---
screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java | 70 ++++++++++++++++++++--------------
1 files changed, 41 insertions(+), 29 deletions(-)
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 e1f7902..1f91041 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
@@ -10,6 +10,9 @@
import com.moral.api.service.CityConfigService;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
+import com.moral.util.AQIUtils;
+import com.moral.util.AmendUtils;
+import com.moral.util.ComprehensiveIndexUtils;
import com.moral.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -20,9 +23,9 @@
import org.springframework.web.client.RestTemplate;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
/**
* <p>
@@ -47,6 +50,9 @@
@Autowired
private RedisTemplate redisTemplate;
+ @Autowired
+
+
@Override
public void insertCityAqi() {
//������������������
@@ -55,7 +61,7 @@
List<CityConfig> list = cityConfigService.list(wrapper);
Date time = DateUtils.dataToTimeStampTime(new Date(), DateUtils.yyyy_MM_dd_HH_EN);
for (CityConfig cityConfig : list) {
- String cityCode = cityConfig.getCityCode();
+ Integer cityCode = cityConfig.getCityCode();
Map<String, Object> data;
try {
//������������������������������
@@ -77,39 +83,45 @@
aqi.put("co", aqi.remove("coC"));
aqi.put("o3", aqi.remove("o3C"));
aqi.put("aqi", aqi.remove("value"));
+
+ //o3���������������
+ //���������������������������o3������
+ QueryWrapper<CityAqi> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("time", "value").eq("city_code", cityCode);
+ List<Map<String, Object>> cityAqis = cityAqiMapper.selectMaps(queryWrapper);
+ List<Map<String, Object>> o3_8H = AmendUtils.getO3_8H(cityAqis);
+ if (!ObjectUtils.isEmpty(o3_8H)) {
+ for (Map<String, Object> o3Map : o3_8H) {
+ String hourTime = o3Map.get("time").toString();
+ if (DateUtils.dateToDateString(time, DateUtils.yyyy_MM_dd_HH_mm_ss_EN).equals(hourTime)) {
+ o3Map.get("o3");
+ aqi.put("o3_8h", o3Map.get("o3"));
+ break;
+ }
+ }
+ }
+
+ //������������������
+ Map<String, Object> temp = new HashMap<>(aqi);
+ temp.put("o3", temp.get("o3_8h"));
+ Double compositeIndex = ComprehensiveIndexUtils.dailyData(temp);
+ aqi.put("compositeIndex", compositeIndex);
+
+
+ //���������������������
+ Map<String, Object> pollutant = AQIUtils.cityAqiPollutant(aqi);
+ if (!ObjectUtils.isEmpty(pollutant)) {
+ aqi.putAll(pollutant);
+ }
+
+
CityAqi cityAqi = new CityAqi();
cityAqi.setCityCode(cityCode);
cityAqi.setTime(time);
cityAqi.setValue(JSONObject.toJSONString(aqi));
cityAqiMapper.insert(cityAqi);
//������redis
- redisTemplate.opsForHash().put(RedisConstants.CITY_AQI, cityCode, aqi);
+ redisTemplate.opsForHash().put(RedisConstants.CITY_AQI, cityCode.toString(), aqi);
}
- }
-
- @Override
- public void insertCityAqiDaily() {
- String format = DateUtils.yyyy_MM_dd_EN;
- Date now = new Date();
- //���������������������
- Date start = DateUtils.dataToTimeStampTime(DateUtils.getDateOfDay(now, -1), format);
- //���������������������
- Date end = DateUtils.dataToTimeStampTime(now, format);
- //������������������aqi������������
- QueryWrapper<CityAqi> wrapper = new QueryWrapper<>();
- wrapper.select("city_code", "value")
- .ge("time", DateUtils.dateToDateString(start))
- .lt("time", DateUtils.dateToDateString(end));
- List<Map<String, Object>> dailyData = cityAqiMapper.selectMaps(wrapper);
-
- if (dailyData.size() == 0) {
- return;
- }
- //���city_code������
- Map<String, List<Map<String, Object>>> data = dailyData.parallelStream().collect(Collectors.groupingBy(o -> (String) o.get("city_code")));
- data.forEach((cityCode, value) -> {
-
- });
-
}
}
--
Gitblit v1.8.0