|
|
|
@ -1,16 +1,13 @@
|
|
|
|
|
package com.hnac.hzims.weather.schedule; |
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
|
import com.alibaba.fastjson.JSONArray; |
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.google.common.collect.Lists; |
|
|
|
|
import com.hnac.hzims.hzimsweather.constants.WeatherConstant; |
|
|
|
|
import com.hnac.hzims.hzimsweather.entity.DailyHeWeatherEntity; |
|
|
|
|
import com.hnac.hzims.hzimsweather.entity.VStationEntity; |
|
|
|
|
import com.hnac.hzims.hzimsweather.response.weather.Daily; |
|
|
|
|
import com.hnac.hzims.hzimsweather.response.weather.HeWeatherWeatherDailyResponse; |
|
|
|
|
import com.hnac.hzims.weather.service.HeWeatherHistoricalService; |
|
|
|
|
import com.hnac.hzims.weather.service.HeWeatherWeatherService; |
|
|
|
|
import com.hnac.hzims.weather.service.IDailyHeWeatherService; |
|
|
|
|
import com.hnac.hzims.weather.service.IStationService; |
|
|
|
@ -19,23 +16,13 @@ import com.xxl.job.core.handler.annotation.XxlJob;
|
|
|
|
|
import com.xxl.job.core.log.XxlJobLogger; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.core.log.exception.ServiceException; |
|
|
|
|
import org.springblade.core.log.logger.BladeLogger; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
import org.springblade.core.tool.utils.CollectionUtil; |
|
|
|
|
import org.springblade.core.tool.utils.ObjectUtil; |
|
|
|
|
import org.springblade.core.tool.utils.SpringUtil; |
|
|
|
|
import org.springframework.data.redis.core.RedisTemplate; |
|
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
import org.springframework.util.Assert; |
|
|
|
|
import java.lang.reflect.Method; |
|
|
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.concurrent.*; |
|
|
|
|
|
|
|
|
|
import static com.hnac.hzims.hzimsweather.constants.XxlJobConstant.STATION_DAILY_WEATHER; |
|
|
|
|
import static com.hnac.hzims.hzimsweather.constants.XxlJobConstant.STATION_3D_WEATHER; |
|
|
|
|
import static com.hnac.hzims.hzimsweather.constants.XxlJobConstant.STATION_NOW_WEATHER; |
|
|
|
|
import static com.hnac.hzims.hzimsweather.constants.XxlJobConstant.STATION_7D_WEATHER; |
|
|
|
|
import static com.hnac.hzims.hzimsweather.constants.XxlJobConstant.*; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author hx |
|
|
|
@ -51,9 +38,10 @@ public class StationWeatherSchedule {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 获取各站点下七日内天气 存入缓存 |
|
|
|
|
* @Scheduled(cron = "0 10 0/12 * * ?") |
|
|
|
|
* |
|
|
|
|
* @return |
|
|
|
|
* @throws InterruptedException |
|
|
|
|
* @Scheduled(cron = "0 10 0/12 * * ?") |
|
|
|
|
*/ |
|
|
|
|
@XxlJob(STATION_7D_WEATHER) |
|
|
|
|
public ReturnT<String> save7dWeather(String param) throws InterruptedException { |
|
|
|
@ -78,8 +66,7 @@ public class StationWeatherSchedule {
|
|
|
|
|
); |
|
|
|
|
if (ObjectUtil.isNotEmpty(dailyHeWeatherEntity)) { |
|
|
|
|
entity.setId(dailyHeWeatherEntity.getId()); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
} else { |
|
|
|
|
entity.setStationCode(vStationEntity.getCode()); |
|
|
|
|
entity.setDeptId(vStationEntity.getRefDept()); |
|
|
|
|
entity.setTenantId(vStationEntity.getTenantId()); |
|
|
|
@ -90,12 +77,11 @@ public class StationWeatherSchedule {
|
|
|
|
|
} |
|
|
|
|
dailyHeWeatherService.saveOrUpdateBatch(weatherEntityList); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("{}获取七日天气失败,位置信息为:{},{}", vStationEntity.getName(), vStationEntity.getLgtd(), vStationEntity.getLttd()); |
|
|
|
|
log.error("获取七日天气失败", e); |
|
|
|
|
XxlJobLogger.log(vStationEntity.getName() + "获取七日天气失败,位置信息为:" + vStationEntity.getLgtd() + "," + vStationEntity.getLttd()); |
|
|
|
|
} |
|
|
|
|
finally { |
|
|
|
|
} finally { |
|
|
|
|
downLatch.countDown(); |
|
|
|
|
} |
|
|
|
|
})); |
|
|
|
@ -106,6 +92,7 @@ public class StationWeatherSchedule {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 获取各站点下三日内天气 存入缓存 @Scheduled(cron = "0 5 0/1 * * ?") |
|
|
|
|
* |
|
|
|
|
* @return |
|
|
|
|
* @throws InterruptedException |
|
|
|
|
*/ |
|
|
|
@ -119,12 +106,11 @@ public class StationWeatherSchedule {
|
|
|
|
|
XxlJobLogger.log(vStationEntity.getName() + "获取三日天气开始,位置信息为:" + vStationEntity.getLgtd() + "," + vStationEntity.getLttd()); |
|
|
|
|
String location = vStationEntity.getLgtd() + "," + vStationEntity.getLttd(); |
|
|
|
|
weatherService.getWeather3d(location); |
|
|
|
|
} |
|
|
|
|
catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("{}获取三日天气失败,位置信息为:{},{}", vStationEntity.getName(), vStationEntity.getLgtd(), vStationEntity.getLttd()); |
|
|
|
|
log.error("获取三日天气失败", e); |
|
|
|
|
XxlJobLogger.log(vStationEntity.getName() + "获取三日天气失败,位置信息为:" + vStationEntity.getLgtd() + "," + vStationEntity.getLttd()); |
|
|
|
|
} |
|
|
|
|
finally { |
|
|
|
|
} finally { |
|
|
|
|
downLatch.countDown(); |
|
|
|
|
} |
|
|
|
|
})); |
|
|
|
@ -135,6 +121,7 @@ public class StationWeatherSchedule {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 获取各站点下实况天气 存入缓存 @Scheduled(cron = "0 0 0/1 * * ?") |
|
|
|
|
* |
|
|
|
|
* @return |
|
|
|
|
* @throws InterruptedException |
|
|
|
|
*/ |
|
|
|
@ -148,12 +135,10 @@ public class StationWeatherSchedule {
|
|
|
|
|
XxlJobLogger.log(vStationEntity.getName() + "获取实时天气开始,位置信息为:" + vStationEntity.getLgtd() + "," + vStationEntity.getLttd()); |
|
|
|
|
String location = vStationEntity.getLgtd() + "," + vStationEntity.getLttd(); |
|
|
|
|
weatherService.getWeatherNow(location); |
|
|
|
|
} |
|
|
|
|
catch(Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("获取实时天气失败", e); |
|
|
|
|
XxlJobLogger.log(vStationEntity.getName() + "获取实时天气失败,位置信息为:" + vStationEntity.getLgtd() + "," + vStationEntity.getLttd()); |
|
|
|
|
} |
|
|
|
|
finally { |
|
|
|
|
} finally { |
|
|
|
|
downLatch.countDown(); |
|
|
|
|
} |
|
|
|
|
})); |
|
|
|
|