|
|
|
@ -27,6 +27,8 @@ import org.springframework.util.CollectionUtils;
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.sql.Timestamp;
|
|
|
|
|
import java.time.LocalTime;
|
|
|
|
|
import java.util.Calendar;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -47,36 +49,32 @@ public class BuildRecordScheduled {
|
|
|
|
|
private BuildRecordService buildRecordService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Scheduled(cron = "0 0 22 * * ?")
|
|
|
|
|
@Scheduled(cron = "0 0 22 * * ?")
|
|
|
|
|
//@Scheduled(cron = "0 0/1 * * * ?")
|
|
|
|
|
public void runBuildRecordTask() {
|
|
|
|
|
log.info("scheduled runBuildRecordTask start time [{}]", LocalTime.now());
|
|
|
|
|
// 获取所有开启定时任务开关
|
|
|
|
|
List<BuildRecord> buildRecords = buildRecordService.getBuildRecordByIsTimedTask(Boolean.TRUE);
|
|
|
|
|
if (!CollectionUtils.isEmpty(buildRecords)) {
|
|
|
|
|
for (BuildRecord record : buildRecords) {
|
|
|
|
|
/* 发送时间为空 状态不等于0设置发送状态
|
|
|
|
|
BuildTask buildTask = buildTaskService.queryBuildTaskByBuildIdAndTime(record.getId(), LocalTime.now());
|
|
|
|
|
if (buildTask == null) {*/
|
|
|
|
|
for (BuildRecord buildRecord : buildRecords) {
|
|
|
|
|
BuildTask buildTask = new BuildTask();
|
|
|
|
|
buildTask.setBuildId(record.getId());
|
|
|
|
|
buildTask.setBuildId(buildRecord.getId());
|
|
|
|
|
buildTask.setIsSend(DefaultConstant.ZERO_NUMBER);
|
|
|
|
|
buildTask.setGmtCreate(new Timestamp(System.currentTimeMillis()));
|
|
|
|
|
BuildTaskDto buildTaskDto = buildTaskService.create(buildTask);
|
|
|
|
|
if (buildTaskDto != null) {
|
|
|
|
|
deleteBuildTaskAndSendBuildTask(record, buildTaskDto.getId());
|
|
|
|
|
deleteBuildTaskAndSendBuildTask(buildRecord, buildTaskDto.getId());
|
|
|
|
|
}
|
|
|
|
|
log.info(" ========================== insert buildTask id as [{}] ===========================", buildTaskDto != null ? buildTaskDto.getId() : null);
|
|
|
|
|
/*}*/
|
|
|
|
|
}
|
|
|
|
|
log.info("scheduled runBuildRecordTask end time [{}] task size as [{}]", LocalTime.now(), buildRecords.size());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Async(value = "buildTaskExecutor")
|
|
|
|
|
void deleteBuildTaskAndSendBuildTask(BuildRecord record, Integer buildTaskId) {
|
|
|
|
|
void deleteBuildTaskAndSendBuildTask(BuildRecord buildRecord, Integer buildTaskId) {
|
|
|
|
|
// 解析数据
|
|
|
|
|
BuildTaskQueryParamJsonConvert convert = getBuildTaskQueryParamJsonConvert(record.getParams());
|
|
|
|
|
BuildTaskQueryParamJsonConvert convert = getBuildTaskQueryParamJsonConvert(buildRecord.getParams());
|
|
|
|
|
Rectangle rectangle = null;
|
|
|
|
|
// 地图点进行计算,获取选点范围
|
|
|
|
|
Integer range = convert.getRange();
|
|
|
|
@ -90,11 +88,11 @@ public class BuildRecordScheduled {
|
|
|
|
|
}
|
|
|
|
|
// 删除并新增任务
|
|
|
|
|
boolean deleteTagByParam = tagService.deleteAndInsertTagByParam
|
|
|
|
|
(record.getId(), buildTaskId,
|
|
|
|
|
(buildRecord.getId(), buildTaskId,
|
|
|
|
|
convert.getCityCode(),
|
|
|
|
|
convert.getStuGrade(),
|
|
|
|
|
rectangle);
|
|
|
|
|
log.info("buildRecordTask taskName as [{}] result as [{}] result time as [{}]", record.getTaskName(), deleteTagByParam, LocalTime.now());
|
|
|
|
|
log.info("buildRecordTask taskName as [{}] result as [{}] result time as [{}]", buildRecord.getTaskName(), deleteTagByParam, LocalTime.now());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -177,4 +175,27 @@ public class BuildRecordScheduled {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 凌晨一点 查询定时任务 删除记录
|
|
|
|
|
*/
|
|
|
|
|
@Scheduled(cron = "0 0 1 * * ?")
|
|
|
|
|
public void deleteBuildRecordTask() {
|
|
|
|
|
// 偏移一个月
|
|
|
|
|
DateTime oneMonthAhead = DateUtil.offsetMonth(DateUtil.date(), -1);
|
|
|
|
|
List<BuildRecord> buildRecordList = buildRecordService.getBuildRecordByTime(oneMonthAhead);
|
|
|
|
|
if (!CollectionUtils.isEmpty(buildRecordList)) {
|
|
|
|
|
for (BuildRecord buildRecord : buildRecordList) {
|
|
|
|
|
if (buildRecord.getId() != null) {
|
|
|
|
|
boolean result = tagService.deleteByTaskId(buildRecord.getId());
|
|
|
|
|
if (result) {
|
|
|
|
|
// 修改状态
|
|
|
|
|
buildRecordService.updateIsDeleteByBuildId(buildRecord.getId());
|
|
|
|
|
}
|
|
|
|
|
log.info("deleteBuildRecordTask buildRecord as [{}] result as [{}]", buildRecord.getTaskName(), result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|