package com.ruoyi.quartz.task; import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.global.service.IGlobalAlarmService; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.utils.websocket.util.WebSocketUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.*; import java.util.concurrent.PriorityBlockingQueue; import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * @ClassName: AlarmTask * @Description: * @Author: Administrator * @Date: 2023年03月06日 11:13 * @Version: 1.0 **/ @Component("AlarmTask") @Slf4j public class AlarmTask { /** * @描述 定时推送所有报警的点位数量 * @参数 [] * @返回值 void * @创建人 刘苏义 * @创建时间 2023/6/15 15:43 * @修改人和其它信息 */ public void globalAlarmCountPush() { try { IGlobalAlarmService globalAlarmService = SpringUtils.getBean(IGlobalAlarmService.class); Map stringIntegerMap = globalAlarmService.selectAlarmLogsCount(); if (ONLINE_USER_SESSIONS.size() > 0) { WebSocketUtils.sendMessageAll(stringIntegerMap); } } catch (Exception ex) { log.error("定时推送所有报警的点位数量异常:" + ex.getMessage()); } } /** * 定时清空引导队列 * 刘苏义 * 2023/7/1 10:41 */ public void clearGuideQueue() { try { log.info("定时清理引导队列"); for (PriorityBlockingQueue guideQueue : GuidePriorityQueue.cameraQueueMap.values()) { guideQueue.clear(); } } catch (Exception ex) { log.error("定时清空引导队列:" + ex.getMessage()); } } }