package com.glxp.api.task; import com.glxp.api.dao.schedule.ScheduledDao; import com.glxp.api.entity.system.ScheduledEntity; import com.glxp.api.req.system.ScheduledRequest; import com.glxp.api.service.purchase.SupCertRemindMsgService; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.scheduling.support.CronTrigger; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * 资质证书定时任务 */ @Slf4j @Component public class SupCertRemindMsgTask implements SchedulingConfigurer { @Resource private ScheduledDao scheduledDao; @Resource private SupCertRemindMsgService supCertRemindMsgService; @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.addTriggerTask(this::process, triggerContext -> { ScheduledRequest scheduledRequest = new ScheduledRequest(); scheduledRequest.setCronName("supCertRemindMsgTask"); ScheduledEntity scheduled = scheduledDao.findScheduled(scheduledRequest); if (null == scheduled) { log.error("资质预警预警定时任务未配置,请注意!"); return null; } String cron = scheduled.getCron(); return new CronTrigger(cron).nextExecutionTime(triggerContext); }); } private void process() { log.info("开始扫描资质证书信息,生成资质预警消息"); supCertRemindMsgService.createRemindMsg(); log.info("资质证书预警信息生成结束"); } }