From 4e8a1c02b45f72f6377603778e8c8746ed82f374 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 06 Jan 2026 10:04:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-device/src/main/java/com/ard/device/component/sdk/service/CameraSDKService.java |   69 ++++++++++++++++------------------
 1 files changed, 33 insertions(+), 36 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..5de1b57 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,74 +38,69 @@
 
     //异步登录
     @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(ArdCamera ardCamera) {
         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缓存
-                }
-            }
+
+            String factory = ardCamera.getFactory();
+            CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+            cameraSDK.logout(ardCamera);
         } catch (Exception ex) {
             log.error("注销异常:{}", ex.getMessage());
-            return false;
         }
-        return result;
     }
 
     //在线检测
-    public boolean isOnLine(CameraCmd cmd) {
+    @Override
+    public boolean isOnLine(ArdCamera ardCamera) {
         try {
-            boolean onLine = false;
-            String cameraId = cmd.getCameraId();
-            ArdCamera ardCamera = redisService.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
-            if (ardCamera != null) {
-                String factory = ardCamera.getFactory();
-                CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-                onLine = cameraSDK.isOnLine(cmd);
-            }
-            return onLine;
+            String factory = ardCamera.getFactory();
+            CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
+            return cameraSDK.isOnLine(ardCamera);
         } catch (Exception ex) {
             log.error("检测在线异常:{}", ex.getMessage());
             return false;
         }
     }
 
+    @Override
     //获取码流压缩参数
-    public VideoCompressionCfg getVideoCompressionCfg(CameraCmd cmd) {
+    public VideoCompressionCfg getVideoCompressionCfg(ArdCamera ardCamera) {
         try {
-            String cameraId = cmd.getCameraId();
-            ArdCamera ardCamera = redisService.getCacheObject(CacheConstants.CAMERA_LIST_KEY + cameraId);
-            if (ardCamera == null) {
-                return null;
-            }
             String factory = ardCamera.getFactory();
             CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
-            return cameraSDK.getVideoCompressionCfg(cmd);
+            return cameraSDK.getVideoCompressionCfg(ardCamera);
         } catch (Exception ex) {
             log.error("获取码流压缩参数异常:{}", ex.getMessage());
             return null;
         }
     }
 
-
+    //获取通道列表
+    @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