|  |  |  | 
|---|
|  |  |  | import com.doumee.dao.timer.entity.QuartzJob; | 
|---|
|  |  |  | import com.doumee.dao.timer.mapper.QuartzJobMapper; | 
|---|
|  |  |  | import com.doumee.dao.timer.scheduler.QuartzManage; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.quartz.CronTrigger; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Objects; | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | public class TimerBizSevice { | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private QuartzJobMapper quartzJobMapper ; | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostConstruct | 
|---|
|  |  |  | public void init () { | 
|---|
|  |  |  | log.error("================执行"+System.currentTimeMillis()); | 
|---|
|  |  |  | LambdaQueryWrapper<QuartzJob> queryWrapper = new LambdaQueryWrapper<>() ; | 
|---|
|  |  |  | queryWrapper.in(QuartzJob::getState, JobState.JOB_RUN.getStatus(),JobState.JOB_STOP.getStatus()); | 
|---|
|  |  |  | List<QuartzJob> jobList = quartzJobMapper.selectList(queryWrapper); | 
|---|
|  |  |  | jobList.forEach(quartzJob -> { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | log.error("================执行"+quartzJob.getId()); | 
|---|
|  |  |  | CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ; | 
|---|
|  |  |  | if (Objects.isNull(cronTrigger)){ | 
|---|
|  |  |  | quartzManage.createJob(quartzJob); | 
|---|
|  |  |  | 
|---|
|  |  |  | quartzManage.updateJob(quartzJob); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | //                    log.error("================执行"+quartzJob.getId()); | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|