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.meet.domain.po.MeetVideo; import cn.huge.module.meet.service.MeetVideoService; 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.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; import javax.mail.event.MailEvent; 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; @Resource private MeetVideoService meetVideoService; @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); List caseTaskList = caseTaskService.list(caseTaskQueryWrapper); if(CollectionUtils.isNotEmpty(caseTaskList)){ List caseIdList = caseTaskList.stream().map(CaseTask::getCaseId).collect(Collectors.toList()); evaluateService.autoArchive(caseIdList); } } @Scheduled(cron = "0 0 0 * * ?") public void downloadVideo() { List downloadVideo = meetVideoService.getDownloadVideo(); if (downloadVideo != null && downloadVideo.size() > 0) { for (MeetVideo meetVideo : downloadVideo) { meetVideoService.saveCloudVideo(meetVideo.getCaseId(), meetVideo.getMeetType(), true); } } } }