From 7a164e24123df74c3228324e4a398b79cb9c12b6 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Fri, 12 Dec 2025 14:37:17 +0800
Subject: [PATCH] 增加禁飞区距离计算
---
ard-work/src/main/java/com/ard/work/component/websocket/handler/UavStreamManager.java | 20 +++++++++-----------
1 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavStreamManager.java b/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavStreamManager.java
index e24af6f..40b795b 100644
--- a/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavStreamManager.java
+++ b/ard-work/src/main/java/com/ard/work/component/websocket/handler/UavStreamManager.java
@@ -42,14 +42,15 @@
public void subscribe(String boxSn, Long userId) {
STREAM_USER_MAP.computeIfAbsent(boxSn, k -> ConcurrentHashMap.newKeySet()).add(userId);
- String webrtcUrl = getWebrtcUrl(boxSn);
+ BoxStreamUrlReceiver streamReceiver = getWebrtcUrl(boxSn);
+ String webrtcUrl = streamReceiver.getRtc();
if (Objects.equals(webrtcUrl, "")) {
log.warn("{}{}{}", STREAM_LOG_PREFIX, STREAM_NOT_FOUND_MSG, boxSn);
BaseMessage<String> baseMessage = new BaseMessage<>("stream", STREAM_NOT_FOUND_MSG + boxSn);
sendMessageToUser(userId, JSON.toJSONString(baseMessage));
}
BOX_STREAM_PULL_MAP.put(boxSn, webrtcUrl);
- BaseMessage<String> baseMessage = new BaseMessage<>("stream", webrtcUrl);
+ BaseMessage<BoxStreamUrlReceiver> baseMessage = new BaseMessage<>("stream", streamReceiver);
sendMessageToUser(userId, JSON.toJSONString(baseMessage));
}
@@ -117,15 +118,12 @@
* @param boxSn 盒子编号
* @return String webrtcUrl
*/
- private String getWebrtcUrl(String boxSn) {
- try {
- BoxStreamUrlReceiver boxLiveUrl = tyService.getBoxLiveUrl(boxSn);
- if (boxLiveUrl != null) {
- return boxLiveUrl.getRtc();
- }
- } catch (Exception e) {
- log.error("获取媒体地址异常:{}", e.getMessage());
+ private BoxStreamUrlReceiver getWebrtcUrl(String boxSn) {
+ BoxStreamUrlReceiver boxLiveUrl = tyService.getBoxLiveUrl(boxSn);
+ if (boxLiveUrl == null) {
+ throw new RuntimeException("未获取到盒子直播地址:" + boxSn);
}
- return "";
+ boxLiveUrl.setBoxSn(boxSn);
+ return boxLiveUrl;
}
}
\ No newline at end of file
--
Gitblit v1.9.3