|  |  |  | 
|---|
|  |  |  | package com.moral.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.text.DecimalFormat; | 
|---|
|  |  |  | import java.text.ParseException; | 
|---|
|  |  |  | import java.text.SimpleDateFormat; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | 
|---|
|  |  |  | Calendar c = Calendar.getInstance(); | 
|---|
|  |  |  | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | 
|---|
|  |  |  | SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | 
|---|
|  |  |  | DecimalFormat df = new DecimalFormat("0.0"); | 
|---|
|  |  |  | c.add(Calendar.DAY_OF_MONTH, 1); | 
|---|
|  |  |  | String nextDay = sdf.format(c.getTime()); | 
|---|
|  |  |  | c.setTime(c.getTime()); | 
|---|
|  |  |  | 
|---|
|  |  |  | hashMap.put("parentCode", parentCode); | 
|---|
|  |  |  | hashSet.add(hashMap); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | nextDayList.remove(0); | 
|---|
|  |  |  | for (Map<String, Object> nextDayMap : nextDayList) { | 
|---|
|  |  |  | //风速km/h->m/s | 
|---|
|  |  |  | Double windSpeed = Double.valueOf(nextDayMap.get("windSpeed").toString()); | 
|---|
|  |  |  | windSpeed = windSpeed * 1000 / 3600; | 
|---|
|  |  |  | nextDayMap.put("windSpeed",df.format(windSpeed)); | 
|---|
|  |  |  | String text = nextDayMap.get("text").toString(); | 
|---|
|  |  |  | String condition = ""; | 
|---|
|  |  |  | if ("晴".equals(text)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | condition = "20"; | 
|---|
|  |  |  | } else if ("雨".equals(text)) { | 
|---|
|  |  |  | condition = "0"; | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | condition = "50"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | nextDayMap.put("condition", condition); | 
|---|
|  |  |  | 
|---|
|  |  |  | String nextDayTemp = dataMap.get("temp").toString(); | 
|---|
|  |  |  | String nextDayCloud = dataMap.get("cloud").toString(); | 
|---|
|  |  |  | Integer condition = Integer.valueOf(dataMap.get("condition").toString()); | 
|---|
|  |  |  | Integer value=0; | 
|---|
|  |  |  | Integer value = 0; | 
|---|
|  |  |  | if (condition >= 80) { | 
|---|
|  |  |  | value = 80; | 
|---|
|  |  |  | } else if (condition >= 40) { | 
|---|
|  |  |  | 
|---|
|  |  |  | Double b = Double.valueOf(cmap.get("b").toString()); | 
|---|
|  |  |  | double O3C = b * Double.valueOf(nextDayTemp) + a; | 
|---|
|  |  |  | if (O3C < 1.0) { | 
|---|
|  |  |  | O3C=1.0; | 
|---|
|  |  |  | O3C = 1.0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | dataMap.put("O3C", String.valueOf(Math.round(O3C))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | Double n = Double.valueOf(cmap.get("n").toString()); | 
|---|
|  |  |  | double beam = n * Double.valueOf(nextDayCloud) + m; | 
|---|
|  |  |  | if (beam < 1.0) { | 
|---|
|  |  |  | beam=0.0; | 
|---|
|  |  |  | beam = 0.0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | dataMap.put("beam", String.valueOf(Math.round(beam))); | 
|---|
|  |  |  | } | 
|---|