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