| | |
| | | |
| | | @Override |
| | | public void insertCityAqi() { |
| | | //pubtime=08的数据,是07-08之间的数据,存入数据库时的时间为07点 |
| | | Date now = new Date(); |
| | | Date time = DateUtils.dataToTimeStampTime(now, DateUtils.yyyy_MM_dd_HH_EN); |
| | | |
| | | //存入数据库是time字段实际时间 |
| | | Date dataTime = DateUtils.addHours(time, -1); |
| | | Date start = null; |
| | | if (DateUtils.getHour(time) == 0 || DateUtils.getHour(time) >= 8) { |
| | | start = DateUtils.addHours(time, -7); |
| | | if (DateUtils.getHour(time) >= 8) { |
| | | start = DateUtils.addHours(time, -8); |
| | | } |
| | | |
| | | //获取城市配置 |
| | |
| | | |
| | | Map<String, Object> map = (Map<String, Object>) data.get("data"); |
| | | Map<String, Object> aqi = (Map<String, Object>) map.get("aqi"); |
| | | aqi.put("PM2_5", aqi.remove("pm25C")); |
| | | aqi.remove("pm25"); |
| | | aqi.remove("pm10"); |
| | | aqi.remove("so2"); |
| | | aqi.remove("no2"); |
| | | aqi.remove("co"); |
| | | aqi.remove("o3"); |
| | | |
| | | aqi.put("PM2_5", aqi.remove("pm25C")); |
| | | aqi.put("PM10", aqi.remove("pm10C")); |
| | | aqi.put("SO2", aqi.remove("so2C")); |
| | | aqi.put("NO2", aqi.remove("no2C")); |
| | |
| | | .ge("time", DateUtils.dateToDateString(start)); |
| | | List<Map<String, Object>> cityAqis = cityAqiMapper.selectMaps(queryWrapper); |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("time", DateUtils.dateToDateString(time, DateUtils.yyyy_MM_dd_HH_mm_ss_S_EN)); |
| | | params.put("time", DateUtils.dateToDateString(dataTime, DateUtils.yyyy_MM_dd_HH_mm_ss_S_EN)); |
| | | params.put("value", JSONObject.toJSONString(aqi)); |
| | | cityAqis.add(params); |
| | | if (cityAqis.size() >= 6) { |
| | |
| | | sixParamMap.put(Constants.SENSOR_CODE_CO, aqi.get("CO")); |
| | | sixParamMap.put(Constants.SENSOR_CODE_O3, aqi.get("O3")); |
| | | AQI aqiAndPollutant = AQIUtils.hourlyAQI(sixParamMap); |
| | | if (!ObjectUtils.isEmpty(aqiAndPollutant.getPrimaryPollutantNames())) { |
| | | aqi.put("primaryPollutant", aqiAndPollutant.getPrimaryPollutantNames()); |
| | | } |
| | | aqi.put("primaryPollutant", aqiAndPollutant.getPrimaryPollutantNames()); |
| | | |
| | | |
| | | CityAqi cityAqi = new CityAqi(); |
| | | cityAqi.setCityCode(cityCode); |
| | | cityAqi.setTime(time); |
| | | cityAqi.setTime(dataTime); |
| | | cityAqi.setValue(JSONObject.toJSONString(aqi)); |
| | | cityAqiMapper.insert(cityAqi); |
| | | //存入redis |