优化,增加定时任务自动失效

release_1.0.0
liu 8 months ago
parent 85018312e6
commit c103d319ce

@ -3,8 +3,10 @@ package com.supervision.knowsub;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
@MapperScan(basePackages = {"com.supervision.**.mapper"})
public class KnowSubBusinessApplication {

@ -0,0 +1,40 @@
package com.supervision.knowsub.task;
import com.supervision.knowsub.dto.knowledge.CheckInvalidDTO;
import com.supervision.knowsub.enums.StatusEnum;
import com.supervision.knowsub.model.Knowledge;
import com.supervision.knowsub.service.KnowledgeService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Component
@RequiredArgsConstructor
public class InvalidCheckTask {
private final KnowledgeService knowledgeService;
/**
* ,5
*/
@Scheduled(cron = "0 0/5 * * * ?")
public void checkInvalidKnowledge() {
log.info("定时任务,检查是否存在过期任务");
List<CheckInvalidDTO> checkInvalidDTOS = knowledgeService.queryKnowledgeInvalidList();
for (CheckInvalidDTO checkInvalidDTO : checkInvalidDTOS) {
// 校验当前时间是否超过了最大时间
if (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();
}
}
}
}

@ -0,0 +1,23 @@
package com.supervision.knowsub.dto.knowledge;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class CheckInvalidDTO {
private String knowledgeId;
private String title;
private Integer status;
private Integer timeliness;
private Integer autoLoseEffect;
private LocalDateTime execTimeBegin;
private LocalDateTime execTimeEnd;
}

@ -2,12 +2,14 @@ package com.supervision.knowsub.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.supervision.knowsub.dto.knowledge.CheckInvalidDTO;
import com.supervision.knowsub.model.Knowledge;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author Administrator
@ -26,6 +28,8 @@ public interface KnowledgeMapper extends BaseMapper<Knowledge> {
@Param("publishDateEnd") LocalDateTime publishDateEnd,
@Param("userId") String userId, Page<Knowledge> page);
List<CheckInvalidDTO> queryKnowledgeInvalidList();
}

@ -1,11 +1,13 @@
package com.supervision.knowsub.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.knowsub.dto.knowledge.CheckInvalidDTO;
import com.supervision.knowsub.model.Knowledge;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author Administrator
@ -27,5 +29,6 @@ public interface KnowledgeService extends IService<Knowledge> {
String submitDeptId,
LocalDateTime publishDateBegin,
LocalDateTime publishDateEnd, String userId, Integer pageNum, Integer pageSize);
List<CheckInvalidDTO> queryKnowledgeInvalidList();
}

@ -3,6 +3,7 @@ package com.supervision.knowsub.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.knowsub.dto.knowledge.CheckInvalidDTO;
import com.supervision.knowsub.model.Knowledge;
import com.supervision.knowsub.service.KnowledgeService;
import com.supervision.knowsub.mapper.KnowledgeMapper;
@ -10,6 +11,7 @@ import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author Administrator
@ -30,6 +32,11 @@ public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper, Knowledge
LocalDateTime publishDateEnd, String userId, Integer pageNum, Integer pageSize) {
return this.baseMapper.queryKnowledgePage(status, title, publishDeptId, baseId, submitDeptId, publishDateBegin, publishDateEnd, userId, new Page<>(pageNum, pageSize));
}
@Override
public List<CheckInvalidDTO> queryKnowledgeInvalidList() {
return this.baseMapper.queryKnowledgeInvalidList();
}
}

@ -79,4 +79,19 @@
</if>
order by create_time desc
</select>
<select id="queryKnowledgeInvalidList" resultType="com.supervision.knowsub.dto.knowledge.CheckInvalidDTO">
select t1.id as knowledgeId,
t1.title as title,
t1.status as status,
t2.timeliness as timeliness,
t2.auto_lose_effect as autoLoseEffect,
t2.exec_time_begin as execTimeBegin,
t2.exec_time_end as execTimeEnd
from ks_knowledge t1
left join ks_knowledge_info t2 on t1.info_id = t2.id
where status = 2
and t2.timeliness = 2
and auto_lose_effect = 1
</select>
</mapper>

Loading…
Cancel
Save