From 85dba01ea5021d83487c3ed2d60706f516a0774b Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 05 Jan 2022 14:40:28 +0800
Subject: [PATCH] 贡献率数据格式修改
---
screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java | 41 ++++++++++++++++++++++++++++-------------
1 files changed, 28 insertions(+), 13 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 8a3048c..536f9f5 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;
@@ -152,6 +167,8 @@
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);
@@ -223,7 +240,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 +254,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)) {
@@ -754,7 +771,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 +825,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 +843,7 @@
}
@Override
- public Map<String, Object> provincialRanking(Integer organizationId) {
+ public Map<String, Object> provincialRanking(Integer regionCode) {
//���������
Map<String, Object> result = new HashMap<>();
@@ -835,10 +852,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);
@@ -920,8 +937,6 @@
result.put("month", monthMap);
//������������������������������
- sortByField(ranks, "compositeIndexYear");
- //���������������
sortByField(ranks, "compositeIndexYear");
Map<String, Object> yearMap = rankByField(ranks, cityCode, "compositeIndexYear", cityCodes.size());
if (ObjectUtils.isEmpty(yearMap)) {
--
Gitblit v1.8.0