From 16fd4235f692777cfd9cceff5090e5450e2173b3 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 04 Mar 2025 13:59:05 +0800
Subject: [PATCH] 优化包结构、增加载荷飞控权限

---
 ard-work/src/main/java/com/ard/tianyu/service/stream/UavStreamManager.java |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/ard-work/src/main/java/com/ard/tianyu/service/impl/UavStreamManager.java b/ard-work/src/main/java/com/ard/tianyu/service/stream/UavStreamManager.java
similarity index 87%
rename from ard-work/src/main/java/com/ard/tianyu/service/impl/UavStreamManager.java
rename to ard-work/src/main/java/com/ard/tianyu/service/stream/UavStreamManager.java
index e3d03ca..33d5550 100644
--- a/ard-work/src/main/java/com/ard/tianyu/service/impl/UavStreamManager.java
+++ b/ard-work/src/main/java/com/ard/tianyu/service/stream/UavStreamManager.java
@@ -1,12 +1,10 @@
-package com.ard.tianyu.service.impl;
+package com.ard.tianyu.service.stream;
 
-import com.ard.tianyu.model.receiver.BoxStreamUrlReceiver;
+import com.ard.tianyu.domain.receiver.BoxStreamUrlReceiver;
 import com.ard.tianyu.service.ITyService;
 import com.ard.tianyu.websocket.utils.WebSocketUtil;
 import com.ard.vtdu.domain.ArdVtdu;
-import com.ard.vtdu.domain.Conf;
 import com.ard.vtdu.service.IMediaService;
-import com.dtflys.forest.exceptions.ForestNetworkException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -33,7 +31,7 @@
     // 盒子拉流地址缓存 key:boxSn value: webrtcUrl
     public static final ConcurrentMap<String, String> BOX_STREAM_PULL_MAP = new ConcurrentHashMap<>();
     // 盒子拉流用户集合缓存 key:boxSn value:Set<UserId>
-    public static final ConcurrentMap<String, Set<String>> STREAM_USER_MAP = new ConcurrentHashMap<>();
+    public static final ConcurrentMap<String, Set<Long>> STREAM_USER_MAP = new ConcurrentHashMap<>();
 
     /**
      * 开始拉流
@@ -41,7 +39,7 @@
      * @param boxSn  盒子序列号
      * @param userId 用户ID
      */
-    public void startPullStream(String boxSn, String userId) {
+    public void startPullStream(String boxSn, Long userId) {
         String webrtcUrl = "";
         STREAM_USER_MAP.computeIfAbsent(boxSn, k -> ConcurrentHashMap.newKeySet()).add(userId);
         //不管谁拉流都判断流媒体中是否存在
@@ -65,9 +63,9 @@
      * @param boxSn  盒子序列号
      * @param userId 用户ID
      */
-    public void stopPullStream(String boxSn, String userId) {
+    public void stopPullStream(String boxSn, Long userId) {
         synchronized (this) {
-            Set<String> users = STREAM_USER_MAP.get(boxSn);
+            Set<Long> users = STREAM_USER_MAP.get(boxSn);
             if (users == null) {
                 log.warn("{}No active users for box: {}", STREAM_LOG_PREFIX, boxSn);
                 sendMessageToUser(userId, "No active users for box: " + boxSn);
@@ -93,7 +91,7 @@
      *
      * @param userId 用户ID
      */
-    public void stopAllPullStreamByUser(String userId) {
+    public void stopAllPullStreamByUser(Long userId) {
         synchronized (this) {
             STREAM_USER_MAP.forEach((boxSn, users) -> stopPullStream(boxSn, userId));
         }
@@ -105,7 +103,7 @@
      * @param userId  用户ID
      * @param message 消息内容
      */
-    private void sendMessageToUser(String userId, String message) {
+    private void sendMessageToUser(Long userId, String message) {
         try {
             WebSocketUtil.sendMessage(userId, message);
         } catch (Exception e) {

--
Gitblit v1.9.3