From 3089fbc788d1dbd638d1cfd9c2f9b7f2011d0af0 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期五, 30 六月 2023 16:21:48 +0800
Subject: [PATCH] 优化sdk控制
---
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuidePriorityQueue.java | 49 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 41 insertions(+), 8 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..72bcc71 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;
/**
@@ -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,41 @@
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());
+ PriorityQueue<GuideTask> queue= new PriorityQueue<>(priorityQueue);
+ while (queue.size() > 0) {
+ GuideTask task = queue.poll();
+ log.info("銆恆larmId銆�" + task.getAlarmId() + "銆恟eceiveTime銆�" + task.getReceiveTime()
+ + "銆恜riority銆�" + task.getPriority() + "銆恘um銆�" + task.getNum()
+ + "銆恈han銆�" + task.getChanNum() + "銆恟ecordSn銆�" + task.getRecordSn() + "銆恈ameraId銆�" + task.getCameraId());
}
}
}
+
+
+ public static void main(String[] args) {
+ Comparator<obj> com1 = Comparator.comparingInt(obj::getNUM1).reversed();
+ Comparator<obj> com2 = Comparator.comparingInt(obj::getNUM2).reversed();
+ Comparator<obj> com3 = Comparator.comparingInt(obj::getNUM3).reversed();
+ Comparator<obj> objComparator = com1.thenComparing(com2).thenComparing(com3);
+ PriorityQueue<obj> priorityQueue = new PriorityQueue<>(objComparator);
+ priorityQueue.add(new obj(1, 1, 65));
+ priorityQueue.add(new obj(1, 4, 21));
+ priorityQueue.add(new obj(1, 4, 33));
+ priorityQueue.add(new obj(1, 4, 44));
+ priorityQueue.add(new obj(1, 4, 51));
+ PriorityQueue<obj> queue= new PriorityQueue<>(priorityQueue);
+ while (queue.size() > 0) {
+ obj task = queue.poll();
+ log.info("銆恘um1銆�" + task.getNUM1() + "銆恘um2銆�" + task.getNUM2() + "銆恘um3銆�" + task.getNUM3());
+ }
+ log.info("=======================================================================");
+ }
}
+
+@Data
+@AllArgsConstructor
+class obj {
+ Integer NUM1;
+ Integer NUM2;
+ Integer NUM3;
+}
\ No newline at end of file
--
Gitblit v1.9.3