package com.glxp.api.task; import com.glxp.api.dao.inv.InvRemindSetDao; 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.inv.InvRemindMsgService; 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 InvRemindMsgTask implements SchedulingConfigurer { @Resource private ScheduledDao scheduledDao; @Resource private InvRemindMsgService invRemindMsgService; @Resource private InvRemindSetDao invRemindSetDao; @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.addTriggerTask(this::process, triggerContext -> { ScheduledRequest scheduledRequest = new ScheduledRequest(); scheduledRequest.setCronName("invRemindMsgTask"); 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("开始扫描库存信息,生成库存预警消息"); List invRemindSetEntities = invRemindSetDao.selectList(null); if (CollUtil.isNotEmpty(invRemindSetEntities)) { log.info("库存预警设置条数:{}", invRemindSetEntities.size()); //开始生成库存信息 for (InvRemindSetEntity invRemindSetEntity : invRemindSetEntities) { ThreadUtil.execAsync(ThreadUtil.newThread(() -> invRemindMsgService.createRemindMsg(invRemindSetEntity), "createInvRemindThread")); } } else { log.info("无库存预警设置,结束库存扫描"); }*/ } }