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