|
|
@@ -51,44 +51,29 @@ public class ShuangSeQiuTask extends AbstractHzApiTask {
|
|
|
private IDataShuangSeQiuService shuangSeQiuService;
|
|
|
|
|
|
@Scheduled(cron = "0 35 21 * * 2,4,7")
|
|
|
- @Scheduled(cron = "0 0 0,6,12 * * 3,5,1")
|
|
|
public void execute() {
|
|
|
super.execute();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 首次查询时数据可能不完整,需要定时刷新
|
|
|
+ */
|
|
|
+ @Scheduled(cron = "0 0 0,6,12 * * 3,5,1")
|
|
|
+ public void refreshDataExecute() {
|
|
|
+ refreshData();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean fetchData() {
|
|
|
- // 拉取数据
|
|
|
- HzApiRequest request = buildCommonRequest();
|
|
|
- ShuangSeQiuResponse shuangSeQiuResponse = hzApiFeign.getShuangSeQiu(request);
|
|
|
- if (Objects.isNull(shuangSeQiuResponse)) {
|
|
|
- log.warn("拉取双色球数据失败,返回结果对象为空");
|
|
|
- return false;
|
|
|
- }
|
|
|
- if (!HzApiStatusEnum.SUCCESS.getCode().equals(shuangSeQiuResponse.getCode())) {
|
|
|
- log.warn("拉取双色球数据失败,接口盒子返回错误信息:{}", shuangSeQiuResponse.getMsg());
|
|
|
+ DataShuangSeQiu dataShuangSeQiu = refreshData();
|
|
|
+ if (Objects.isNull(dataShuangSeQiu)) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- DataShuangSeQiu oldDataShuangSeQiu = shuangSeQiuService.getByDrawDate(shuangSeQiuResponse.getQihao());
|
|
|
-
|
|
|
- // 数据入库
|
|
|
- DataShuangSeQiu addShuangSeQiu = new DataShuangSeQiu();
|
|
|
- BeanUtils.copyProperties(shuangSeQiuResponse, addShuangSeQiu);
|
|
|
- if (Objects.isNull(oldDataShuangSeQiu)) {
|
|
|
- shuangSeQiuService.insert(addShuangSeQiu);
|
|
|
- } else {
|
|
|
- addShuangSeQiu.setId(oldDataShuangSeQiu.getId());
|
|
|
- shuangSeQiuService.update(addShuangSeQiu);
|
|
|
- }
|
|
|
-
|
|
|
- // 清除缓存,以防缓存中数据过时
|
|
|
- cacheManager.getCache(CacheNameConstant.DATA_SHUANG_SE_QIU_LIST).evict(addShuangSeQiu.getQihao());
|
|
|
-
|
|
|
// 设置上下文
|
|
|
Map<String, Object> context = ScheduleTaskLogAspect.scheduleTaskContextThreadLocal.get().getContext();
|
|
|
- context.put(CONTEXT_QIHAO, addShuangSeQiu.getQihao());
|
|
|
- context.put(CONTEXT_TIME, addShuangSeQiu.getTime());
|
|
|
+ context.put(CONTEXT_QIHAO, dataShuangSeQiu.getQihao());
|
|
|
+ context.put(CONTEXT_TIME, dataShuangSeQiu.getTime());
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
@@ -115,4 +100,41 @@ public class ShuangSeQiuTask extends AbstractHzApiTask {
|
|
|
templateData.setPagePath(pagePath);
|
|
|
return templateData;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 首次查询时数据可能不完整,需要定时刷新
|
|
|
+ */
|
|
|
+ public DataShuangSeQiu refreshData() {
|
|
|
+ log.info("======= 双色球定时任务 刷新中奖数据 开始 =======");
|
|
|
+ // 拉取数据
|
|
|
+ HzApiRequest request = buildCommonRequest();
|
|
|
+ ShuangSeQiuResponse shuangSeQiuResponse = hzApiFeign.getShuangSeQiu(request);
|
|
|
+ if (Objects.isNull(shuangSeQiuResponse)) {
|
|
|
+ log.warn("拉取双色球数据失败,返回结果对象为空");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ if (!HzApiStatusEnum.SUCCESS.getCode().equals(shuangSeQiuResponse.getCode())) {
|
|
|
+ log.warn("拉取双色球数据失败,接口盒子返回错误信息:{}", shuangSeQiuResponse.getMsg());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ DataShuangSeQiu oldDataShuangSeQiu = shuangSeQiuService.getByDrawDate(shuangSeQiuResponse.getQihao());
|
|
|
+
|
|
|
+ // 数据入库
|
|
|
+ DataShuangSeQiu addShuangSeQiu = new DataShuangSeQiu();
|
|
|
+ BeanUtils.copyProperties(shuangSeQiuResponse, addShuangSeQiu);
|
|
|
+ if (Objects.isNull(oldDataShuangSeQiu)) {
|
|
|
+ shuangSeQiuService.insert(addShuangSeQiu);
|
|
|
+ } else {
|
|
|
+ addShuangSeQiu.setId(oldDataShuangSeQiu.getId());
|
|
|
+ shuangSeQiuService.update(addShuangSeQiu);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 清除缓存,以防缓存中数据过时
|
|
|
+ cacheManager.getCache(CacheNameConstant.DATA_SHUANG_SE_QIU_LIST).evict(addShuangSeQiu.getQihao());
|
|
|
+
|
|
|
+ log.info("======= 双色球定时任务 刷新中奖数据 结束 =======");
|
|
|
+
|
|
|
+ return addShuangSeQiu;
|
|
|
+ }
|
|
|
}
|