From 3f1fd98f423f124dfa134cc16931a9bafdeacd61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=8E=89=E4=B8=9C?= <129883742+liyudong2018@users.noreply.github.com> Date: Thu, 18 Sep 2025 11:38:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/hivekion/room/RoomManager.java | 12 ++++++++++-- src/main/java/com/hivekion/room/bean/Room.java | 13 ++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/hivekion/room/RoomManager.java b/src/main/java/com/hivekion/room/RoomManager.java index 2f583d8..14137e8 100644 --- a/src/main/java/com/hivekion/room/RoomManager.java +++ b/src/main/java/com/hivekion/room/RoomManager.java @@ -19,8 +19,8 @@ public class RoomManager { private static final Map roomsMap = new ConcurrentHashMap<>(); - public static void startRoom(String id, Scenario scenario,long time) { - Room room = new Room(id,scenario); + public static void startRoom(String id, Scenario scenario, long time) { + Room room = new Room(id, scenario); roomsMap.put(id, room); room.start(time); } @@ -52,4 +52,12 @@ public class RoomManager { room.addAction(time, action); } } + + public static long getRoomDuringTime(String id) { + Room room = roomsMap.get(id); + if (room != null) { + return room.getDuringTime(); + } + return 0; + } } diff --git a/src/main/java/com/hivekion/room/bean/Room.java b/src/main/java/com/hivekion/room/bean/Room.java index f2ef23b..f7200de 100644 --- a/src/main/java/com/hivekion/room/bean/Room.java +++ b/src/main/java/com/hivekion/room/bean/Room.java @@ -10,10 +10,8 @@ import com.hivekion.scenario.bean.ScenarioWsParam; import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.Map; -import java.util.Map.Entry; import java.util.NavigableMap; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentNavigableMap; import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -111,7 +109,12 @@ public class Room implements AutoCloseable { startTask(); } - + public long getDuringTime() { + return duringTime.get(); + } + public long getTotalTime() { + return totalTime.get(); + } // 启动定时任务 private void startTask() { @@ -134,10 +137,6 @@ public class Room implements AutoCloseable { }); }); - - // 全部执行后再清空 - - actions.clear(); } }, 0, 1, TimeUnit.SECONDS);