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 |   81 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 77 insertions(+), 4 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 d06fefc..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,13 +34,77 @@
     @Autowired
     private VideoUtil videoUtil;
 
-//    @Scheduled(cron = "0/9 * * * * ?")   // 姣忕鎵ц
-//    @Scheduled(cron = "0 0/1 * ?")
+    //    @Scheduled(cron = "0 */5 * * * ?")   // 姣�5鍒嗛挓鎵ц
+    @Scheduled(cron = "0 0 1 * * ?")
     @Transactional(rollbackFor = Exception.class)
     public void scheduledTask() {
-        System.out.println("娴峰悍锛氬紑濮嬫墽琛�");
+//        System.out.println("娴峰悍锛氬紑濮嬫墽琛�");
 
-        findVideoList(1, 20);
+        findVideoList(1, 5);
+
+    }
+
+    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!!!");
+        }
 
     }
 

--
Gitblit v1.8.0