From 44dcd9db97538d3edb60ff3c152b91a7042261ad Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Sat, 27 Dec 2025 10:26:03 +0800
Subject: [PATCH] 优化

---
 ard-device/src/main/java/com/ard/device/component/sdk/service/CameraSDKService.java |   39 +++++++++++++++++++++++++--------------
 1 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/ard-device/src/main/java/com/ard/device/component/sdk/service/CameraSDKService.java b/ard-device/src/main/java/com/ard/device/component/sdk/service/CameraSDKService.java
index d06f34e..4ca608e 100644
--- a/ard-device/src/main/java/com/ard/device/component/sdk/service/CameraSDKService.java
+++ b/ard-device/src/main/java/com/ard/device/component/sdk/service/CameraSDKService.java
@@ -5,6 +5,7 @@
 import com.ard.common.core.redis.RedisCache;
 import com.ard.device.camera.domain.ArdCamera;
 import com.ard.device.camera.domain.CameraCmd;
+import com.ard.device.channel.domain.ArdChannel;
 import com.ard.device.channel.domain.VideoCompressionCfg;
 import com.ard.device.component.sdk.common.GlobalVariable;
 import com.ard.device.component.sdk.factory.CameraSDKFactory;
@@ -12,6 +13,7 @@
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Date;
@@ -26,7 +28,7 @@
  **/
 @Service
 @Slf4j
-public class CameraSDKService {
+public class CameraSDKService implements CameraSDK {
 
     @Resource
     private RedisCache redisService;
@@ -36,41 +38,39 @@
 
     //异步登录
     @Async
-    public AjaxResult login(ArdCamera ardCamera) {
+    @Override
+    public void login(ArdCamera ardCamera) {
         try {
             if (ardCamera == null) {
-                return AjaxResult.warn("设备不存在");
+                log.warn("设备不存在");
+                return;
             }
             String factory = ardCamera.getFactory();
             CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-            return cameraSDK.login(ardCamera);//异步登录
+            cameraSDK.login(ardCamera);//异步登录
         } catch (Exception ex) {
             log.error("登录异常:{}", ex.getMessage());
-            return AjaxResult.error("登录异常:" + ex.getMessage());
         }
     }
 
     //注销
-    public boolean logout(String cameraId) {
-        boolean result = false;
+    @Override
+    public void logout(String cameraId) {
         try {
             ArdCamera ardCamera = redisService.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
             if (ardCamera != null) {
                 String factory = ardCamera.getFactory();
                 CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                result = cameraSDK.logout(cameraId);
-                if (result) {
-                    GlobalVariable.loginMap.remove(cameraId);//移除相机登录id缓存
-                }
+                cameraSDK.logout(cameraId);
+                GlobalVariable.loginMap.remove(cameraId);//移除相机登录id缓存
             }
         } catch (Exception ex) {
             log.error("注销异常:{}", ex.getMessage());
-            return false;
         }
-        return result;
     }
 
     //在线检测
+    @Override
     public boolean isOnLine(CameraCmd cmd) {
         try {
             boolean onLine = false;
@@ -88,6 +88,7 @@
         }
     }
 
+    @Override
     //获取码流压缩参数
     public VideoCompressionCfg getVideoCompressionCfg(CameraCmd cmd) {
         try {
@@ -105,5 +106,15 @@
         }
     }
 
-
+    //获取通道列表
+    @Override
+    public List<ArdChannel> getChannels(ArdCamera camera) {
+        try {
+            CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(camera.getFactory());
+            return cameraSDK.getChannels(camera);
+        } catch (Exception ex) {
+            log.error("获取相机通道异常:{}", ex.getMessage());
+            return null;
+        }
+    }
 }

--
Gitblit v1.9.3