shilin пре 3 година
родитељ
комит
ff99cfc044
1 измењених фајлова са 245 додато и 0 уклоњено
  1. 245 0
      src/main/java/com/gyee/frame/service/weather/WeatherDay5Service.java

+ 245 - 0
src/main/java/com/gyee/frame/service/weather/WeatherDay5Service.java

@@ -0,0 +1,245 @@
+package com.gyee.frame.service.weather;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.gyee.frame.common.cache.RedisUtils;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.Line;
+import com.gyee.frame.model.auto.Project;
+import com.gyee.frame.model.auto.Windpowerstation;
+import com.gyee.frame.model.custom.weather.*;
+import com.gyee.frame.util.MathUtil;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+
+@Service
+public class WeatherDay5Service {
+
+	private final Integer DATABASE=2;
+	@Resource
+	private RedisUtils redisUtils;
+
+	public Map<String,Object> getWeatherRealDay5Info(String id)
+	{
+
+		Map<String,Object> result=new HashMap<>();
+		java.util.List<Map<String,Object>> lsmap=new ArrayList<>();
+
+
+		if(StringUtils.notEmp(id))
+		{
+
+			if (InitialRunner.wpmap.containsKey(id)) {
+				Windpowerstation wp = InitialRunner.wpmap.get(id);
+
+				id=wp.getId();
+
+
+			} else if (InitialRunner.pjmap.containsKey(id)) {
+				Project pj = InitialRunner.pjmap.get(id);
+				Windpowerstation wp = InitialRunner.wpmap.get(pj.getWindpowerstationid());
+				id=wp.getId();
+			} else if (InitialRunner.lnmap.containsKey(id)) {
+				Line ln = InitialRunner.lnmap.get(id);
+				Project pj = InitialRunner.pjmap.get(ln.getProjectid());
+				Windpowerstation wp = InitialRunner.wpmap.get(pj.getWindpowerstationid());
+				id=wp.getId();
+			}
+
+			String weatherStr =null;
+
+			switch(id) {
+				case "0" :
+					result.put("name","银川");
+					weatherStr = redisUtils.get("NX_QYGS_WEATHER_FORECAST",DATABASE);
+					break;
+				case "-1" :
+					result.put("name","银川");
+					weatherStr = redisUtils.get("NX_QYGS_WEATHER_FORECAST",DATABASE);
+					break;
+				case "-2" :
+					result.put("name","银川");
+					weatherStr = redisUtils.get("NX_QYGS_WEATHER_FORECAST",DATABASE);
+					break;
+				case "MHS_FDC" :
+					result.put("name","麻黄山");
+					weatherStr = redisUtils.get("MHS_FDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "NSS_FDC" :
+					result.put("name","牛首山");
+					weatherStr = redisUtils.get("NSS_FDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "QS_FDC" :
+					result.put("name","青山");
+					weatherStr = redisUtils.get("QS_FDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "SBQ_FDC" :
+					result.put("name","石板泉");
+					weatherStr = redisUtils.get("SBQ_FDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "XS_FDC" :
+					result.put("name","香山");
+					weatherStr = redisUtils.get("XS_FDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "DWK_GDC" :
+					result.put("name","大武口");
+					weatherStr = redisUtils.get("DWK_GDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "PL_GDC" :
+					result.put("name","平罗");
+					weatherStr = redisUtils.get("PL_GDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "XH_GDC" :
+					result.put("name","宣和");
+					weatherStr = redisUtils.get("XH_GDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "MCH_GDC" :
+					result.put("name","马场湖");
+					weatherStr = redisUtils.get("MCH_GDC_WEATHER_FORECAST",DATABASE);
+					break;
+				case "HZJ_GDC" :
+					result.put("name","海子井");
+					weatherStr = redisUtils.get("HZJ_GDC_WEATHER_FORECAST",DATABASE);
+					break;
+				default:
+					break;
+			}
+
+			if(StringUtils.notEmp(weatherStr))
+			{
+				JsonRootBean jsonRootBean = JSONObject.parseObject(weatherStr, new TypeReference<JsonRootBean>() {
+				});
+
+				if(null!=jsonRootBean && null!=jsonRootBean.getList() && !jsonRootBean.getList().isEmpty())
+				{
+
+					for(com.gyee.frame.model.custom.weather.List weatherReal:jsonRootBean.getList())
+					{
+						Map<String,Object> map=new HashMap<>();
+
+						double qxd=weatherReal.getVisibility();
+						map.put("qxd", MathUtil.twoBit(qxd/1000));
+
+						if(null!=weatherReal.getMain())
+						{
+							Main main=weatherReal.getMain();
+							map.put("wd",main.getTemp());
+							map.put("dqyl",main.getPressure());
+							map.put("sd",main.getHumidity());
+
+						}
+
+
+						if(null!=weatherReal.getWind())
+						{
+							Wind wind=weatherReal.getWind();
+							map.put("fs",wind.getSpeed());
+
+							if(StringUtils.notEmp(wind.getDeg()))
+							{
+								double fx=wind.getDeg();
+
+								map.put("fx",fx);
+//								if(fx>= 11.25 && fx<= 348.76)
+//								{
+//									map.put("fx","北");
+//								}else if(fx>= 33.76 && fx<= 56.25)
+//								{
+//									map.put("fx","东北");
+//								}else if(fx>= 78.76 && fx<= 101.25)
+//								{
+//									map.put("fx","东");
+//								}else if(fx>= 123.76 && fx<= 146.25)
+//								{
+//									map.put("fx","东南");
+//								}else if(fx>= 168.76 && fx<= 191.25)
+//								{
+//									map.put("fx","南");
+//								}else if(fx>= 213.76 && fx<= 236.25)
+//								{
+//									map.put("fx","西南");
+//								}else if(fx>= 258.76 && fx<= 281.25)
+//								{
+//									map.put("fx","西");
+//								}else if(fx>= 303.76 && fx<= 326.25)
+//								{
+//									map.put("fx","西北");
+//								}
+
+							}
+
+						}
+
+						if(null!=weatherReal.getWeather() && !weatherReal.getWeather().isEmpty())
+						{
+							Weather weather=weatherReal.getWeather().get(0);
+
+							String icon=weather.getIcon();
+
+							if (StringUtils.notEmp(icon))
+							{
+								if(icon.equals("01d") || icon.equals("01n"))
+								{
+									map.put("tqmc","晴");
+									map.put("tqtp","01");
+								}else if(icon.equals("02d") || icon.equals("02n"))
+								{
+									map.put("tqmc","少云");
+									map.put("tqtp","02");
+								}else if(icon.equals("03d") || icon.equals("03n"))
+								{
+									map.put("tqmc","多云");
+									map.put("tqtp","06");
+								}else if(icon.equals("04d") || icon.equals("04n"))
+								{
+									map.put("tqmc","阴");
+									map.put("tqtp","07");
+								}else if(icon.equals("09d") || icon.equals("09n"))
+								{
+									map.put("tqmc","阵雨");
+									map.put("tqtp","13");
+								}else if(icon.equals("10d") || icon.equals("10n"))
+								{
+									map.put("tqmc","雨");
+									map.put("tqtp","18");
+								}else if(icon.equals("11d") || icon.equals("11n"))
+								{
+									map.put("tqmc","雷雨");
+									map.put("tqtp","15");
+								}else if(icon.equals("13d") || icon.equals("13n"))
+								{
+									map.put("tqmc","雪");
+									map.put("tqtp","19");
+								}else if(icon.equals("50d") || icon.equals("50n"))
+								{
+									map.put("tqmc","雾");
+									map.put("tqtp","32");
+								}else
+								{
+									map.put("description","晴");
+									map.put("tqtp","01");
+								}
+
+							}
+						}
+
+						lsmap.add(map);
+					}
+
+				}
+			}
+
+		}
+
+		result.put("ls",lsmap);
+		return  result;
+	}
+
+
+}