From 1169887e810367b74ea612738cf0a354f8bd6470 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 24 九月 2024 19:18:28 +0800
Subject: [PATCH] 报警接口
---
ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 74 insertions(+), 1 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java b/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java
index 823256f..46095f2 100644
--- a/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java
+++ b/ycl-platform/src/main/java/com/ycl/task/SynchronizeHKVideo.java
@@ -1,16 +1,25 @@
package com.ycl.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sun.jna.ptr.IntByReference;
import com.ycl.dto.video.Camera;
import com.ycl.dto.video.PageResult;
import com.ycl.entity.video.VideoPoint;
import com.ycl.service.video.impl.IVideoPointService;
import com.ycl.util.VideoUtil;
+import com.ycl.util.dahua.alarm.AlarmDataCB;
+import com.ycl.util.dahua.lib.LibraryLoad;
+import com.ycl.util.dahua.lib.NetSDKLib;
+import com.ycl.util.dahua.lib.module.LoginModule;
+import com.ycl.util.dahua.login.DisConnectCallBack;
+import com.ycl.util.dahua.login.HaveReConnectCallBack;
+import com.ycl.util.dahua.module.AlarmListenModule;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
+import java.io.File;
import java.util.ArrayList;
import java.util.List;
@@ -25,7 +34,7 @@
@Autowired
private VideoUtil videoUtil;
-// @Scheduled(cron = "0 */5 * * * ?") // 姣�5鍒嗛挓鎵ц
+ // @Scheduled(cron = "0 */5 * * * ?") // 姣�5鍒嗛挓鎵ц
@Scheduled(cron = "0 0 1 * * ?")
@Transactional(rollbackFor = Exception.class)
public void scheduledTask() {
@@ -35,6 +44,70 @@
}
+ public static final NetSDKLib netSdk = NetSDKLib.NETSDK_INSTANCE;
+ // 鐧婚檰鍙ユ焺
+ private NetSDKLib.LLong loginHandle = new NetSDKLib.LLong(0);
+
+ // 棰勮棰勮鍙ユ焺
+ private static NetSDKLib.LLong lRealHandle = new NetSDKLib.LLong(0);
+
+
+ // 璁惧淇℃伅鎵╁睍
+ private NetSDKLib.NET_DEVICEINFO_Ex deviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex();
+
+ @Scheduled(cron = "0 */1 * * * ?")
+ @Transactional(rollbackFor = Exception.class)
+ public void scheduledTestTask() {
+ try {
+
+ System.out.println("澶у崕锛氬紑濮嬫墽琛�");
+ LibraryLoad.setExtractPath("/home/sccg/libs/linux64");
+// LibraryLoad.setExtractPath("D:\\1.workcode\\ycyl\\sccg_server\\ycl-platform\\src\\main\\resources\\libs\\win64");
+ AlarmDataCB cbMessage = new AlarmDataCB();
+ String m_strIp = "172.28.194.186";
+ int m_nPort = 37777;
+ String m_strUser = "admin";
+ String m_strPassword = "scdx@123";
+ InitTest();
+ // 鐧婚檰璁惧
+ int nSpecCap = NetSDKLib.EM_LOGIN_SPAC_CAP_TYPE.EM_LOGIN_SPEC_CAP_TCP; // TCP鐧诲叆
+ IntByReference nError = new IntByReference(0);
+ loginHandle = netSdk.CLIENT_LoginEx2(m_strIp, m_nPort, m_strUser,
+ m_strPassword, nSpecCap, null, deviceInfo, nError);
+ if (loginHandle.longValue() != 0) {
+ System.out.printf("Login Device[%s] Success!\n", m_strIp);
+ } else {
+ System.err.printf("Login Device[%s] Fail.Error[0x%x]\n", m_strIp, netSdk.CLIENT_GetLastError());
+// LoginOut();
+ }
+
+ AlarmListenModule.startListen(cbMessage, loginHandle);
+
+ } catch (Exception ex) {
+ System.out.println(ex.getMessage());
+ }
+ }
+
+ public void InitTest() {
+ // 鍒濆鍖朣DK搴�
+ netSdk.CLIENT_Init(DisConnectCallBack.getInstance(), null);
+
+ // 璁剧疆鏂嚎閲嶈繛鎴愬姛鍥炶皟鍑芥暟
+ netSdk.CLIENT_SetAutoReconnect(HaveReConnectCallBack.getInstance(), null);
+
+ //鎵撳紑鏃ュ織锛屽彲閫�
+ NetSDKLib.LOG_SET_PRINT_INFO setLog = new NetSDKLib.LOG_SET_PRINT_INFO();
+ String logPath = new File(".").getAbsoluteFile().getParent() + File.separator + "sdk_log" + File.separator + "sdk.log";
+ setLog.bSetFilePath = 1;
+ System.arraycopy(logPath.getBytes(), 0, setLog.szLogFilePath, 0, logPath.getBytes().length);
+ setLog.bSetPrintStrategy = 1;
+ setLog.nPrintStrategy = 0;
+ if (!netSdk.CLIENT_LogOpen(setLog)) {
+ System.err.println("Open SDK Log Failed!!!");
+ }
+
+ }
+
private void findVideoList(Integer pageNo, Integer pageSize) {
try {
PageResult<Camera> pageResult = videoUtil.callPostCameras(pageNo, pageSize, "0");
--
Gitblit v1.8.0