From 8bf855c04a807a9fbca86844bbfc30273d8d383e Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 07 Sep 2020 11:45:57 +0800 Subject: [PATCH] update --- src/main/java/com/moral/service/impl/WeatherServiceImpl.java | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/moral/service/impl/WeatherServiceImpl.java b/src/main/java/com/moral/service/impl/WeatherServiceImpl.java index 667a819..11efcb7 100644 --- a/src/main/java/com/moral/service/impl/WeatherServiceImpl.java +++ b/src/main/java/com/moral/service/impl/WeatherServiceImpl.java @@ -10,11 +10,13 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; +import org.apache.jasper.compiler.JspUtil; import org.dom4j.Element; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -283,6 +285,9 @@ @Override public List<Map<String, Object>> getWeatherData(Map<String, Object> parameters) throws ParseException { parameters.put("typeFormat", "%Y-%m-%d %H:%i:%s"); + if (parameters.get("city") == null) { + return new ArrayList<Map<String, Object>>(); + } String cityName = parameters.get("city").toString(); Area area = areaMapper.getAreaByName(cityName); Integer code; @@ -307,6 +312,7 @@ String time = parameters.get("time").toString(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH"); Date now = new Date(); Date selectTime = sdf1.parse(time + " 01:00:00"); Calendar cal = Calendar.getInstance(); @@ -320,6 +326,7 @@ parameters.put("end", end); Integer fcode = 0; List<Map<String, Object>> forecastList = forecastWeatherMapper.getForecast(parameters); + if (forecastList.size() == 0) { List<Area> areaList = areaMapper.getAreaByCityCode(code); for (Area area1 : areaList) { @@ -410,6 +417,9 @@ } String ac = parameters.get("cityCode").toString(); + if(name.equals("���������")){ + ac="130900"; + } List<Map<String, Object>> aqiList = hangzhouAqiMapper.getAqi(parameters); if (aqiList.size() == 0) { parameters.put("cityCode", code); @@ -458,8 +468,8 @@ } else { params.put("areaCode", Integer.valueOf(ac)); } - List<MonitorPoint> monitorList = monitorPointMapper.getMonitorList(params); + List<MonitorPoint> monitorList = monitorPointMapper.getMonitorList(params); List<Integer> pointList = new ArrayList<>(); for (MonitorPoint point : monitorList) { Integer pointId = point.getId(); @@ -584,6 +594,16 @@ List<Map<String, Object>> resultList = new ArrayList<>(); + if (foreList.size() == 0) { + for (Map<String, Object> map : realWeatherList) { + Map<String,Object> hashMap=new LinkedHashMap<>(); + hashMap.put("time",map.get("time").toString()); + hashMap.put("type","������"); + hashMap.put("city",map.get("city").toString()); + foreList.add(hashMap); + } + } + for (Map<String, Object> foreMap : foreList) { for (Map<String, Object> realMap : list) { if (foreMap.get("time").equals(realMap.get("time"))) { @@ -657,8 +677,8 @@ if (nowMinute >= 46) { nowHour = nowHour + 1; cal.setTime(now); - cal.add(Calendar.HOUR_OF_DAY,1); - format=sdf1.format(cal.getTime()).substring(0, 13) + ":00:00"; + cal.add(Calendar.HOUR_OF_DAY, 1); + format = sdf1.format(cal.getTime()).substring(0, 13) + ":00:00"; } for (Map<String, Object> resultMap : resultList) { @@ -776,4 +796,6 @@ } } + + } -- Gitblit v1.8.0