From 70210b0eb0c58e1779fd89cbcf0909154d7d4936 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期六, 01 七月 2023 11:45:18 +0800 Subject: [PATCH] 基本完成优先级排队报警逻辑 --- ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuidePriorityQueue.java | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuidePriorityQueue.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuidePriorityQueue.java index 1ba629f..210c939 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuidePriorityQueue.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuidePriorityQueue.java @@ -1,11 +1,12 @@ package com.ruoyi.alarm.globalAlarm.domain; +import lombok.AllArgsConstructor; +import lombok.Data; import lombok.extern.slf4j.Slf4j; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Map; -import java.util.PriorityQueue; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; import java.util.concurrent.PriorityBlockingQueue; /** @@ -15,7 +16,7 @@ * @Date: 2023骞�06鏈�29鏃�11:18 * @Version: 1.0 **/ -@Slf4j +@Slf4j(topic = "guideQueue") public class GuidePriorityQueue { /** * 鐩告満闃熷垪锛屾瘡涓浉鏈轰竴涓紭鍏堢骇闃熷垪 @@ -28,8 +29,8 @@ public static Comparator<GuideTask> getComparator() { Comparator<GuideTask> PriorityDescCom = Comparator.comparingInt(GuideTask::getPriority).reversed(); Comparator<GuideTask> NumDescCom = Comparator.comparingInt(GuideTask::getNum).reversed(); - Comparator<GuideTask> alarmTimeAscCom = Comparator.comparing(GuideTask::getAlarmTime); - Comparator<GuideTask> Comparator = PriorityDescCom.thenComparing(NumDescCom).thenComparing(alarmTimeAscCom); + Comparator<GuideTask> receiveTimeAscCom = Comparator.comparing(GuideTask::getReceiveTime); + Comparator<GuideTask> Comparator = PriorityDescCom.thenComparing(NumDescCom).thenComparing(receiveTimeAscCom); return Comparator; } @@ -39,9 +40,13 @@ public static void printPriorityQueue() { for (String cameraId : GuidePriorityQueue.cameraQueueMap.keySet()) { PriorityBlockingQueue<GuideTask> priorityQueue = GuidePriorityQueue.cameraQueueMap.get(cameraId); - for (GuideTask task : priorityQueue) { - log.info("alarmId:" + task.getAlarmId() + " alarmTime:" + task.getAlarmTime() + " priority:" + task.getPriority() + " num:" + task.getNum() + " cameraId:" + task.getCameraId()); + PriorityBlockingQueue<GuideTask> queue = new PriorityBlockingQueue<>(priorityQueue); + while (queue.size() > 0) { + GuideTask task = queue.poll(); + log.info("姝e湪鎺掗槦銆恈ameraId銆�" + task.getCameraId()+"銆恆larmId銆�" + task.getAlarmId() + "銆恟eceiveTime銆�" + task.getReceiveTime() + + "銆恆larmType銆�" + task.getAlarmType() + "銆恜riority銆�" + task.getPriority() + "銆恘um銆�" + task.getNum() + + "銆恈han銆�" + task.getChanNum() + "銆恟ecordSn銆�" + task.getRecordSn()); } } } -} +} \ No newline at end of file -- Gitblit v1.9.3