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