From 0429afb3ad76444dc0a957d9f20d77a2a66b2e24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Thu, 25 Dec 2025 13:29:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StreamRecordController.java | 14 +++++++++++ .../tuoheng/steam/service/ITaskService.java | 4 ++++ .../tuoheng/steam/service/TaskService.java | 23 +++++++++++++------ 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/tuoheng/steam/controller/StreamRecordController.java b/src/main/java/com/tuoheng/steam/controller/StreamRecordController.java index d1b7982..50dfc1c 100644 --- a/src/main/java/com/tuoheng/steam/controller/StreamRecordController.java +++ b/src/main/java/com/tuoheng/steam/controller/StreamRecordController.java @@ -113,6 +113,20 @@ public class StreamRecordController { } } + @GetMapping({"infoList"}) + public Response> infoList(@RequestParam String streamUrl) { + logger.info("查看录制列表 :" + streamUrl); + streamUrl = this.streamSwitch(streamUrl); + logger.info("查看录制列表_ :" + streamUrl); + if (Objects.isNull(streamUrl)) { + return Response.fail(-1); + } else { + Response> response = Response.success(this.taskService.getTaskList(streamUrl)); + logger.info("查看录制列表返回 :" + JSON.toJSONString(response)); + return response; + } + } + @PostMapping({"search"}) public Response> streamView(@RequestBody PageStreamRequest request) { logger.info("查看录制 search :" + JSON.toJSONString(request)); diff --git a/src/main/java/com/tuoheng/steam/service/ITaskService.java b/src/main/java/com/tuoheng/steam/service/ITaskService.java index e799a37..c9cdf02 100644 --- a/src/main/java/com/tuoheng/steam/service/ITaskService.java +++ b/src/main/java/com/tuoheng/steam/service/ITaskService.java @@ -2,6 +2,8 @@ package com.tuoheng.steam.service; import com.tuoheng.steam.dos.StreamTask; +import java.util.List; + /** * 视频录制服务 */ @@ -15,5 +17,7 @@ public interface ITaskService { public StreamTask getLastTask(String streamUrl); + public List getTaskList(String streamUrl); + public void stopAllTask(); } diff --git a/src/main/java/com/tuoheng/steam/service/TaskService.java b/src/main/java/com/tuoheng/steam/service/TaskService.java index 6286d57..2bd567b 100644 --- a/src/main/java/com/tuoheng/steam/service/TaskService.java +++ b/src/main/java/com/tuoheng/steam/service/TaskService.java @@ -16,13 +16,7 @@ import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; -import java.util.Calendar; -import java.util.Date; -import java.util.Deque; -import java.util.LinkedList; -import java.util.Map; -import java.util.Objects; -import java.util.UUID; +import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executors; @@ -267,6 +261,21 @@ public class TaskService implements ITaskService { } } + public List getTaskList(String streamUrl){ + List ret = new ArrayList<>(); + StreamTask current = (StreamTask)this.runningTasks.get(streamUrl); + if(Objects.nonNull(current)){ + ret.add(current); + } + if(this.historyTasks.containsKey(streamUrl)) { + List historys = new ArrayList<>(this.historyTasks.get(streamUrl)); + if(!historys.isEmpty()) { + ret.addAll(historys); + } + } + return ret; + } + public StreamTask getLastTask(String streamUrl) { StreamTask current = (StreamTask)this.runningTasks.get(streamUrl); if (Objects.nonNull(current)) {