From e4aeeaf6fc665faa0f1e9e71c60609d62a9b093f Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Fri, 21 Nov 2025 17:00:49 +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