From 994d4b65f78e5121680de31b14161003620d746e Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 16 Nov 2022 10:45:22 +0800 Subject: [PATCH] 修改张家港国控站数据 --- screen-job/src/main/java/com/moral/api/service/impl/HistoryAqiServiceImpl.java | 183 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 136 insertions(+), 47 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 312d895..9901531 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 @@ -25,6 +25,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 +55,8 @@ @Autowired private RedisTemplate redisTemplate; + + //���������aqi���������������������������������������������������������API--��������������� @Override @Transactional public void insertHistoryAqi() { @@ -69,58 +72,144 @@ 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); + + 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"); 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); + }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); } - 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.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