From 2b3c06ae70b16b83063158d092094619579a4d7b Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Tue, 27 Oct 2020 14:40:12 +0800 Subject: [PATCH] 风场更新 --- src/main/java/com/moral/service/impl/WeatherServiceImpl.java | 40 +++++++++++++++++++++++++++++++--------- 1 files changed, 31 insertions(+), 9 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..2a64f27 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))); + } } } } @@ -833,6 +842,19 @@ 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