From 1f46b7a18e34656baf965fa6627130ef59d14156 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 30 Dec 2021 13:26:07 +0800 Subject: [PATCH] 区域贡献率收据格式修改 --- screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java | 49 +++++++++++++++++++++++++++++++------------------ 1 files changed, 31 insertions(+), 18 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java index eb93995..8bfb783 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java @@ -135,6 +135,21 @@ 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; @@ -176,10 +191,10 @@ //������������������������ cityAqis.sort(Comparator.comparing(CityAqi::getTime)); } - //������������������,map���key���HH:mm������������������value���aqi��������� + //������������������,map���key���yyyy-MM-dd HH:mm������������������value���aqi��������� Map<String, Object> result = new LinkedHashMap<>(); for (CityAqi aqi : cityAqis) { - String key = DateUtils.dateToDateString(aqi.getTime(), "HH:mm"); + String key = DateUtils.dateToDateString(aqi.getTime(), "yyyy-MM-dd HH:mm"); String allDataJson = aqi.getValue(); if (allDataJson == null) { result.put(key, ""); @@ -223,7 +238,7 @@ @Override public List<Map<String, Object>> rankingDetails(Map<String, Object> params) { List<Map<String, Object>> result = new ArrayList<>(); - int orgId = Integer.parseInt(params.get("organizationId").toString()); + int regionCode = Integer.parseInt(params.get("regionCode").toString()); String type = params.get("type").toString(); String time = null; if (!ObjectUtils.isEmpty(params.get("time"))) { @@ -237,10 +252,10 @@ } String cityType = params.get("cityType").toString(); - //���������,���code - Organization organization = organizationService.getById(orgId); - Integer curProvinceCode = organization.getProvinceCode(); - Integer curCityCode = organization.getCityCode(); + String s = String.valueOf(regionCode); + //���������������,���code + Integer curProvinceCode = Integer.parseInt(s.substring(0, 2) + "0000"); + Integer curCityCode = Integer.parseInt(s.substring(0, 4) + "00"); QueryWrapper<SysArea> areaWrapper = new QueryWrapper<>(); if ("province".equals(cityType)) { @@ -349,7 +364,7 @@ List<String> primaryPollutantNames = aqi.getPrimaryPollutantNames(); String primaryPollutant = ""; if (!ObjectUtils.isEmpty(primaryPollutantNames)) { - primaryPollutant = primaryPollutantNames.toString().replace("[", "").replace("]", ""); + primaryPollutant = primaryPollutantNames.stream().map(String::valueOf).collect(Collectors.joining(",")); } dataMap.put("primaryPollutant", primaryPollutant); @@ -387,7 +402,7 @@ List<String> primaryPollutantNames = (List<String>) value.get("primaryPollutant"); String primaryPollutant = ""; if (!ObjectUtils.isEmpty(primaryPollutantNames)) { - primaryPollutant = primaryPollutantNames.toString().replace("[", "").replace("]", ""); + primaryPollutant = primaryPollutantNames.stream().map(String::valueOf).collect(Collectors.joining(",")); } value.put("primaryPollutant", primaryPollutant); value.remove("pubtime"); @@ -414,7 +429,7 @@ List<String> primaryPollutantNames = (List<String>) value.get("primaryPollutant"); String primaryPollutant = ""; if (!ObjectUtils.isEmpty(primaryPollutantNames)) { - primaryPollutant = primaryPollutantNames.toString().replace("[", "").replace("]", ""); + primaryPollutant = primaryPollutantNames.stream().map(String::valueOf).collect(Collectors.joining(",")); } value.put("primaryPollutant", primaryPollutant); //��������� @@ -754,7 +769,7 @@ /** * @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 @@ -808,7 +823,7 @@ /** * @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 */ @@ -826,7 +841,7 @@ } @Override - public Map<String, Object> provincialRanking(Integer organizationId) { + public Map<String, Object> provincialRanking(Integer regionCode) { //��������� Map<String, Object> result = new HashMap<>(); @@ -835,10 +850,10 @@ Date yesterday = DateUtils.dataToTimeStampTime(DateUtils.getDateOfDay(now, -1), DateUtils.yyyy_MM_dd_EN); String dateString = DateUtils.dateToDateString(yesterday, DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + String s = String.valueOf(regionCode); //���������,���code - Organization organization = organizationService.getById(organizationId); - Integer provinceCode = organization.getProvinceCode(); - Integer cityCode = organization.getCityCode(); + Integer provinceCode = Integer.parseInt(s.substring(0, 2) + "0000"); + Integer cityCode = Integer.parseInt(s.substring(0, 4) + "00"); //������������������city_code QueryWrapper<SysArea> wrapper = new QueryWrapper<>(); wrapper.select("area_code").eq("parent_code", provinceCode); @@ -966,6 +981,4 @@ } return result; } - - } -- Gitblit v1.8.0