package cn.huge.module.timer; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; import cn.huge.module.cases.domain.po.CaseEvaluate; import cn.huge.module.cases.domain.po.CaseTask; import cn.huge.module.cases.service.CaseEvaluateService; import cn.huge.module.cases.service.CaseTaskService; import cn.huge.module.client.api.impl.SysClientImpl; import cn.huge.module.flow.consts.FlowNodeEnum; import cn.huge.module.sys.constant.SyTimeEnum; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import dm.jdbc.internal.convert.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * @title: 定时器 * @description: 定时器方法 * @company: hugeinfo * @author: wangwh * @time: 2024-09-26 16:51:48 * @version: 1.0.0 */ @Slf4j @Component public class scheduledTask { @Autowired private CaseEvaluateService evaluateService; @Autowired private CaseTaskService caseTaskService; @Autowired private SysClientImpl sysClient; @Scheduled(cron ="0 */1 * * * ?") public void autoArchive(){ Date now = DateUtils.getNowDate(); QueryWrapper caseTaskQueryWrapper = new QueryWrapper<>(); caseTaskQueryWrapper.eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) .eq("status", 1).le("expire_time", now); List caseTaskList = caseTaskService.list(caseTaskQueryWrapper); List caseIdList = caseTaskList.stream().map(CaseTask::getCaseId).collect(Collectors.toList()); evaluateService.autoArchive(caseIdList); } }