From 4269d20178cfab9253aacac15e1c02905c192428 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期五, 15 十二月 2023 13:33:52 +0800
Subject: [PATCH] 设备健康列表
---
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java | 33 ++++++++++++++++++++-------------
1 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
index d822c17..8bf60c2 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
@@ -57,6 +57,7 @@
@Resource
private QueueHandler queueHandler;
+ public Object _lock=new Object();
public static HCNetSDK hCNetSDK = HCNetSDK.hCNetSDK;
private static HCNetSDK.FExceptionCallBack fExceptionCallBack;//寮傚父鍥炶皟
@@ -180,7 +181,6 @@
@Async("loginExecutor")
public void asyncLogin(ArdCameras camera) {
try {
- Thread.sleep(100);
// 鍒濆鍖�
if (!hCNetSDK.NET_DVR_Init()) {
log.error("SDK鍒濆鍖栧け璐�");
@@ -230,17 +230,18 @@
}
log.debug("Login Success 銆� " + camera.getIp() + ":" + camera.getPort() + " 銆�");
- if (fExceptionCallBack == null) {
- fExceptionCallBack = new ExceptionCallBack();//寮傚父鍥炶皟
- //璁剧疆寮傚父鍥炶皟鍑芥暟(鍙湪鍥炶皟鍑芥暟涓幏鍙栬澶囦笂涓嬬嚎鐘舵�佺瓑)
- if (!hCNetSDK.NET_DVR_SetExceptionCallBack_V30(0, 0, fExceptionCallBack, null)) {
- log.debug("Set fExceptionCallBack function fail");
- return;
- } else {
- log.debug("Set fExceptionCallBack function successfully!");
+ synchronized (_lock) {
+ if (fExceptionCallBack == null) {
+ fExceptionCallBack = new ExceptionCallBack();//寮傚父鍥炶皟
+ //璁剧疆寮傚父鍥炶皟鍑芥暟(鍙湪鍥炶皟鍑芥暟涓幏鍙栬澶囦笂涓嬬嚎鐘舵�佺瓑)
+ if (!hCNetSDK.NET_DVR_SetExceptionCallBack_V30(0, 0, fExceptionCallBack, null)) {
+ log.debug("Set fExceptionCallBack function fail");
+ return;
+ } else {
+ log.debug("Set fExceptionCallBack function successfully!");
+ }
}
}
-
if (GlobalVariable.loginMap.containsKey(camera.getId())) {
GlobalVariable.loginMap.remove(camera.getId());
}
@@ -269,6 +270,15 @@
//娣诲姞鍒版祦濯掍綋
addVtdu(camera);
//鍒涘缓寮曞闃熷垪
+ createGuideQueue(camera);
+ } catch (Exception ex) {
+ log.error("娉ㄥ唽璁惧寮傚父", ex);
+ }
+ }
+
+ //鍒涘缓寮曞闃熷垪
+ private void createGuideQueue(ArdCameras camera) {
+ if(camera.getCamAlarmGuideEnable()!=null) {
if (camera.getCamAlarmGuideEnable() == 1) {
if (!GuidePriorityQueue.cameraQueueMap.containsKey(camera.getId())) {
Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator();
@@ -278,11 +288,8 @@
queueHandler.process(camera.getId());
}
}
- } catch (Exception ex) {
- log.error("娉ㄥ唽璁惧寮傚父", ex);
}
}
-
//娣诲姞鍒版祦濯掍綋
private void addVtdu(ArdCameras camera) {
try {
--
Gitblit v1.9.3