From 9775ffc356e1ed822f7367619ce7a9907cb49bc0 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Sat, 13 Jan 2024 14:08:12 +0800
Subject: [PATCH] 融云token获取改为异步 setptz改为大光电用高精度setptz其他用普通setptz
---
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java | 10 +++++++++-
ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java | 6 ++++--
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 2 ++
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java | 2 +-
ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java | 5 ++++-
ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java | 7 ++++++-
6 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java b/ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java
index 9bbcc39..6def333 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/factory/CameraSDK.java
@@ -76,7 +76,10 @@
//获取ptz范围
Map<String, Object> getPtzScope(CameraCmd cmd);
- //设置ptz
+ //设置ptz1(不支持2通道的Z值设置和获取)
+ boolean setPtz1(CameraCmd cmd);
+
+ //设置ptz(高精度ptz设置)
boolean setPtz(CameraCmd cmd);
//设置零方位角
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 ef9e57d..55f8e45 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
@@ -426,7 +426,15 @@
if (ardCamera != null) {
String factory = ardCamera.getFactory();
CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory);
- result = cameraSDK.setPtz(cmd);
+ String gdtype = ardCamera.getGdtype();
+ if(gdtype.equals("1")) {
+ //大光电使用高精度ptz设置
+ result = cameraSDK.setPtz(cmd);
+ }else
+ {
+ result = cameraSDK.setPtz1(cmd);
+ }
+
}
} catch (Exception ex) {
log.error("设置ptz异常:" + ex.getMessage());
diff --git a/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java b/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
index b28a33b..fe2595e 100644
--- a/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.rongcloud.service.Impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dtflys.forest.exceptions.ForestRuntimeException;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.redis.RedisCache;
@@ -61,8 +62,9 @@
Map<String, Object> map = rongCloudClient.getToken(getRongCloudHead(), param);
token = (String) map.get("token");
log.debug("用户" + userId + "获取到融云token:" + token);
- } catch (Exception ex) {
- log.error("获取token异常:" + ex.getMessage());
+ }catch(ForestRuntimeException ex)
+ {
+ log.error("获取融云token异常:" + ex.getMessage());
}
return token;
}
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
index 2eb90d2..de60871 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java
@@ -426,6 +426,11 @@
return null;
}
+ @Override
+ public boolean setPtz1(CameraCmd cmd) {
+ return false;
+ }
+
/**
* @描述 设置ptz信息
* @参数 [userId, channelNum]
@@ -1083,4 +1088,4 @@
}
}
-}
\ No newline at end of file
+}
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
index 55f7de1..ff42951 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
@@ -988,7 +988,7 @@
* @创建时间 2023/1/17 16:36
* @修改人和其它信息 注意俯仰角度负值需要加上360得到的正值进行设置
*/
-
+ @Override
public boolean setPtz1(CameraCmd cmd) {
String cameraId = cmd.getCameraId();
Integer channelNum = cmd.getChanNo();
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index 7e23657..aa97e37 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -4,6 +4,7 @@
import com.ruoyi.rongcloud.service.RongCloudService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -151,6 +152,7 @@
*
* @param loginUser 登录用户
*/
+ @Async
public String getRongCloudToken(LoginUser loginUser) {
try {
String userId = loginUser.getUserId();
--
Gitblit v1.9.3