src/main/java/com/moral/mapper/AQIMapper.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/mapper/HistoryMapper.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/service/impl/ForecastWeatherServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/AQIMapper.xml | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/HistoryHourlyMapper.xml | ●●●●● patch | view | raw | blame | history |
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); } src/main/java/com/moral/mapper/HistoryMapper.java
@@ -32,4 +32,5 @@ int deleteHistoryData(String oldTime); void deletePartition(@Param("p") String p); } 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) { 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)); 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> 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>