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/impl/CityAqiServiceImpl.java | 91 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 69 insertions(+), 22 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 958c499..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<>(); @@ -1173,37 +1178,66 @@ } } } + 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; } /** @@ -1413,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