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/GuideTask.java | 4 -
ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java | 121 +++++++++++++++++++++-------------------
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuidePriorityQueue.java | 20 ++----
3 files changed, 71 insertions(+), 74 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 f6036a4..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
@@ -40,17 +40,12 @@
public static void printPriorityQueue() {
for (String cameraId : GuidePriorityQueue.cameraQueueMap.keySet()) {
PriorityBlockingQueue<GuideTask> priorityQueue = GuidePriorityQueue.cameraQueueMap.get(cameraId);
-// for (GuideTask task : priorityQueue) {
-//
-// log.info("銆恆larmId銆�" + task.getAlarmId() + "銆恟eceiveTime銆�" + task.getReceiveTime()
-// + "銆恜riority銆�" + task.getPriority() + "銆恘um銆�" + task.getNum()
-// + "銆恈han銆�" + task.getChanNum() + "銆恟ecordSn銆�" + task.getRecordSn() + "銆恈ameraId銆�" + task.getCameraId());
-// }
- while (priorityQueue.size() > 0) {
- GuideTask task = priorityQueue.poll();
+ 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());;
+ + "銆恈han銆�" + task.getChanNum() + "銆恟ecordSn銆�" + task.getRecordSn() + "銆恈ameraId銆�" + task.getCameraId());
}
}
}
@@ -67,14 +62,13 @@
priorityQueue.add(new obj(1, 4, 33));
priorityQueue.add(new obj(1, 4, 44));
priorityQueue.add(new obj(1, 4, 51));
-
- while (priorityQueue.size() > 0) {
- obj task = priorityQueue.poll();
+ 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
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuideTask.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuideTask.java
index 2e6fade..d33976a 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuideTask.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuideTask.java
@@ -43,10 +43,6 @@
*/
String receiveTime;
/**
- * 鎺ユ敹鏃堕棿鐨勬绉掑��
- */
- Integer receiveMillisecond;
- /**
* 鎶ヨ娆℃暟
*/
Integer num;
diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
index 39d07e9..b250206 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java
@@ -696,66 +696,73 @@
* @淇敼浜哄拰鍏跺畠淇℃伅 0-瑙i攣 1-閿佸畾
*/
@Override
+ @SdkOperate
public boolean controlLock(CameraCmd cmd) {
String cameraId = cmd.getCameraId();//鐢宠閿佺殑鐩告満
ArdCameras ardCameras = ardCamerasMapper.selectArdCamerasById(cameraId);
- if (StringUtils.isNull(ardCameras)) {
- return false;//鎵句笉鍒扮浉鏈烘嫆缁濇搷鎺�
- }
- Integer expired = cmd.getExpired();//鐢宠鎺у埗鏃堕暱
- String operator = cmd.getOperator();//鐢宠鑰�
- String currentOperator = ardCameras.getOperatorId();//鐩告満褰撳墠鎺у埗鑰�
- Date currentExpired = ardCameras.getOperatorExpired();//鐩告満褰撳墠杩囨湡鏃堕棿
- if (currentExpired == null) {
- //璁剧疆褰撳墠鎿嶄綔鐢ㄦ埛ID
- ardCameras.setOperatorId(operator);
- //璁剧疆褰撳墠杩囨湡鏃堕棿
- Date now = new Date();
- now.setTime(now.getTime() + expired * 1000);
- ardCameras.setOperatorExpired(now);
- ardCamerasMapper.updateArdCameras(ardCameras);
- } else {
- //濡傛灉杩囨湡鏃堕棿鏈夊��
- //濡傛灉鏄湰浜虹洿鎺ヤ慨鏀�
- if (currentOperator.equals(operator)) {
- //璁剧疆褰撳墠杩囨湡鏃堕棿
- Date now = new Date();
- now.setTime(now.getTime() + expired * 1000);
- ardCameras.setOperatorExpired(now);
- ardCamerasMapper.updateArdCameras(ardCameras);
- } else {
- //濡傛灉闈炴湰浜烘瘮杈冧紭鍏堢骇
- Integer currentLevel = 0;//褰撳墠鎿嶄綔鑰呯殑浼樺厛绾�
- if (CamPriority.priorityMap.containsKey(currentOperator)) {
- /*褰撳墠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/
- currentLevel = (Integer) CamPriority.priorityMap.get(currentOperator);
- } else {
- /*褰撳墠鎺у埗鑰呬负鏅�氱敤鎴�*/
- SysUser sysUser = sysUserMapper.selectUserById(currentOperator);
- currentLevel = sysUser.getCameraPriority();
- }
- Integer operatorLevel = 0;//鑾峰彇鐢宠鑰呯殑浼樺厛绾�
- if (CamPriority.priorityMap.containsKey(operator)) {
- /*鍖呭惈璇存槑褰撳墠鐢宠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/
- operatorLevel = (Integer) CamPriority.priorityMap.get(operator);
- } else {
- /*鍚﹀垯鐢宠鎺у埗鑰呬负褰撳墠鐧诲綍鐢ㄦ埛*/
- LoginUser loginUser = SecurityUtils.getLoginUser();
- SysUser user = loginUser.getUser();//鑾峰彇鐧诲綍鐢ㄦ埛鐨勪俊鎭�
- operatorLevel = user.getCameraPriority();
- }
- //鍒ゆ柇浼樺厛绾�
- if (operatorLevel > currentLevel) {
- Date now = new Date();
- now.setTime(now.getTime() + expired * 60);
- ardCameras.setOperatorExpired(now);//璁剧疆褰撳墠杩囨湡鏃堕棿
- ardCameras.setOperatorId(operator);//璁剧疆褰撳墠鐢ㄦ埛
- ardCamerasMapper.updateArdCameras(ardCameras);
- } else {
- return false;//浼樺厛绾т綆鏃犳硶涓婇攣
- }
- }
- }
+ Date now = new Date();
+ now.setTime(now.getTime() + cmd.getExpired() * 60);
+ ardCameras.setOperatorExpired(now);//璁剧疆褰撳墠杩囨湡鏃堕棿
+ ardCamerasMapper.updateArdCameras(ardCameras);
+// String cameraId = cmd.getCameraId();//鐢宠閿佺殑鐩告満
+// ArdCameras ardCameras = ardCamerasMapper.selectArdCamerasById(cameraId);
+// if (StringUtils.isNull(ardCameras)) {
+// return false;//鎵句笉鍒扮浉鏈烘嫆缁濇搷鎺�
+// }
+// Integer expired = cmd.getExpired();//鐢宠鎺у埗鏃堕暱
+// String operator = cmd.getOperator();//鐢宠鑰�
+// String currentOperator = ardCameras.getOperatorId();//鐩告満褰撳墠鎺у埗鑰�
+// Date currentExpired = ardCameras.getOperatorExpired();//鐩告満褰撳墠杩囨湡鏃堕棿
+// if (currentExpired == null) {
+// //璁剧疆褰撳墠鎿嶄綔鐢ㄦ埛ID
+// ardCameras.setOperatorId(operator);
+// //璁剧疆褰撳墠杩囨湡鏃堕棿
+// Date now = new Date();
+// now.setTime(now.getTime() + expired * 1000);
+// ardCameras.setOperatorExpired(now);
+// ardCamerasMapper.updateArdCameras(ardCameras);
+// } else {
+// //濡傛灉杩囨湡鏃堕棿鏈夊��
+// //濡傛灉鏄湰浜虹洿鎺ヤ慨鏀�
+// if (currentOperator.equals(operator)) {
+// //璁剧疆褰撳墠杩囨湡鏃堕棿
+// Date now = new Date();
+// now.setTime(now.getTime() + expired * 1000);
+// ardCameras.setOperatorExpired(now);
+// ardCamerasMapper.updateArdCameras(ardCameras);
+// } else {
+// //濡傛灉闈炴湰浜烘瘮杈冧紭鍏堢骇
+// Integer currentLevel = 0;//褰撳墠鎿嶄綔鑰呯殑浼樺厛绾�
+// if (CamPriority.priorityMap.containsKey(currentOperator)) {
+// /*褰撳墠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/
+// currentLevel = (Integer) CamPriority.priorityMap.get(currentOperator);
+// } else {
+// /*褰撳墠鎺у埗鑰呬负鏅�氱敤鎴�*/
+// SysUser sysUser = sysUserMapper.selectUserById(currentOperator);
+// currentLevel = sysUser.getCameraPriority();
+// }
+// Integer operatorLevel = 0;//鑾峰彇鐢宠鑰呯殑浼樺厛绾�
+// if (CamPriority.priorityMap.containsKey(operator)) {
+// /*鍖呭惈璇存槑褰撳墠鐢宠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/
+// operatorLevel = (Integer) CamPriority.priorityMap.get(operator);
+// } else {
+// /*鍚﹀垯鐢宠鎺у埗鑰呬负褰撳墠鐧诲綍鐢ㄦ埛*/
+// LoginUser loginUser = SecurityUtils.getLoginUser();
+// SysUser user = loginUser.getUser();//鑾峰彇鐧诲綍鐢ㄦ埛鐨勪俊鎭�
+// operatorLevel = user.getCameraPriority();
+// }
+// //鍒ゆ柇浼樺厛绾�
+// if (operatorLevel > currentLevel) {
+// Date now = new Date();
+// now.setTime(now.getTime() + expired * 60);
+// ardCameras.setOperatorExpired(now);//璁剧疆褰撳墠杩囨湡鏃堕棿
+// ardCameras.setOperatorId(operator);//璁剧疆褰撳墠鐢ㄦ埛
+// ardCamerasMapper.updateArdCameras(ardCameras);
+// } else {
+// return false;//浼樺厛绾т綆鏃犳硶涓婇攣
+// }
+// }
+// }
return true;
}
/**
--
Gitblit v1.9.3