From 683f336ea347970c14848d21b87b452c051291d0 Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Thu, 16 Oct 2025 12:52:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java | 8 ++++----
ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java | 23 ++++++++++++++++-------
ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java | 4 ----
3 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java
index 7906af2..1852a1b 100644
--- a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java
@@ -125,10 +125,6 @@
String protocol = mediamtxConfig.isHttps() ? "https://" : "http://";
String webrtcUrl = protocol + mediamtxConfig.getPlayHost() + ":8889" + "/" + name; // 拼接 webrtcUrl
- live.setRtmpUrl(rtmpUrl);
- live.setRtspUrl(rtspUrl);
- live.setWebrtcUrl(webrtcUrl);
-
// 如果没有,插入新的记录
ArdVtdu vtdu = ArdVtdu.builder().name(name).rtspSource("publisher").rtspUrl(rtspUrl).rtmpUrl(rtmpUrl).webrtcUrl(webrtcUrl).build();
int i = ardVtduService.insertArdVtdu(vtdu); // 保存到媒体表
diff --git a/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java b/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java
index 3b202c1..7446a03 100644
--- a/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java
+++ b/ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java
@@ -63,11 +63,11 @@
conf.setMaxReaders(100);
conf.setSourceProtocol("tcp");
- if (!checkNameExist(ardVtdu.getName())) {
- mediaClient.addPath(ardVtdu.getName(), conf);
- } else {
- mediaClient.editPath(ardVtdu.getName(), conf);
+ if (checkNameExist(ardVtdu.getName())) {
+ mediaClient.removePath(ardVtdu.getName());
}
+ mediaClient.addPath(ardVtdu.getName(), conf);
+
ardVtdu.setCameraId(ardVtdu.getName().split("_")[0]);
ardVtdu.setRtspUrl(rtspUrl);
ardVtdu.setRtmpUrl(rtmpUrl);
diff --git a/ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java b/ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java
index 207fbce..f20837b 100644
--- a/ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java
+++ b/ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java
@@ -3,6 +3,7 @@
import com.ard.work.domain.receiver.AccessTokenReceiver;
import com.ard.work.service.IArdServerInfoService;
import com.dtflys.forest.http.ForestRequest;
+import com.dtflys.forest.interceptor.ForestInterceptor;
import com.dtflys.forest.interceptor.Interceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@@ -10,7 +11,7 @@
@Component
@Slf4j
-public class TokenInterceptor<T> implements Interceptor<T> {
+public class TokenInterceptor implements ForestInterceptor {
@Resource
private IArdServerInfoService ardServerService;
@@ -21,11 +22,19 @@
*/
@Override
public boolean beforeExecute(ForestRequest req) {
- log.debug("invoke Simple beforeExecute");
- String serverId = (String) req.getVariableValue("serverId");
- AccessTokenReceiver accessToken = ardServerService.getAccessToken(serverId);
- req.addHeader("x-cid", accessToken.getCompanyId());
- req.addHeader("x-token", accessToken.getAccessToken());
- return true; // 继续执行请求返回true
+ try {
+ String serverId = (String) req.getVariableValue("serverId");
+ AccessTokenReceiver accessToken = ardServerService.getAccessToken(serverId);
+ if (accessToken == null) {
+ log.warn("AccessToken 为 null, serverId={}", serverId);
+ return false; // 阻止请求继续
+ }
+ req.addHeader("x-cid", accessToken.getCompanyId());
+ req.addHeader("x-token", accessToken.getAccessToken());
+ } catch (Exception e) {
+ log.error("TokenInterceptor 处理异常:{}", e.getMessage());
+ return false;
+ }
+ return true;
}
}
\ No newline at end of file
--
Gitblit v1.9.3