ÎļþÃû´Ó igds-basic/src/main/java/com/ld/igds/timer/WeatherScheduled.java ÐÞ¸Ä |
| | |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.converter.StringHttpMessageConverter; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.ArrayList; |
| | |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class WeatherScheduled { |
| | | public class WeatherTimerService { |
| | | |
| | | @Resource(name = NotifyWeatherService.BEAN_ID) |
| | | private NotifyWeatherService notifyService; |
| | |
| | | /** |
| | | * 宿¶è·åæ°è±¡ä¿¡æ¯ï¼è¯·æ³¨æï¼ç±äºæ°è±¡æ¯æå¤ç½åèªå®ä¹æ°è±¡ç«ï¼ç³»ç»é»è®¤åªæ§è¡å
¶ä¸ä¸ç§æ¹å¼ |
| | | */ |
| | | @Scheduled(cron = "0 0/30 * * * ?") |
| | | public void scheduled() { |
| | | public void doExe() { |
| | | |
| | | log.info("===========================ç³»ç»å®æ¶è·è·åæ°è±¡ä¿¡æ¯======================"); |
| | | |
| | |
| | | private void getWeatherByRkV30(Date date, WeatherConf conf) { |
| | | |
| | | //è¥ç¨æ·ãå¯ç ãIPå°åæä¸ä¸ºç©ºåè¿å |
| | | if(StringUtils.isEmpty(conf.getAccount()) |
| | | if (StringUtils.isEmpty(conf.getAccount()) |
| | | || StringUtils.isEmpty(conf.getPassword()) |
| | | || StringUtils.isEmpty(conf.getIp())){ |
| | | || StringUtils.isEmpty(conf.getIp())) { |
| | | return; |
| | | } |
| | | |
| | |
| | | String body = ans.getBody(); |
| | | log.debug("-----å½å建大ä»ç§å¹³å°è·åæ°è±¡ä¿¡æ¯-----ï¼è¿åæ°æ®={}", body); |
| | | RkResult response = JSONObject.parseObject(body, RkResult.class); |
| | | if(StringUtils.isEmpty(response.getCode()) || !"1000".equals(response.getCode())){ |
| | | if (StringUtils.isEmpty(response.getCode()) || !"1000".equals(response.getCode())) { |
| | | log.error("å½å建大ä»ç§å¹³å°è·åæ°è±¡ä¿¡æ¯å¤±è´¥......"); |
| | | return; |
| | | } |
| | | List<JSONObject> result = JSON.parseArray(JSONObject.toJSONString(response.getData()), JSONObject.class); |
| | | |
| | | JSONArray lists = (JSONArray)result.get(0).get("dataItem"); |
| | | JSONArray lists = (JSONArray) result.get(0).get("dataItem"); |
| | | List<RkDto> list = JSON.parseArray(JSONObject.toJSONString(lists), RkDto.class); |
| | | if(null == list || list.isEmpty()){ |
| | | if (null == list || list.isEmpty()) { |
| | | return; |
| | | } |
| | | WeatherInfo info = new WeatherInfo(); |
| | |
| | | //æ ¹æ®å°å夿é项 |
| | | for (RkDto rkDto : list) { |
| | | //温湿度 |
| | | if("11".equals(rkDto.getNodeId())){ |
| | | if ("11".equals(rkDto.getNodeId())) { |
| | | dataList = rkDto.getRegisterItem(); |
| | | for (RkData rkData : dataList) { |
| | | //温度 |
| | | if("1".equals(rkData.getRegisterId())){ |
| | | if ("1".equals(rkData.getRegisterId())) { |
| | | info.setTemp(rkData.getData()); |
| | | } |
| | | //湿度 |
| | | if("2".equals(rkData.getRegisterId())){ |
| | | if ("2".equals(rkData.getRegisterId())) { |
| | | info.setHumidity(rkData.getData()); |
| | | } |
| | | } |
| | | } |
| | | //é£åé£é |
| | | if("1".equals(rkDto.getNodeId())){ |
| | | if ("1".equals(rkDto.getNodeId())) { |
| | | dataList = rkDto.getRegisterItem(); |
| | | for (RkData rkData : dataList) { |
| | | //é£å |
| | | if("1".equals(rkData.getRegisterId())){ |
| | | if ("1".equals(rkData.getRegisterId())) { |
| | | info.setWindSpeed(rkData.getData() + "级"); |
| | | } |
| | | //é£é |
| | | if("2".equals(rkData.getRegisterId())){ |
| | | if ("2".equals(rkData.getRegisterId())) { |
| | | info.setWindMeter(rkData.getData()); |
| | | } |
| | | } |
| | | } |
| | | //é£å |
| | | if("2".equals(rkDto.getNodeId())){ |
| | | if ("2".equals(rkDto.getNodeId())) { |
| | | dataList = rkDto.getRegisterItem(); |
| | | for (RkData rkData : dataList) { |
| | | //é£å |
| | | if("1".equals(rkData.getRegisterId())){ |
| | | if ("1".equals(rkData.getRegisterId())) { |
| | | info.setWindDirection(rkData.getData()); |
| | | } |
| | | } |
| | | } |
| | | //大æ°å |
| | | if("14".equals(rkDto.getNodeId())){ |
| | | if ("14".equals(rkDto.getNodeId())) { |
| | | dataList = rkDto.getRegisterItem(); |
| | | for (RkData rkData : dataList) { |
| | | //大æ°å |
| | | if("2".equals(rkData.getRegisterId())){ |
| | | if ("2".equals(rkData.getRegisterId())) { |
| | | info.setPressure(rkData.getData()); |
| | | } |
| | | } |
| | | } |
| | | //é¨é |
| | | if("21".equals(rkDto.getNodeId())){ |
| | | if ("21".equals(rkDto.getNodeId())) { |
| | | dataList = rkDto.getRegisterItem(); |
| | | for (RkData rkData : dataList) { |
| | | // //ç¬æ¶é¨é |
| | |
| | | // info.setRainfall(rkData.getData()); |
| | | // } |
| | | //å½åé¨é |
| | | if("2".equals(rkData.getRegisterId())){ |
| | | if ("2".equals(rkData.getRegisterId())) { |
| | | info.setRainfall(rkData.getData()); |
| | | } |
| | | } |
| | | } |
| | | //ææ é¨éª |
| | | if("16".equals(rkDto.getNodeId())){ |
| | | if ("16".equals(rkDto.getNodeId())) { |
| | | weatherList = rkDto.getRegisterItem(); |
| | | } |
| | | } |
| | | for (RkData rkData : weatherList) { |
| | | //å¤©æ° |
| | | if("1".equals(rkData.getRegisterId())){ |
| | | if ("1".equals(rkData.getRegisterId())) { |
| | | info.setWeather(rkData.getData()); |
| | | //æé¨éªæ¶å¤æå½åé¨é |
| | | if("æé¨éª".equals(rkData.getData())){ |
| | | if ("æé¨éª".equals(rkData.getData())) { |
| | | Double rainfall = Double.valueOf(info.getRainfall()); |
| | | if(rainfall <= 10){ |
| | | if (rainfall <= 10) { |
| | | info.setWeather("å°é¨"); |
| | | } |
| | | if(rainfall > 10 && rainfall <= 25){ |
| | | if (rainfall > 10 && rainfall <= 25) { |
| | | info.setWeather("ä¸é¨"); |
| | | } |
| | | if(rainfall > 25 && rainfall <= 50){ |
| | | if (rainfall > 25 && rainfall <= 50) { |
| | | info.setWeather("大é¨"); |
| | | } |
| | | if(rainfall > 50){ |
| | | if (rainfall > 50) { |
| | | info.setWeather("æ´é¨"); |
| | | } |
| | | } |
| | |
| | | |
| | | /** |
| | | * è·å身份认è¯çææaccessToken |
| | | * |
| | | * @param conf |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | log.info("è·åç身份认è¯ä¿¡æ¯={}", response); |
| | | |
| | | if(StringUtils.isEmpty(response.getCode()) || !"1000".equals(response.getCode())){ |
| | | if (StringUtils.isEmpty(response.getCode()) || !"1000".equals(response.getCode())) { |
| | | log.error("å½å建大ä»ç§å¹³å°è·å身份认è¯ä¿¡æ¯å¤±è´¥......"); |
| | | return null; |
| | | } |
| | |
| | | token = (String) result.get("token"); |
| | | |
| | | //å°tokenåå
¥ç¼å, |
| | | redisUtil.set(key, token, 2*60*60); |
| | | redisUtil.set(key, token, 2 * 60 * 60); |
| | | } |
| | | return token; |
| | | } |
| | | |
| | | |
| | | } |