From 48bb075f91c5daf35cff0a16abe1136f132aafb4 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 28 Sep 2020 15:40:26 +0800 Subject: [PATCH] 不同天气给定不同分数 --- src/main/java/com/moral/mapper/AQIMapper.java | 2 + src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java | 57 +++++++++++++++++++--------- src/main/java/com/moral/service/impl/ForecastWeatherServiceImpl.java | 23 ++++++++++- src/main/java/com/moral/mapper/HistoryMapper.java | 1 src/main/resources/mapper/AQIMapper.xml | 8 ++++ src/main/resources/mapper/HistoryHourlyMapper.xml | 4 +- 6 files changed, 72 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/moral/mapper/AQIMapper.java b/src/main/java/com/moral/mapper/AQIMapper.java index 0fba3fa..39572f1 100644 --- a/src/main/java/com/moral/mapper/AQIMapper.java +++ b/src/main/java/com/moral/mapper/AQIMapper.java @@ -11,4 +11,6 @@ List<Map<String,Object>> getO3(Map<String,Object> params); + List<Map<String,Object>> getAqiByHour(Map<String,Object> params); + } diff --git a/src/main/java/com/moral/mapper/HistoryMapper.java b/src/main/java/com/moral/mapper/HistoryMapper.java index 94d535e..07beec2 100644 --- a/src/main/java/com/moral/mapper/HistoryMapper.java +++ b/src/main/java/com/moral/mapper/HistoryMapper.java @@ -32,4 +32,5 @@ int deleteHistoryData(String oldTime); void deletePartition(@Param("p") String p); + } \ No newline at end of file diff --git a/src/main/java/com/moral/service/impl/ForecastWeatherServiceImpl.java b/src/main/java/com/moral/service/impl/ForecastWeatherServiceImpl.java index bbe110c..4e3457b 100644 --- a/src/main/java/com/moral/service/impl/ForecastWeatherServiceImpl.java +++ b/src/main/java/com/moral/service/impl/ForecastWeatherServiceImpl.java @@ -198,15 +198,32 @@ String condition = ""; if ("���".equals(text)) { condition = "100"; + } else if ("���".equals(text)) { + condition = "90"; } else if ("������".equals(text)) { condition = "80"; - } else if ("���".equals(text)) { + } else if ("���".equals(text)) { + condition = "70"; + } else if ("���".equals(text) || "������".equals(text) || "������".equals(text) || "".equals(text)) { condition = "60"; - } else if ("���������".equals(text) || "������".equals(text)) { + } else if ("������".equals(text)) { + condition = "45"; + } else if ("���������".equals(text)) { condition = "40"; + } else if ("������������������".equals(text) || "���������������".equals(text)) { + condition = "30"; } else if ("������".equals(text)) { condition = "20"; } else if ("���".equals(text)) { + condition = "10"; + } else if ("������������������".equals(text)) { + condition = "5"; + } else if ("������������������".equals(text)) { + condition = "4"; + } else if ("������".equals(text) || "������".equals(text) || "������".equals(text) + || "������".equals(text) || "������".equals(text) || "������".equals(text) + || "���������".equals(text) || "���������������������������".equals(text) || "������".equals(text) + ) { condition = "0"; } else { condition = "50"; @@ -273,7 +290,7 @@ map1.put("times", times); map1.put("time", hour); List<Map<String, Object>> O3List = new ArrayList<>(); - List<Map<String, Object>> beamList=new ArrayList<>(); + List<Map<String, Object>> beamList = new ArrayList<>(); if (times.size() != 0) { O3List = aqiMapper.getO3(map1); if (O3List.size() == 0) { diff --git a/src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java b/src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java index 23dfa16..8dac48c 100644 --- a/src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java +++ b/src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java @@ -147,34 +147,55 @@ map.put("data", nowMap); } - List<Map<String,Object>> resultList=new ArrayList<>(); + List<Map<String, Object>> resultList = new ArrayList<>(); for (Map<String, Object> map : hashSet) { - Map<String,Object> resultMap=new HashMap<>(); - resultMap.put("cityCode",map.get("cityCode").toString()); - resultMap.put("time",now); + Map<String, Object> resultMap = new HashMap<>(); + resultMap.put("cityCode", map.get("cityCode").toString()); + resultMap.put("time", now); Map<String, Object> jsonMap = (Map<String, Object>) map.get("data"); //������km/h->m/s Double windSpeed = Double.valueOf(jsonMap.get("windSpeed").toString()); windSpeed = windSpeed * 1000 / 3600; - jsonMap.put("windSpeed",df.format(windSpeed)); + jsonMap.put("windSpeed", df.format(windSpeed)); jsonMap.remove("obsTime"); jsonMap.remove("icon"); String text = jsonMap.get("text").toString(); - if(text.equals("���")){ - jsonMap.put("condition","100"); - }else if(text.equals("������")){ - jsonMap.put("condition","80"); - }else if(text.equals("���")){ - jsonMap.put("condition","60"); - }else if(text.equals("���������")||text.equals("������")){ - jsonMap.put("condition","40"); - }else if(text.equals("������")){ - jsonMap.put("condition","20"); - }else if(text.equals("���")){ - jsonMap.put("condition","0"); + String condition; + if ("���".equals(text)) { + condition = "100"; + } else if ("���".equals(text)) { + condition = "90"; + } else if ("������".equals(text)) { + condition = "80"; + } else if ("���".equals(text)) { + condition = "70"; + } else if ("���".equals(text) || "������".equals(text) || "������".equals(text) || "".equals(text)) { + condition = "60"; + } else if ("������".equals(text)) { + condition = "45"; + } else if ("���������".equals(text)) { + condition = "40"; + } else if ("������������������".equals(text) || "���������������".equals(text)) { + condition = "30"; + } else if ("������".equals(text)) { + condition = "20"; + } else if ("���".equals(text)) { + condition = "10"; + } else if ("������������������".equals(text)) { + condition = "5"; + } else if ("������������������".equals(text)) { + condition = "4"; + } else if ("������".equals(text) || "������".equals(text) || "������".equals(text) + || "������".equals(text) || "������".equals(text) || "������".equals(text) + || "���������".equals(text) || "���������������������������".equals(text)||"������".equals(text) + ) { + condition = "0"; + } else { + condition = "50"; } - resultMap.put("json",JSONObject.toJSONString(jsonMap)); + jsonMap.put("condition",condition); + resultMap.put("json", JSONObject.toJSONString(jsonMap)); resultList.add(resultMap); } realWeatherMapper.deleteRealWeather(sdf1.format(now)); diff --git a/src/main/resources/mapper/AQIMapper.xml b/src/main/resources/mapper/AQIMapper.xml index 54d35f5..48c605f 100644 --- a/src/main/resources/mapper/AQIMapper.xml +++ b/src/main/resources/mapper/AQIMapper.xml @@ -23,4 +23,12 @@ #{time} </foreach> </select> + + <select id="getAqiByHour" resultType="java.util.Map"> + select DATE_FORMAT(time, '%Y-%m-%d %H:%i:%s') time, + value + from history_aqi_${timeUnits} + where city_code=#{cityCode} + and DATE_FORMAT(time, '%Y%H')=#{yearAndHour} + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/HistoryHourlyMapper.xml b/src/main/resources/mapper/HistoryHourlyMapper.xml index cf4fc42..ef5edec 100644 --- a/src/main/resources/mapper/HistoryHourlyMapper.xml +++ b/src/main/resources/mapper/HistoryHourlyMapper.xml @@ -68,7 +68,8 @@ DATE_FORMAT(h.time,#{typeFormat}) time, avg(h.json->'$.e12[0]') 'beam' FROM history_hourly h - WHERE h.mac in + WHERE h.json->'$.e12[0]' is not null + and h.mac in <foreach collection="macs" open="(" separator="," close=")" item="mac"> #{mac} </foreach> @@ -76,7 +77,6 @@ <foreach collection="times" open="(" separator="," close=")" item="time"> #{time} </foreach> - and h.json->'$.e12[0]' is not null group by h.time </select> -- Gitblit v1.8.0