From 4a293865ac437a812eea8800cc0b04314efbd210 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 24 十月 2023 10:06:24 +0800
Subject: [PATCH] 异步登录增加延迟时间避免接口频繁 修改大华通道数量获取

---
 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
index 6598897..2e4f73d 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
@@ -3,29 +3,22 @@
 import com.ruoyi.common.annotation.SdkOperate;
 import com.ruoyi.common.constant.CacheConstants;
 import com.ruoyi.common.core.redis.RedisCache;
-import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.service.IArdCamerasService;
 import com.ruoyi.device.camera.service.ICameraSdkService;
-import com.ruoyi.device.channel.domain.ArdChannel;
-import com.ruoyi.device.dhsdk.lib.NetSDKLib;
-import com.ruoyi.device.dhsdk.module.RealPlayModule;
 import com.ruoyi.device.dhsdk.service.IDhClientService;
-import com.ruoyi.device.hiksdk.common.GlobalVariable;
 import com.ruoyi.device.hiksdk.service.IHikClientService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.SmartInitializingSingleton;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
-import static com.ruoyi.device.dhsdk.lib.ToolKits.getErrorCodePrint;
-import static com.ruoyi.device.dhsdk.module.LoginModule.netsdk;
-import static com.ruoyi.device.hiksdk.sdk.HCNetSDK.NET_DVR_CHECK_USER_STATUS;
 
 
 /**
@@ -45,12 +38,27 @@
     IDhClientService dhClientService;
     @Resource
     RedisCache redisCache;
+    @Resource
+    AsyncLogin asyncLogin;
+
+
 
     //鍒濆鍖朣DK
+    @PostConstruct
     @Override
     public void loginAll() {
-        hikClientService.loginAll();//鐧诲綍鍏ㄩ儴娴峰悍鐩告満
-        dhClientService.loginAll();//鐧诲綍鍏ㄩ儴澶у崕鐩告満
+        try {
+            List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
+            for (ArdCameras camera : ardCameras) {
+                if ("1".equals(camera.getFactory())) {
+                    asyncLogin.hikLogin(camera);
+                } else if ("2".equals(camera.getFactory())) {
+                    asyncLogin.dhLogin(camera);
+                }
+            }
+        } catch (Exception ex) {
+            log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
+        }
     }
 
     //鐧诲綍
@@ -61,10 +69,11 @@
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 if (factory.equals("1")) {
-                    hikClientService.login(ardCamera);
+                    asyncLogin.hikLogin(ardCamera);
                     result = true;
                 } else if (factory.equals("2")) {
-                    result = dhClientService.login(ardCamera);
+                    asyncLogin.dhLogin(ardCamera);
+                    result = true;
                 }
             }
         } catch (Exception ex) {
@@ -683,4 +692,6 @@
         }
         return map;
     }
+
+
 }

--
Gitblit v1.9.3