From 483f72f5540bdefb3ddd4726113b3c171eb7107d Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 06 七月 2023 17:20:41 +0800
Subject: [PATCH] 增加外联设备报警解析并上传mqtt
---
src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java | 43 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 39 insertions(+), 4 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 7ace4c1..62455b1 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
@@ -2,11 +2,13 @@
import com.ard.alarm.camera.domain.ArdCameras;
import com.ard.alarm.camera.domain.CameraCmd;
+import com.ard.utils.ByteUtils;
import com.ard.utils.hiksdk.common.GlobalVariable;
import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK;
import com.ard.utils.hiksdk.util.minio.MinioUtils;
import com.sun.jna.Native;
import com.sun.jna.Platform;
+import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import lombok.extern.slf4j.Slf4j;
@@ -124,7 +126,6 @@
* @鍒涘缓鏃堕棿 2023/1/17 16:12
* @淇敼浜哄拰鍏跺畠淇℃伅
*/
-
public static void login(ArdCameras camera) {
// 鍒濆鍖�
if (!hCNetSDK.NET_DVR_Init()) {
@@ -186,7 +187,7 @@
Thread.sleep(100);
login(camera);
String ip = camera.getIp();
- cameraMap.put(ip,camera);
+ cameraMap.put(ip, camera);
}
} catch (Exception ex) {
log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
@@ -254,7 +255,7 @@
HCNetSDK.NET_DVR_SETUPALARM_PARAM m_strAlarmInfo = new HCNetSDK.NET_DVR_SETUPALARM_PARAM();
m_strAlarmInfo.dwSize = m_strAlarmInfo.size();
// 鏅鸿兘浜ら�氬竷闃蹭紭鍏堢骇锛�0 - 涓�绛夌骇锛堥珮锛夛紝1 - 浜岀瓑绾э紙涓級锛�2 - 涓夌瓑绾э紙浣庯級
- m_strAlarmInfo.byLevel = 1;
+ m_strAlarmInfo.byLevel = 2;
// 鏅鸿兘浜ら�氭姤璀︿俊鎭笂浼犵被鍨嬶細0 - 鑰佹姤璀︿俊鎭紙NET_DVR_PLATE_RESULT锛�, 1 - 鏂版姤璀︿俊鎭�(NET_ITS_PLATE_RESULT)
m_strAlarmInfo.byAlarmInfoType = 1;
// 甯冮槻绫诲瀷(浠呴拡瀵归棬绂佷富鏈恒�佷汉璇佽澶�)锛�0 - 瀹㈡埛绔竷闃�(浼氭柇缃戠画浼�)锛�1 - 瀹炴椂甯冮槻(鍙笂浼犲疄鏃舵暟鎹�)
@@ -263,7 +264,6 @@
// 甯冮槻鎴愬姛锛岃繑鍥炲竷闃叉垚鍔熺殑鏁版嵁浼犺緭閫氶亾鍙�
lAlarmHandle = hCNetSDK.NET_DVR_SetupAlarmChan_V41(lUserID, m_strAlarmInfo);
if (lAlarmHandle == -1) {
- log.error("璁惧甯冮槻澶辫触锛岄敊璇爜==========銆�" + hCNetSDK.NET_DVR_GetLastError());
log.error("璁惧甯冮槻澶辫触锛岄敊璇爜==========銆�" + hCNetSDK.NET_DVR_GetLastError());
// 娉ㄩ攢 閲婃斁sdk璧勬簮
logout(lUserID);
@@ -287,6 +287,7 @@
// 閲婃斁sdk璧勬簮
hCNetSDK.NET_DVR_Cleanup();
}
+
/**
* 鎶撳浘
*
@@ -344,4 +345,38 @@
return "";
}
}
+
+ /**
+ * 鑾峰彇闃插尯鍚嶇О
+ * 閫氶亾鍙�==闃插尯鍙� 浠�0寮�濮�
+ * 鍒樿嫃涔�
+ * 2023/7/6 10:48
+ */
+ public static String getDefenseZoneName(CameraCmd cmd) {
+ String name="";
+ try {
+ String cameraId = cmd.getCameraId();
+ Integer channelNum = cmd.getWZoneIndex();//閫氶亾鍙�==闃插尯鍙�
+ if (!GlobalVariable.loginMap.containsKey(cameraId)) {
+ return name;
+ }
+ Integer userId = GlobalVariable.loginMap.get(cameraId);
+
+ HCNetSDK.NET_DVR_ALARMIN_PARAM netDvrAlarminParam = new HCNetSDK.NET_DVR_ALARMIN_PARAM();
+ Pointer point = netDvrAlarminParam.getPointer();
+ IntByReference ibrBytesReturned = new IntByReference();
+ netDvrAlarminParam.write();
+ boolean b = hCNetSDK.NET_DVR_GetDVRConfig(userId, HCNetSDK.NET_DVR_GET_ALARMIN_PARAM, channelNum, point, netDvrAlarminParam.size(), ibrBytesReturned);
+ if (b) {
+ netDvrAlarminParam.read();
+ name = ByteUtils.bytesToStringZh(netDvrAlarminParam.byName);
+ } else {
+ int error = hCNetSDK.NET_DVR_GetLastError();
+ log.info("鑾峰彇闃插尯鍚嶇О澶辫触:" + error);
+ }
+ } catch (Exception ex) {
+ log.error("鑾峰彇闃插尯鍚嶇О寮傚父:" + ex.getMessage());
+ }
+ return name;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3