package com.eato2o.cn.task;
import com.eato2o.cn.domain.constant.OperationConstants;
import com.eato2o.cn.domain.vo.ActivityRegistrationVO;
import com.eato2o.cn.service.IActivityRegistrationService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.quartz.impl.StdSchedulerFactory;
import org.springframework.scheduling.quartz.QuartzJobBean;
import org.springframework.util.ObjectUtils;
import java.util.Arrays;
import java.util.Objects;
/**
-
@ClassName CheckPayStatusJob
-
@Description <定时任务-执行类>
-
@Author YangYingBao
-
@Version 1.0.0
-
@Date 2023/3/8 10:26
*/
@Slf4j
public class CheckPayStatusJob extends QuartzJobBean {private IActivityRegistrationService registrationService = StaticMethodGetBean.getBean(IActivityRegistrationService.class);
@SneakyThrows
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
log.info(“启动定时任务获取实体数据”);
String taskId = (String) context.getJobDetail().getJobDataMap().get(“taskId”);
String jobName = (String) context.getJobDetail().getJobDataMap().get(“jobName”);
ActivityRegistrationVO registrationVO = registrationService.getById(taskId);
log.info(“CheckPayStatusJob.executeInternal.registrationVO:{}”,registrationVO);
// 5分钟后报名表状态还没有修改为审批成功,则删除此报名
if(!ObjectUtils.isEmpty(registrationVO) && Objects.equals(registrationVO.getStatus(), OperationConstants.ZERO_STATUS)){
registrationService.deleteById(Arrays.asList(taskId));
}
StdSchedulerFactory.getDefaultScheduler().deleteJob(JobKey.jobKey(jobName, taskId));
log.info(“启动定时任务获取实体数据任务结束”);
}
}