| | |
| | | Map<String, Object> value = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.CITY_AQI, String.valueOf(regionCode)); |
| | | if (value == null) |
| | | value = queryCityAqiByRegionCodeFromDB(regionCode); |
| | | //如果地区码是县级市则转换到市级在进行查询 |
| | | if (value == null) { |
| | | String regionCodeStr = String.valueOf(regionCode); |
| | | String end = regionCodeStr.substring(regionCodeStr.length() - 2, regionCodeStr.length()); |
| | | if (!end.equals(00)) { |
| | | regionCodeStr = regionCodeStr.substring(0, regionCodeStr.length() - 2); |
| | | regionCodeStr += "00"; |
| | | regionCode = Integer.parseInt(regionCodeStr); |
| | | value = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.CITY_AQI, String.valueOf(regionCode)); |
| | | if (value == null) |
| | | value = queryCityAqiByRegionCodeFromDB(regionCode); |
| | | }else{ |
| | | return null; |
| | | } |
| | | } |
| | | //根据AQI计算污染等级 |
| | | if (value == null || value.get("AQI") == null) |
| | | return null; |
| | |
| | | lastDataWrapper.orderByDesc("time"); |
| | | lastDataWrapper.last(true, "limit 1"); |
| | | CityAqi cityAqi = cityAqiMapper.selectOne(lastDataWrapper); |
| | | if(cityAqi==null) |
| | | return null; |
| | | //算出前24小时的时间点 |
| | | Date endDate = cityAqi.getTime(); |
| | | Date startDate = DateUtils.addHours(endDate, -23); |
| | |
| | | /** |
| | | * @Description: 计算6参平均值 |
| | | * @Param: [cityAqiList] |
| | | * @return: java.util.Map<java.lang.String, java.lang.Double> |
| | | * @return: java.util.Map<java.lang.String , java.lang.Double> |
| | | * 返回值key为sensorCode,value为值 |
| | | * @Author: 陈凯裕 |
| | | * @Date: 2021/11/2 |
| | |
| | | /** |
| | | * @Description: 从数据库查询数据 |
| | | * @Param: [regionCode] |
| | | * @return: java.util.Map<java.lang.String, java.lang.Object> |
| | | * @return: java.util.Map<java.lang.String , java.lang.Object> |
| | | * @Author: 陈凯裕 |
| | | * @Date: 2021/10/28 |
| | | */ |
| | |
| | | result.put("month", monthMap); |
| | | |
| | | //年排名,按累计综指排 |
| | | sortByField(ranks, "compositeIndexYear"); |
| | | //年排名结果 |
| | | sortByField(ranks, "compositeIndexYear"); |
| | | Map<String, Object> yearMap = rankByField(ranks, cityCode, "compositeIndexYear", cityCodes.size()); |
| | | if (ObjectUtils.isEmpty(yearMap)) { |