From 3591fc47eaa3e301252dc06d257d46bd3a45e120 Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期一, 23 十月 2023 22:10:19 +0800
Subject: [PATCH] 相机sdk异步登录

---
 ard-work/src/main/java/com/ruoyi/device/dhsdk/service/impl/DhClientServiceImpl.java |   43 ++++++-------------------------------------
 1 files changed, 6 insertions(+), 37 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/dhsdk/service/impl/DhClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/dhsdk/service/impl/DhClientServiceImpl.java
index 2a20d7e..4fcaf12 100644
--- a/ard-work/src/main/java/com/ruoyi/device/dhsdk/service/impl/DhClientServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/dhsdk/service/impl/DhClientServiceImpl.java
@@ -18,6 +18,7 @@
 import com.ruoyi.device.dhsdk.module.*;
 import com.ruoyi.device.dhsdk.service.IDhClientService;
 import com.ruoyi.device.hiksdk.common.GlobalVariable;
+import com.ruoyi.device.camera.service.impl.AsyncLogin;
 import com.ruoyi.media.domain.Vtdu;
 import com.ruoyi.media.service.IVtduService;
 import com.ruoyi.utils.gis.GisUtil;
@@ -25,7 +26,6 @@
 import com.sun.jna.Pointer;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -59,41 +59,12 @@
     @Value("${minio.endpoint}")
     private String minioEndPoint;
 
+
     // 璁惧鏂嚎閫氱煡鍥炶皟
     private static DisConnect disConnect = new DisConnect();
     // 缃戠粶杩炴帴鎭㈠
     private static HaveReConnect haveReConnect = new HaveReConnect();
 
-    /**
-     * 鐧诲綍鎵�鏈夌浉鏈�
-     * 鍒樿嫃涔�
-     * 2023/10/17 8:28:13
-     */
-    @Override
-    public void loginAll() {
-        try {
-            ArdCameras ardCamera = new ArdCameras();
-            ardCamera.setFactory("2");//鑾峰彇澶у崕鐩告満
-            List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(ardCamera);
-            for (ArdCameras camera : ardCameras) {
-                Thread.sleep(500);
-                //寮傛鐧诲綍
-                login(camera);
-            }
-        } catch (Exception ex) {
-            log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
-        }
-    }
-
-    /**
-     * sdk鍒濆鍖�
-     * 鍒樿嫃涔�
-     * 2023/10/17 8:28:13
-     */
-    @Override
-    public Boolean init() {
-        return LoginModule.init(disConnect, haveReConnect);   // 鎵撳紑宸ョ▼锛屽垵濮嬪寲
-    }
 
     /**
      * 鐧诲綍
@@ -101,8 +72,8 @@
      * 2023/10/17 8:28:13
      */
     @Override
-    @Async
     public Boolean login(ArdCameras camera) {
+        LoginModule.init(disConnect, haveReConnect);
         LLong loginId = LoginModule.login(camera.getIp(), camera.getPort(), camera.getUsername(), camera.getPassword());
         if (loginId.longValue() > 0) {
             //log.debug(camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛");
@@ -168,7 +139,6 @@
             ardCamerasService.updateArdCameras(camera);
             return false;
         }
-
         return true;
     }
 
@@ -217,6 +187,7 @@
      * 2023/10/17 8:28:13
      */
     @Override
+    @SdkOperate
     public boolean pTZControl(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         boolean enable = cmd.isEnable();
@@ -368,7 +339,6 @@
      * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�奸渶瑕佸姞涓�360寰楀埌鐨勬鍊艰繘琛岃缃�
      */
     @Override
-    @SdkOperate
     public boolean setZeroPtz(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
@@ -392,7 +362,6 @@
      * @淇敼浜哄拰鍏跺畠淇℃伅
      */
     @Override
-    @SdkOperate
     public String picCutCate(CameraCmd cmd) {
         String cameraId = cmd.getCameraId();
         Integer chanNo = cmd.getChanNo();
@@ -912,7 +881,7 @@
     // 璁惧鏂嚎鍥炶皟: 褰撹澶囧嚭鐜版柇绾挎椂锛孲DK浼氳皟鐢ㄨ鍑芥暟
     private static class DisConnect implements NetSDKLib.fDisConnect {
         public void invoke(LLong m_hLoginHandle, String pchDVRIP, int nDVRPort, Pointer dwUser) {
-            System.out.printf("Device[%s] Port[%d] DisConnect!\n", pchDVRIP, nDVRPort);
+            log.warn("Device["+pchDVRIP+"] Port["+nDVRPort+"] DisConnect!");
         }
     }
 
@@ -920,7 +889,7 @@
     private static class HaveReConnect implements NetSDKLib.fHaveReConnect {
         @Override
         public void invoke(LLong lLoginID, String pchDVRIP, int nDVRPort, Pointer dwUser) {
-            System.out.printf("ReConnect Device[%s] Port[%d]\n", pchDVRIP, nDVRPort);
+            log.warn("ReConnect Device["+pchDVRIP+"] Port["+nDVRPort+"]");
         }
     }
 

--
Gitblit v1.9.3