From 009c553b99fa6a6b7aeaa6a6115ab1c6a90669d2 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Tue, 15 Mar 2022 14:52:37 +0800
Subject: [PATCH] 修改环比数据接口数据格式
---
screen-api/src/main/java/com/moral/api/service/CityAqiService.java | 2
screen-api/src/main/java/com/moral/api/controller/AqiController.java | 4 +-
screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++-----------
3 files changed, 71 insertions(+), 25 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/controller/AqiController.java b/screen-api/src/main/java/com/moral/api/controller/AqiController.java
index fdfeaca..9ae3583 100644
--- a/screen-api/src/main/java/com/moral/api/controller/AqiController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/AqiController.java
@@ -311,8 +311,8 @@
return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
}
- List<Map<String, Object>> resultList = cityAqiService.momData(regionCode, size, current, orgId);
- return ResultMessage.ok(resultList);
+ Map<String, Object> result = cityAqiService.momData(regionCode, size, current, orgId);
+ return ResultMessage.ok(result);
}
}
diff --git a/screen-api/src/main/java/com/moral/api/service/CityAqiService.java b/screen-api/src/main/java/com/moral/api/service/CityAqiService.java
index 832ef00..6c79694 100644
--- a/screen-api/src/main/java/com/moral/api/service/CityAqiService.java
+++ b/screen-api/src/main/java/com/moral/api/service/CityAqiService.java
@@ -71,5 +71,5 @@
*@Author: lizijie
*@Date: 2022/3/10 15:49
**/
- List<Map<String,Object>> momData(Integer regionCode, Integer size, Integer current, Integer orgId);
+ Map<String,Object> momData(Integer regionCode, Integer size, Integer current, Integer orgId);
}
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 a701188..6676552 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
@@ -1007,11 +1007,16 @@
//������������
@Override
- public List<Map<String, Object>> momData(Integer regionCode, Integer size, Integer current, Integer orgId) {
+ public Map<String, Object> momData(Integer regionCode, Integer size, Integer current, Integer orgId) {
+ Map<String,Object> result = new HashMap<>();
Page<CityAqi> page = new Page<>(current, size);
Page<CityAqi> pageNext = new Page<>(current+1, size);
QueryWrapper<CityAqi> cityAqiQueryWrapper = new QueryWrapper<>();
cityAqiQueryWrapper.eq("city_code",regionCode);
+ Integer count = cityAqiMapper.selectCount(cityAqiQueryWrapper);
+ if (count==0){
+ return result;
+ }
cityAqiQueryWrapper.orderByDesc("time");
Page<CityAqi> resultPage = cityAqiMapper.selectPage(page, cityAqiQueryWrapper);
List<CityAqi> cityAqiList = resultPage.getRecords();
@@ -1019,7 +1024,7 @@
List<CityAqi> cityAqiListNext = resultPageNext.getRecords();
List<Map<String,Object>> resultList = new ArrayList<>();
if (cityAqiList.size()==0){
- return resultList;
+ return result;
}
for (int i=0; i<cityAqiList.size(); i++) {
Map<String,Object> resultMap = new HashMap<>();
@@ -1175,36 +1180,64 @@
}
resultMap.put("time",time.substring(0,13));
resultMap.put("title","���"+hour+"������������������");
- resultMap.put("info",hour+"������������AQI���"+AQI+"������������"+AQIIndex+"������"+previousHour+"������������PM10���"+PM10+"������/������������"+PM10_change+"���PM2_5���"+PM2_5+"������/������������"+PM2_5_change+"���TVOC���������"+TVOC+"������/������������O3���"+O3+"������/������������"+O3_change+"���");
+ String PM2_5_string = subZeroAndDot(PM2_5.toString());
+ String PM10_string = subZeroAndDot(PM10.toString());
+ String O3_string = subZeroAndDot(O3.toString());
+ String PM2_5_change_string = subZeroAndDot(PM2_5_change.toString());
+ String PM10_change_string = subZeroAndDot(PM10_change.toString());
+ String O3_change_string = subZeroAndDot(O3_change.toString());
+ resultMap.put("info",hour+"������������AQI���"+AQI+"������������"+AQIIndex+"������"+previousHour+"������������PM10���"+PM10_string+"������/������������"+PM10_change_string+"���PM2.5���"+PM2_5_string+"������/������������"+PM2_5_change_string+"���TVOC���������"+String.format("%.2f", TVOC)+"������/������������O3���"+O3_string+"������/������������"+O3_change_string+"���");
QueryWrapper<CityWeather> cityWeatherQueryWrapper = new QueryWrapper<>();
cityWeatherQueryWrapper.eq("city_code",regionCode);
cityWeatherQueryWrapper.eq("time",cityAqiList.get(i).getTime());
CityWeather cityWeather = cityWeatherService.getOne(cityWeatherQueryWrapper);
- Double temp = null;
- Double humidity = null;
- String windDir = null;
+ Integer temp = null;
+ Integer humidity = null;
+ String windDir = "";
Integer windScale = null;
- String cityWeatherValue = cityWeather.getValue();
- if (!ObjectUtils.isEmpty(cityWeatherValue)){
- JSONObject jsonObject = JSONObject.parseObject(cityWeatherValue);
- if (!ObjectUtils.isEmpty(jsonObject.get("temp"))){
- temp = Double.parseDouble(jsonObject.get("temp").toString());
- }
- if (!ObjectUtils.isEmpty(jsonObject.get("humidity"))){
- humidity = Double.parseDouble(jsonObject.get("humidity").toString());
- }
- if (!ObjectUtils.isEmpty(jsonObject.get("windDir"))){
- windDir = jsonObject.get("windDir").toString();
- }
- if (!ObjectUtils.isEmpty(jsonObject.get("windScale"))){
- windScale = Integer.parseInt(jsonObject.get("windScale").toString());
+ if (!ObjectUtils.isEmpty(cityWeather)){
+ String cityWeatherValue = cityWeather.getValue();
+ if (!ObjectUtils.isEmpty(cityWeatherValue)){
+ JSONObject jsonObject = JSONObject.parseObject(cityWeatherValue);
+ if (!ObjectUtils.isEmpty(jsonObject.get("temp"))){
+ temp = Integer.parseInt(jsonObject.get("temp").toString());
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("humidity"))){
+ humidity = Integer.parseInt(jsonObject.get("humidity").toString());
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("windDir"))){
+ windDir = jsonObject.get("windDir").toString();
+ }
+ if (!ObjectUtils.isEmpty(jsonObject.get("windScale"))){
+ windScale = Integer.parseInt(jsonObject.get("windScale").toString());
+ }
}
}
- resultMap.put("weatherCondition","���������������������������"+temp+"������������"+humidity+"%,"+windDir+windScale+"������");
+ String temp_string = "";
+ if (temp!=null){
+ temp_string = temp.toString();
+ }
+ String humidity_string = "";
+ if (humidity!=null){
+ humidity_string = humidity.toString();
+ }
+ String windScale_string = "";
+ if (windScale!=null){
+ windScale_string = windScale.toString();
+ }
+ resultMap.put("weatherCondition","���������������������������"+temp_string+"������������"+humidity_string+"%,"+windDir+windScale_string+"������");
resultMap.put("auther","���������������������������");
resultList.add(resultMap);
}
- return resultList;
+ result.put("totel",count);
+ result.put("resultList",resultList);
+ result.put("current",current);
+ int totalPageNumber = count/size;
+ if(count%size != 0){
+ totalPageNumber += 1;
+ }
+ result.put("totalPageNumber",totalPageNumber);
+ return result;
}
/**
@@ -1414,4 +1447,17 @@
Double avg = MathUtils.division(sum, num, 2);
return avg;
}
+
+ /**
+ * ������java������������������������������.���0
+ * @param s
+ * @return
+ */
+ public static String subZeroAndDot(String s){
+ if(s.indexOf(".") > 0){
+ s = s.replaceAll("0+?$", "");//���������������0
+ s = s.replaceAll("[.]$", "");//������������������.���������
+ }
+ return s;
+ }
}
--
Gitblit v1.8.0