package cn.lihu.jh.module.ecg.listener; import cn.lihu.jh.module.ecg.Utils; import cn.lihu.jh.module.ecg.service.queue.QueueService; import cn.lihu.jh.module.infra.api.config.ConfigApi; import org.springframework.boot.context.event.ApplicationStartedEvent; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.time.LocalTime; import java.util.List; import static cn.lihu.jh.module.ecg.Constants.ECG_OPENING_TIME_KEY; import static cn.lihu.jh.module.ecg.Constants.ECG_QUEUE_READY_MAX_KEY; @Component public class MySpringEventListener { @Resource private ConfigApi configApi; @Resource private QueueService queueService; @EventListener public void onApplicationEvent(ApplicationStartedEvent event) { System.out.println("应用启动完成,系统初始。。。"); Integer queueReadyMax = Integer.valueOf(configApi.getConfigValueByKey(ECG_QUEUE_READY_MAX_KEY)); queueService.setQueueReadyMax( queueReadyMax ); String strOpenCloseTime = configApi.getConfigValueByKey(ECG_OPENING_TIME_KEY); List list = Utils.parseOpeningTime(strOpenCloseTime); LocalTime openingTime = list.get(0); LocalTime closeTime = list.get(1); // 获取当前时间 LocalTime currentTime = LocalTime.now(); // 比较时间 if (currentTime.isBefore(openingTime) || currentTime.isAfter(closeTime)) { queueService.closeBiz(); } else { queueService.startBiz(); } } }