| | |
| | | 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("应用启动完成,通知监听器执行缓存预加载操作"); |
| | | queueService.initQueue(); |
| | | queueService.hurryup(); |
| | | 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<LocalTime> 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(); |
| | | } |
| | | } |
| | | } |