|
@@ -1,7 +1,12 @@
|
|
package com.jiayue.insu.incloud.job.data.pull;
|
|
package com.jiayue.insu.incloud.job.data.pull;
|
|
|
|
|
|
|
|
+import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
|
+import com.jiayue.insu.incloud.constants.CommonStant;
|
|
|
|
+import com.jiayue.insu.incloud.constants.enums.StatusEnum;
|
|
|
|
+import com.jiayue.insu.incloud.entity.Record;
|
|
import com.jiayue.insu.incloud.entity.Station;
|
|
import com.jiayue.insu.incloud.entity.Station;
|
|
import com.jiayue.insu.incloud.pulldata.PullInitData;
|
|
import com.jiayue.insu.incloud.pulldata.PullInitData;
|
|
|
|
+import com.jiayue.insu.incloud.service.RecordService;
|
|
import com.jiayue.insu.incloud.service.StationService;
|
|
import com.jiayue.insu.incloud.service.StationService;
|
|
import org.quartz.Job;
|
|
import org.quartz.Job;
|
|
import org.quartz.JobDataMap;
|
|
import org.quartz.JobDataMap;
|
|
@@ -9,22 +14,36 @@ import org.quartz.JobExecutionContext;
|
|
import org.quartz.JobExecutionException;
|
|
import org.quartz.JobExecutionException;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
+
|
|
public class PullInitDataJob implements Job {
|
|
public class PullInitDataJob implements Job {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private PullInitData pullInitData;
|
|
private PullInitData pullInitData;
|
|
-
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- private StationService stationService;
|
|
|
|
|
|
+ private StationService stationService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private RecordService recordService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
|
String code = jobExecutionContext.getTrigger().getJobKey().getName();
|
|
String code = jobExecutionContext.getTrigger().getJobKey().getName();
|
|
String[] split = code.split("-");
|
|
String[] split = code.split("-");
|
|
- if(split!=null && split.length>0) {
|
|
|
|
|
|
+ if (split != null && split.length > 0) {
|
|
String stationCode = split[0];
|
|
String stationCode = split[0];
|
|
Station one = stationService.findByStationCode(stationCode);
|
|
Station one = stationService.findByStationCode(stationCode);
|
|
if (one != null) {
|
|
if (one != null) {
|
|
- pullInitData.pullDQAndNWPData(one);
|
|
|
|
|
|
+ //查询是否有今天成功记录 (为提高稳定性,该定时任务采取在规定时间段内 重复循环执行的定时策略,故:需要查询是否存在成功记录)
|
|
|
|
+ Record successRecord = recordService.findTimeAndTypeAndStateAndStation(
|
|
|
|
+ LocalDateTimeUtil.beginOfDay(LocalDateTime.now()),
|
|
|
|
+ CommonStant.RECORD_TYPE_PULL_INIT,
|
|
|
|
+ StatusEnum.SUCCESS.getCode(), stationCode);
|
|
|
|
+
|
|
|
|
+ //没有成功记录进行业务
|
|
|
|
+ if (successRecord == null) {
|
|
|
|
+ pullInitData.pullDQAndNWPData(one);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|