From d0fe2eb9cefc7e3bfdddc5fa66633057c42697fc Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Wed, 18 Nov 2020 14:39:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/moral/service/impl/WeatherServiceImpl.java | 71 +++++++++++++++++++++++++---------- 1 files changed, 50 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/moral/service/impl/WeatherServiceImpl.java b/src/main/java/com/moral/service/impl/WeatherServiceImpl.java index a370f6e..0991b8c 100644 --- a/src/main/java/com/moral/service/impl/WeatherServiceImpl.java +++ b/src/main/java/com/moral/service/impl/WeatherServiceImpl.java @@ -569,6 +569,7 @@ //������������ int x = 0; + parameters.put("cityCode", code); List<Map<String, Object>> realList = realWeatherMapper.getRealWeather(parameters); if (realList.size() == 0) { //1-23��������������������������������������������������������������������� @@ -670,7 +671,7 @@ listMap.put("city", name); String time1 = listMap.get("time").toString(); for (Map<String, Object> aqiMap : realAqilist) { - if(time1.equals(aqiMap.get("time"))){ + if (time1.equals(aqiMap.get("time"))) { listMap.putAll(aqiMap); } } @@ -797,20 +798,28 @@ if (rhour == nowHour) { Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap); - double v = value - Double.valueOf(sumO3Map.get("O3Sum").toString()); - resultMap.put("goodValue", v); + if (sumO3Map != null) { + double v = value - Double.valueOf(sumO3Map.get("O3Sum").toString()); + resultMap.put("goodValue", v); + } } else if (rhour == nowHour + 1) { Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap); - double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 2; - resultMap.put("goodValue", String.valueOf(Math.round(v))); + if (sumO3Map != null) { + double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 2; + resultMap.put("goodValue", String.valueOf(Math.round(v))); + } } else if (rhour == nowHour + 2) { Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap); - double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 3; - resultMap.put("goodValue", String.valueOf(Math.round(v))); + if (sumO3Map != null) { + double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 3; + resultMap.put("goodValue", String.valueOf(Math.round(v))); + } } else if (rhour == nowHour + 3) { Map<String, Object> sumO3Map = hangzhouAqiMapper.getSumO3(hashMap); - double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 4; - resultMap.put("goodValue", String.valueOf(Math.round(v))); + if (sumO3Map != null) { + double v = (value - Double.valueOf(sumO3Map.get("O3Sum").toString())) / 4; + resultMap.put("goodValue", String.valueOf(Math.round(v))); + } } } } @@ -818,19 +827,39 @@ //������������ Map<String, Object> geographyMap = shAreaMapper.getGeography(name); - for (Map<String, Object> map : resultList) { - double longitude = Double.valueOf(geographyMap.get("lng").toString()); - double latitude = Double.valueOf(geographyMap.get("lat").toString()); - map.put("longitude", df.format(longitude)); - map.put("latitude", df.format(latitude)); - if (geographyMap.get("altitude") != null) { - map.put("altitude", geographyMap.get("altitude").toString()); + if (geographyMap != null) { + for (Map<String, Object> map : resultList) { + if (geographyMap.get("lng") != null) { + double longitude = Double.valueOf(geographyMap.get("lng").toString()); + map.put("longitude", df.format(longitude)); + } + if (geographyMap.get("lat") != null) { + double latitude = Double.valueOf(geographyMap.get("lat").toString()); + map.put("latitude", df.format(latitude)); + } + if (geographyMap.get("altitude") != null) { + map.put("altitude", geographyMap.get("altitude").toString()); + } + if (geographyMap.get("vegetation") != null) { + map.put("vegetation", geographyMap.get("vegetation").toString()); + } + if (geographyMap.get("river") != null) { + map.put("river", geographyMap.get("river").toString()); + } } - if (geographyMap.get("vegetation") != null) { - map.put("vegetation", geographyMap.get("vegetation").toString()); - } - if (geographyMap.get("river") != null) { - map.put("river", geographyMap.get("river").toString()); + } + + for (int i = 0; i < resultList.size(); i = i + 2) { + Map<String, Object> foreMap = resultList.get(i); + Map<String, Object> realMap = resultList.get(i + 1); + if (foreMap.get("O3C") != null && realMap.get("O3C") != null) { + Double foreO3 = Double.valueOf(foreMap.get("O3C").toString()); + Double realO3 = Double.valueOf(realMap.get("O3C").toString()); + int round = (int) Math.round((realO3 - foreO3) / realO3 * 100); + if (round < 0) { + round = -round; + } + realMap.put("errorRate", round + "%"); } } return resultList; -- Gitblit v1.8.0