|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.supervision.knowsub.task;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import com.supervision.knowsub.dto.knowledge.CheckInvalidDTO;
|
|
|
|
|
import com.supervision.knowsub.enums.StatusEnum;
|
|
|
|
|
import com.supervision.knowsub.model.Knowledge;
|
|
|
|
@ -26,17 +27,18 @@ public class InvalidCheckTask {
|
|
|
|
|
//@Scheduled(cron = "0 0 1 * * ?")
|
|
|
|
|
@Scheduled(cron = "0 0 * * *?")
|
|
|
|
|
public void checkInvalidKnowledge() {
|
|
|
|
|
log.info("定时任务,检查是否存在过期任务");
|
|
|
|
|
log.info("定时任务,检查是否存在过期任务开始");
|
|
|
|
|
List<CheckInvalidDTO> checkInvalidDTOS = knowledgeService.queryKnowledgeInvalidList();
|
|
|
|
|
for (CheckInvalidDTO checkInvalidDTO : checkInvalidDTOS) {
|
|
|
|
|
// 校验当前时间是否超过了最大时间
|
|
|
|
|
if (LocalDateTime.now().isAfter(checkInvalidDTO.getExecTimeEnd())) {
|
|
|
|
|
if (ObjectUtil.isNotEmpty(checkInvalidDTO.getAutoLoseEffect()) && 2 == checkInvalidDTO.getAutoLoseEffect() && LocalDateTime.now().isAfter(checkInvalidDTO.getExecTimeEnd())) {
|
|
|
|
|
log.info("标题:{},过期时间:{},目前已过期,标记为过期", checkInvalidDTO.getTitle(), checkInvalidDTO.getExecTimeEnd());
|
|
|
|
|
// 如果超过了当前时间,说明过期了
|
|
|
|
|
knowledgeService.lambdaUpdate().set(Knowledge::getStatus, StatusEnum.INVALID.getStatus())
|
|
|
|
|
.eq(Knowledge::getId, checkInvalidDTO.getKnowledgeId()).update();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
log.info("定时任务,检查是否存在过期任务结束");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|