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<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
|
caseTaskQueryWrapper.eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())
|
.eq("status", 1);
|
List<CaseTask> caseTaskList = caseTaskService.list(caseTaskQueryWrapper);
|
if(CollectionUtils.isNotEmpty(caseTaskList)){
|
List<String> caseIdList = caseTaskList.stream().map(CaseTask::getCaseId).collect(Collectors.toList());
|
evaluateService.autoArchive(caseIdList);
|
}
|
}
|
|
|
@Scheduled(cron = "0 0 0 * * ?")
|
public void downloadVideo() {
|
List<MeetVideo> downloadVideo = meetVideoService.getDownloadVideo();
|
if (downloadVideo != null && downloadVideo.size() > 0) {
|
for (MeetVideo meetVideo : downloadVideo) {
|
meetVideoService.saveCloudVideo(meetVideo.getCaseId(), meetVideo.getMeetType(), true);
|
}
|
}
|
}
|
}
|