From a767f8b7e2aabf9bb3bb98344e8c559c71c1d442 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期五, 11 八月 2023 14:40:28 +0800
Subject: [PATCH] 过滤通用光电报警只保留移动侦测、周界入侵报警、越界侦测报警 增加报警主机、门禁主机、通用光电数据同步
---
src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java | 124 +++++++++++++++++++++++++++++++++-------
1 files changed, 101 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java b/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
index 428c3fe..1faeb54 100644
--- a/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
+++ b/src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
@@ -121,11 +121,8 @@
/**
* @鎻忚堪 娉ㄥ唽鐧诲綍 闆嗘垚浜嶯ET_DVR_Login_V30锛屾敮鎸佸悓姝ュ拰寮傛鐧诲綍
- * @鍙傛暟 [dvrLogin]
- * @杩斿洖鍊� java.lang.Integer
* @鍒涘缓浜� 鍒樿嫃涔�
* @鍒涘缓鏃堕棿 2023/1/17 16:12
- * @淇敼浜哄拰鍏跺畠淇℃伅
*/
public static void login(DeviceInfo deviceInfo) {
// 鍒濆鍖�
@@ -173,12 +170,34 @@
}
/**
+ * @鎻忚堪 鐢ㄦ埛娉ㄩ攢
+ * @鍒涘缓浜� 鍒樿嫃涔�
+ * @鍒涘缓鏃堕棿 2023/1/17 16:12
+ */
+ public static void logout(DeviceInfo deviceInfo) {
+ String deviceIpPort = deviceInfo.getIp() + ":" + deviceInfo.getPort();
+ //鎾ら槻
+ if (GlobalVariable.alarmMap.containsKey(deviceInfo.getDeviceId())) {
+ Integer lAlarmHandle = GlobalVariable.alarmMap.get(deviceInfo.getDeviceId());
+ boolean b = hCNetSDK.NET_DVR_CloseAlarmChan_V30(lAlarmHandle);
+ if (b) {
+ log.debug("璁惧銆�" + deviceIpPort + "銆戞挙闃叉垚鍔�");
+ }
+ }
+ //鐧诲嚭
+ if (GlobalVariable.loginMap.containsKey(deviceInfo.getDeviceId())) {
+ Integer lUserID = GlobalVariable.loginMap.get(deviceInfo.getDeviceId());
+ boolean b = hCNetSDK.NET_DVR_Logout(lUserID);
+ if (b) {
+ log.debug("璁惧銆�" + deviceIpPort + "銆戞敞閿�鎴愬姛");
+ }
+ }
+ }
+
+ /**
* @鎻忚堪 鐧诲綍鎵�鏈夌浉鏈�
- * @鍙傛暟 []
- * @杩斿洖鍊� void
* @鍒涘缓浜� 鍒樿嫃涔�
* @鍒涘缓鏃堕棿 2023/2/3 10:10
- * @淇敼浜哄拰鍏跺畠淇℃伅
*/
public static void loginAllCamera(List<ArdCameras> ardCameras) {
try {
@@ -191,8 +210,30 @@
info.setUsername(camera.getUsername());
info.setPassword(camera.getPassword());
login(info);
- String ip = camera.getIp();
- GlobalVariable.cameraMap.put(ip, camera);
+ GlobalVariable.cameraMap.put(camera.getIp(), camera);
+ }
+ } catch (Exception ex) {
+ log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
+ }
+ }
+
+ /**
+ * @鎻忚堪 鐧诲嚭鎵�鏈夌浉鏈�
+ * @鍒涘缓浜� 鍒樿嫃涔�
+ * @鍒涘缓鏃堕棿 2023/2/3 10:10
+ */
+ public static void logoutAllCamera(List<ArdCameras> ardCameras) {
+ try {
+ for (ArdCameras camera : ardCameras) {
+ Thread.sleep(100);
+ DeviceInfo info = new DeviceInfo();
+ info.setDeviceId(camera.getId());
+ info.setIp(camera.getIp());
+ info.setPort(camera.getPort());
+ info.setUsername(camera.getUsername());
+ info.setPassword(camera.getPassword());
+ logout(info);
+ GlobalVariable.cameraMap.remove(camera.getIp());
}
} catch (Exception ex) {
log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
@@ -201,11 +242,8 @@
/**
* @鎻忚堪 鐧诲綍鎵�鏈夋姤璀︿富鏈�
- * @鍙傛暟 []
- * @杩斿洖鍊� void
* @鍒涘缓浜� 鍒樿嫃涔�
* @鍒涘缓鏃堕棿 2023/2/3 10:10
- * @淇敼浜哄拰鍏跺畠淇℃伅
*/
public static void loginAllAlarmHost(List<ArdEquipExternal> ardEquipExternals) {
try {
@@ -225,14 +263,34 @@
log.error("鍒濆鍖栨姤璀︿富鏈哄紓甯革細" + ex.getMessage());
}
}
-
/**
- * @鎻忚堪 鐧诲綍鎵�鏈夐棬绂佷富鏈�
- * @鍙傛暟 []
- * @杩斿洖鍊� void
+ * @鎻忚堪 鐧诲嚭鎵�鏈夋姤璀︿富鏈�
* @鍒涘缓浜� 鍒樿嫃涔�
* @鍒涘缓鏃堕棿 2023/2/3 10:10
- * @淇敼浜哄拰鍏跺畠淇℃伅
+ */
+ public static void logoutAllAlarmHost(List<ArdEquipExternal> ardEquipExternals)
+ {
+ try {
+ for (ArdEquipExternal alarmHost : ardEquipExternals) {
+ Thread.sleep(100);
+ DeviceInfo info = new DeviceInfo();
+ info.setDeviceId(alarmHost.getId());
+ info.setIp(alarmHost.getIp());
+ info.setPort(alarmHost.getPort());
+ info.setUsername(alarmHost.getUsername());
+ info.setPassword(alarmHost.getPassword());
+ logout(info);
+ String ip = alarmHost.getIp();
+ GlobalVariable.alarmHostMap.remove(ip);
+ }
+ } catch (Exception ex) {
+ log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
+ }
+ }
+ /**
+ * @鎻忚堪 鐧诲綍鎵�鏈夐棬绂佷富鏈�
+ * @鍒涘缓浜� 鍒樿嫃涔�
+ * @鍒涘缓鏃堕棿 2023/2/3 10:10
*/
public static void loginAllAccessControlHost(List<ArdEquipExternal> ardEquipExternals) {
try {
@@ -246,13 +304,35 @@
info.setPassword(accessControlHost.getPassword());
login(info);
String ip = accessControlHost.getIp();
- GlobalVariable.alarmHostMap.put(ip, accessControlHost);
+ GlobalVariable.accessHostMap.put(ip, accessControlHost);
}
} catch (Exception ex) {
log.error("鍒濆鍖栨姤璀︿富鏈哄紓甯革細" + ex.getMessage());
}
}
-
+ /**
+ * @鎻忚堪 鐧诲嚭鎵�鏈夐棬绂佷富鏈�
+ * @鍒涘缓浜� 鍒樿嫃涔�
+ * @鍒涘缓鏃堕棿 2023/2/3 10:10
+ */
+ public static void logoutAllAccessControlHost(List<ArdEquipExternal> ardEquipExternals) {
+ try {
+ for (ArdEquipExternal accessControlHost : ardEquipExternals) {
+ Thread.sleep(100);
+ DeviceInfo info = new DeviceInfo();
+ info.setDeviceId(accessControlHost.getId());
+ info.setIp(accessControlHost.getIp());
+ info.setPort(accessControlHost.getPort());
+ info.setUsername(accessControlHost.getUsername());
+ info.setPassword(accessControlHost.getPassword());
+ logout(info);
+ String ip = accessControlHost.getIp();
+ GlobalVariable.accessHostMap.remove(ip);
+ }
+ } catch (Exception ex) {
+ log.error("鍒濆鍖栨姤璀︿富鏈哄紓甯革細" + ex.getMessage());
+ }
+ }
/**
* @鎻忚堪 娉ㄩ攢鐧诲綍
* @鍙傛暟 [dvrLogin]
@@ -324,10 +404,8 @@
log.error("璁惧銆�" + deviceIpPort + "銆戝竷闃插け璐ワ紝閿欒鐮�==========銆�" + hCNetSDK.NET_DVR_GetLastError());
// 娉ㄩ攢 閲婃斁sdk璧勬簮
logout(lUserID);
- return lAlarmHandle;
} else {
log.debug("璁惧銆�" + deviceIpPort + "銆戝竷闃叉垚鍔�");
- return lAlarmHandle;
}
}
return lAlarmHandle;
@@ -374,11 +452,11 @@
//璁剧疆鍥剧墖澶у皬
ByteBuffer jpegBuffer = ByteBuffer.allocate(1024 * 1024);
// 鎶撳浘鍒板唴瀛橈紝鍗曞抚鏁版嵁鎹曡幏骞朵繚瀛樻垚JPEG瀛樻斁鍦ㄦ寚瀹氱殑鍐呭瓨绌洪棿涓�
- log.debug("-----------杩欓噷寮�濮嬪皝瑁� NET_DVR_CaptureJPEGPicture_NEW---------");
+ // log.debug("-----------杩欓噷寮�濮嬪皝瑁� NET_DVR_CaptureJPEGPicture_NEW---------");
boolean is = hCNetSDK.NET_DVR_CaptureJPEGPicture_NEW(userId, channelNum, jpeg, jpegBuffer, 1024 * 1024, a);
- log.debug("-----------杩欓噷寮�濮嬪浘鐗囧瓨鍏ュ唴瀛�----------" + is);
+ //log.debug("-----------杩欓噷寮�濮嬪浘鐗囧瓨鍏ュ唴瀛�----------" + is);
if (is) {
- log.debug("hksdk(鎶撳浘)-缁撴灉鐘舵�佸��(0琛ㄧず鎴愬姛):" + hCNetSDK.NET_DVR_GetLastError());
+ // log.debug("hksdk(鎶撳浘)-缁撴灉鐘舵�佸��(0琛ㄧず鎴愬姛):" + hCNetSDK.NET_DVR_GetLastError());
byte[] array = jpegBuffer.array();
//瀛樺偍鍒癿inio
--
Gitblit v1.9.3