kaiyu
2021-11-03 01b5c9adfcc7b94469812edba7c2b1182a3a4c25
screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java
@@ -17,6 +17,7 @@
import com.moral.api.service.SysAreaService;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.pojo.AQI;
import com.moral.util.AQIUtils;
import com.moral.util.AmendUtils;
import com.moral.util.DateUtils;
@@ -122,9 +123,9 @@
        if (value == null)
            value = queryCityAqiByRegionCodeFromDB(regionCode);
        //根据AQI计算污染等级
        if (value == null || value.get("aqi") == null)
        if (value == null || value.get("AQI") == null)
            return null;
        Integer aqi = Integer.parseInt(value.get("aqi").toString());
        Integer aqi = Integer.parseInt(value.get("AQI").toString());
        String category = AQIUtils.classOfPollutionByAqi(aqi);
        value.put("category", category);
        return value;
@@ -172,7 +173,7 @@
                continue;
            }
            Map<String, Object> allDataMap = JSON.parseObject(allDataJson, Map.class);
            Object aqiData = allDataMap.get("aqi");
            Object aqiData = allDataMap.get("AQI");
            if (aqiData == null)
                result.put(key, "");
            else
@@ -195,7 +196,10 @@
        //计算平均数
        Map<String, Object> sixParamAvg = calculate6ParamAvg(cityAqis);
        //计算累计aqi和首要污染物
        Map<String, Object> result = AQIUtils.hourlyAqi_pollutant(sixParamAvg);
        Map<String, Object> result = new HashMap<>();
        AQI aqi = AQIUtils.hourlyAQI(sixParamAvg);
        result.put("aqi",aqi.getAQIValue());
        result.put("pollutant",aqi.getPrimaryPollutantNames());
        //结果集添加时间
        CityAqi lastCityAqi = cityAqis.get(cityAqis.size() - 1);
        String time = DateUtils.dateToDateString(lastCityAqi.getTime(), "HH:mm");
@@ -353,9 +357,11 @@
        sortByField(ranks, "aqi");
        //日排名结果
        Map<String, Object> dayMap = rankByField(ranks, cityCode, "aqi", cityCodes.size());
        if (!ObjectUtils.isEmpty(dayMap)) {
            dayMap.put("aqi", dayMap.remove("value"));
        if (ObjectUtils.isEmpty(dayMap)) {
            dayMap.put("rank", null);
            dayMap.put("size", null);
        }
        dayMap.put("aqi", dayMap.remove("value"));
        result.put("day", dayMap);
        //月排名,按累计综指排
@@ -363,9 +369,11 @@
        sortByField(ranks, "compositeIndexMonth");
        //月排名结果
        Map<String, Object> monthMap = rankByField(ranks, cityCode, "compositeIndexMonth", cityCodes.size());
        if (!ObjectUtils.isEmpty(monthMap)) {
            monthMap.put("compositeIndex", monthMap.remove("value"));
        if (ObjectUtils.isEmpty(monthMap)) {
            monthMap.put("rank", null);
            monthMap.put("size", null);
        }
        monthMap.put("compositeIndex", monthMap.remove("value"));
        result.put("month", monthMap);
        //年排名,按累计综指排
@@ -373,9 +381,11 @@
        //年排名结果
        sortByField(ranks, "compositeIndexYear");
        Map<String, Object> yearMap = rankByField(ranks, cityCode, "compositeIndexYear", cityCodes.size());
        if(!ObjectUtils.isEmpty(yearMap)){
            yearMap.put("compositeIndex", yearMap.remove("value"));
        if (ObjectUtils.isEmpty(yearMap)) {
            yearMap.put("rank", null);
            yearMap.put("size", null);
        }
        yearMap.put("compositeIndex", yearMap.remove("value"));
        result.put("year", yearMap);
        //时间,昨日