From 43c631ad573535f4434caf19423824d4bd3f8ca7 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Wed, 19 Jul 2023 13:09:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java | 198 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 148 insertions(+), 50 deletions(-)
diff --git a/screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java b/screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java
index 2a0e2c1..e092f70 100644
--- a/screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java
+++ b/screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java
@@ -11,6 +11,7 @@
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.util.DateUtils;
+import com.xxl.job.core.context.XxlJobHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -25,6 +26,7 @@
import org.springframework.util.ObjectUtils;
import org.springframework.web.client.RestTemplate;
+import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -54,6 +56,8 @@
@Autowired
private RedisTemplate redisTemplate;
+
+ //���������aqi���������������������������������������������������������API--���������������
@Override
@Transactional
public void insertHistoryAqi() {
@@ -69,61 +73,155 @@
List<GovMonitorPoint> govMonitorPoints = govMonitorPointService.list(queryWrapper);
Date time = DateUtils.dataToTimeStampTime(new Date(), DateUtils.yyyy_MM_dd_HH_EN);
String timeStr = DateUtils.dateToDateString(time, DateUtils.yyyy_MM_dd_HH_mm_ss_EN);
+// String timeStr = DateUtils.dateToDateString(DateUtils.addHours(time, -1), DateUtils.yyyy_MM_dd_HH_mm_ss_EN);
+
+ List<HistoryAqi> historyAqis = new ArrayList<>();
+
for (GovMonitorPoint govMonitorPoint : govMonitorPoints) {
- String guid = govMonitorPoint.getGuid();
- ResponseEntity<String> response;
- try {
- //������������������������������
- response = restTemplate.exchange("http://chinair.market.alicloudapi.com/api/v1/air_all/station_realtime?guid={1}&pubtime={2}", HttpMethod.GET, requestEntity, String.class, guid, timeStr);
- } catch (Exception e) {
- continue;
- }
- String body = response.getBody();
- Map<String, Object> data = JSONObject.parseObject(body, Map.class);
- Map<String, Object> map = (Map<String, Object>) data.get("data");
- if (ObjectUtils.isEmpty(map)) {
- continue;
- }
HistoryAqi historyAqi = new HistoryAqi();
- historyAqi.setGuid(guid);
- historyAqi.setTime(time);
- //���������������
- historyAqi.setValue(JSONObject.toJSONString(map));
- historyAqiMapper.insert(historyAqi);
+ String guid = govMonitorPoint.getGuid();
+ if (guid.equals("f42092ed-cdf3-4ddc-a56f-0ac80a560847") || guid.equals("cedf9934-f3b0-499d-81cd-a17a109aa100")) {
- Map<String, Object> value = new HashMap<>();
- Object pm2_5 = map.get("pm2_5");
- Object pm10 = map.get("pm10");
- Object so2 = map.get("so2");
- Object no2 = map.get("no2");
- Object co = map.get("co");
- Object o3 = map.get("o3");
- if (!ObjectUtils.isEmpty(pm2_5)) {
- value.put(Constants.SENSOR_CODE_PM25, pm2_5);
+ ResponseEntity<String> response;
+ try {
+ //������������������������������
+ response = restTemplate.exchange("http://chinair.market.alicloudapi.com/api/v1/air_all/station_realtime?guid={1}&pubtime={2}", HttpMethod.GET, requestEntity, String.class, "525d6346-f6c9-40e2-b3b6-a86fb7c85855", timeStr);
+ } catch (Exception e) {
+ continue;
+ }
+ String body = response.getBody();
+ Map<String, Object> data = JSONObject.parseObject(body, Map.class);
+ Map<String, Object> map = (Map<String, Object>) data.get("data");
+ if (ObjectUtils.isEmpty(map)) {
+ continue;
+ }
+ historyAqi.setGuid(guid);
+ historyAqi.setTime(DateUtils.addHours(time, -1));
+ //���������������
+ historyAqi.setValue(JSONObject.toJSONString(map));
+
+ historyAqis.add(historyAqi);
+
+ Map<String, Object> value = new HashMap<>();
+ Object pm2_5 = map.get("pm2_5");
+ Object pm10 = map.get("pm10");
+ Object so2 = map.get("so2");
+ Object no2 = map.get("no2");
+ Object co = map.get("co");
+ Object o3 = map.get("o3");
+ if (!ObjectUtils.isEmpty(pm2_5)) {
+ value.put(Constants.SENSOR_CODE_PM25, pm2_5);
+ }
+
+ if (!ObjectUtils.isEmpty(pm10)) {
+ value.put(Constants.SENSOR_CODE_PM10, pm10);
+ }
+
+ if (!ObjectUtils.isEmpty(so2)) {
+ value.put(Constants.SENSOR_CODE_SO2, so2);
+ }
+
+ if (!ObjectUtils.isEmpty(no2)) {
+ value.put(Constants.SENSOR_CODE_NO2, no2);
+ }
+
+ if (!ObjectUtils.isEmpty(co)) {
+ value.put(Constants.SENSOR_CODE_CO, Double.parseDouble(co.toString()));
+ }
+
+ if (!ObjectUtils.isEmpty(o3)) {
+ value.put(Constants.SENSOR_CODE_O3, o3);
+ }
+
+
+ //aqi������������redis
+ redisTemplate.opsForHash().put(RedisConstants.AQI_DATA, guid, value);
+
+// historyAqiMapper.insert(historyAqi);
+
+
+ }else {
+ ResponseEntity<String> response;
+ try {
+ //������������������������������
+ response = restTemplate.exchange("http://chinair.market.alicloudapi.com/api/v1/air_all/station_realtime?guid={1}&pubtime={2}", HttpMethod.GET, requestEntity, String.class, guid, timeStr);
+ } catch (Exception e) {
+ continue;
+ }
+ String body = response.getBody();
+ Map<String, Object> data = JSONObject.parseObject(body, Map.class);
+ Map<String, Object> map = (Map<String, Object>) data.get("data");
+ if (ObjectUtils.isEmpty(map)) {
+ continue;
+ }
+ historyAqi.setGuid(guid);
+ historyAqi.setTime(DateUtils.addHours(time, -1));
+ //���������������
+ historyAqi.setValue(JSONObject.toJSONString(map));
+
+ historyAqis.add(historyAqi);
+
+ Map<String, Object> value = new HashMap<>();
+ Object pm2_5 = map.get("pm2_5");
+ Object pm10 = map.get("pm10");
+ Object so2 = map.get("so2");
+ Object no2 = map.get("no2");
+ Object co = map.get("co");
+ Object o3 = map.get("o3");
+ if (!ObjectUtils.isEmpty(pm2_5)) {
+ value.put(Constants.SENSOR_CODE_PM25, pm2_5);
+ }
+
+ if (!ObjectUtils.isEmpty(pm10)) {
+ value.put(Constants.SENSOR_CODE_PM10, pm10);
+ }
+
+ if (!ObjectUtils.isEmpty(so2)) {
+ value.put(Constants.SENSOR_CODE_SO2, so2);
+ }
+
+ if (!ObjectUtils.isEmpty(no2)) {
+ value.put(Constants.SENSOR_CODE_NO2, no2);
+ }
+
+ if (!ObjectUtils.isEmpty(co)) {
+ value.put(Constants.SENSOR_CODE_CO, Double.parseDouble(co.toString()));
+ }
+
+ if (!ObjectUtils.isEmpty(o3)) {
+ value.put(Constants.SENSOR_CODE_O3, o3);
+ }
+
+ //aqi������������redis
+ redisTemplate.opsForHash().put(RedisConstants.AQI_DATA, guid, value);
+// historyAqiMapper.insert(historyAqi);
+
}
- if (!ObjectUtils.isEmpty(pm10)) {
- value.put(Constants.SENSOR_CODE_PM10, pm10);
- }
-
- if (!ObjectUtils.isEmpty(so2)) {
- value.put(Constants.SENSOR_CODE_SO2, so2);
- }
-
- if (!ObjectUtils.isEmpty(no2)) {
- value.put(Constants.SENSOR_CODE_NO2, no2);
- }
-
- if (!ObjectUtils.isEmpty(co)) {
- value.put(Constants.SENSOR_CODE_CO, Double.parseDouble(co.toString()));
- }
-
- if (!ObjectUtils.isEmpty(o3)) {
- value.put(Constants.SENSOR_CODE_O3, o3);
- }
-
- //aqi������������redis
- redisTemplate.opsForHash().put(RedisConstants.AQI_DATA, guid, value);
}
+ if (ObjectUtils.isEmpty(historyAqis)){
+ XxlJobHelper.log("���������������");
+ }
+ //���������������
+ historyAqiMapper.insertHistoryAqi(historyAqis);
+ }
+
+ @Override
+ public HistoryAqi getHistoryApiByTimeAndGuid(String guid, String time) {
+ QueryWrapper<HistoryAqi> wrapper_historyAqi = new QueryWrapper<>();
+ wrapper_historyAqi.eq("guid", guid).eq("time", time);
+ HistoryAqi historyAqi = new HistoryAqi();
+ if (historyAqiMapper.selectCount(wrapper_historyAqi) == 1) {
+ historyAqi = historyAqiMapper.selectOne(wrapper_historyAqi);
+ }
+ return historyAqi;
+ }
+
+ @Override
+ public List<HistoryAqi> getHistoryAqi() {
+ String time = DateUtils.getDateStringOfHour(-1, DateUtils.yyyy_MM_dd_HH_EN) + ":00:00";
+ QueryWrapper<HistoryAqi> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("time", time);
+ return historyAqiMapper.selectList(queryWrapper);
}
}
--
Gitblit v1.8.0