From f694728af353dcf32e270c0b1b27d81ba76fecd8 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 21 Sep 2020 10:51:51 +0800
Subject: [PATCH] update
---
src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java | 78 +++++++++++++++++++++++++++------------
1 files changed, 54 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java b/src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java
index f3b7ec1..579fab6 100644
--- a/src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/RealWeatherServiceImpl.java
@@ -54,44 +54,65 @@
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date now=sdf1.parse(sdf.format(c.getTime())+":00:00");
+ Date now = sdf1.parse(sdf.format(c.getTime()) + ":00:00");
RestTemplate restTemplate = new RestTemplate();
List<MonitorPoint> monitorPointList = monitorPointMapper.getMonitorPointList();
Set<Map<String, Object>> hashSet = new HashSet<>();
- List<Map<String, Object>> resultList = new ArrayList<>();
for (MonitorPoint monitorPoint : monitorPointList) {
- Map<String, Object> hashMap1 = new HashMap<>();
Map<String, Object> hashMap = new HashMap<>();
Integer areaCode = monitorPoint.getAreaCode();
Integer cityCode = monitorPoint.getCityCode();
Integer provinceCode = monitorPoint.getProvinceCode();
String parentName = "";
String name1 = "";
+ Integer code = 0;
if (areaCode != null) {
Area area = areaMapper.getAreaByAreaCode(areaCode);
City city = cityMapper.getCityByCityCode(cityCode);
name1 = area.getAreaName();
parentName = city.getCityName();
+ code = areaCode;
if ("���������".equals(name1)) {
name1 = parentName;
parentName = provinceMapper.getProvinceByProvinceCode(provinceCode).getProvinceName();
+ code = cityCode;
}
} else {
City city = cityMapper.getCityByCityCode(cityCode);
name1 = city.getCityName();
parentName = provinceMapper.getProvinceByProvinceCode(provinceCode).getProvinceName();
+ code = cityCode;
if ("���������".equals(name1)) {
name1 = parentName;
parentName = "";
+ code = provinceCode;
}
}
hashMap.put("name1", name1);
hashMap.put("parentName", parentName);
+ hashMap.put("cityCode", code);
hashSet.add(hashMap);
- hashMap1.put("monitorPointId", monitorPoint.getId());
- hashMap1.put("name", name1);
- resultList.add(hashMap1);
}
+
+ Map<String, Object> smap = new HashMap<>();
+ smap.put("name1", "���������");
+ smap.put("parentName", "���������");
+ smap.put("cityCode", 320500);
+ smap.put("parentCode", 320000);
+ hashSet.add(smap);
+
+ Map<String, Object> bmap = new HashMap<>();
+ bmap.put("name1", "���������");
+ bmap.put("parentName", "���������");
+ bmap.put("cityCode", 110000);
+ bmap.put("parentCode", 110000);
+ hashSet.add(bmap);
+ Map<String,Object> kunShanMap=new HashMap<>();
+ kunShanMap.put("name1","���������");
+ kunShanMap.put("parentName","���������");
+ kunShanMap.put("cityCode",320500);
+ hashSet.add(kunShanMap);
+
List<Element> elements = Dom4jUtils.readDocument();
String cityID = "101190404";
for (Map<String, Object> map : hashSet) {
@@ -116,36 +137,45 @@
}
}
}
-
+ int count = 0;
for (Map<String, Object> map : hashSet) {
String id = map.get("cityID").toString();
Map<String, Object> dataMap = restTemplate.getForObject("https://api.heweather.net/v7/weather/now?key=da05c6c4852d4f7aa3364a9236ee9e26&gzip=n&location={1}", Map.class, id);
if (dataMap == null) {
- dataMap = new HashMap<>();
+ return count;
}
String json = JSONObject.toJSONString(dataMap);
dataMap = (Map<String, Object>) JSONObject.parse(json);
Map<String, Object> nowMap = (Map<String, Object>) dataMap.get("now");
- map.put("data",nowMap);
+ map.put("data", nowMap);
}
- for (Map<String, Object> resultMap : resultList) {
- Map<String,Object> jsonMap=new HashMap<>();
- for (Map<String, Object> hashMap : hashSet) {
- if(hashMap.get("name1").equals(resultMap.get("name"))){
- Map<String, Object> map = (Map<String, Object>) hashMap.get("data");
- map.remove("obsTime");
- map.remove("icon");
- resultMap.put("time",now);
- jsonMap.putAll(map);
- resultMap.put("json",JSONObject.toJSONString(jsonMap));
- }
+ 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> jsonMap = (Map<String, Object>) map.get("data");
+ 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");
}
+ resultMap.put("json",JSONObject.toJSONString(jsonMap));
+ resultList.add(resultMap);
}
-
- for (Map<String, Object> map : resultList) {
- map.remove("name");
- }
+ realWeatherMapper.deleteRealWeather(sdf1.format(now));
return realWeatherMapper.insertRealWeather(resultList);
}
}
--
Gitblit v1.8.0