package com.ruoyi.alarm.globalAlarm.domain;
|
|
import com.ruoyi.alarm.globalAlarm.service.impl.GuideTask;
|
|
import java.util.Comparator;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* @Description:
|
* @ClassName: PriorityQueue
|
* @Author: 刘苏义
|
* @Date: 2023年06月29日11:18
|
* @Version: 1.0
|
**/
|
public class GuidePriorityQueue {
|
/**
|
* 相机队列,每个相机一个优先级队列
|
*/
|
public static Map<String, java.util.PriorityQueue<GuideTask>> cameraQueueMap = new HashMap<>();
|
|
/**
|
* 创建一个自定义的比较器,根据优先级属性进行比较
|
*/
|
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);
|
return Comparator;
|
}
|
|
}
|