|
|
@@ -2,8 +2,11 @@ package top.haijunit.train.simulation;
|
|
|
|
|
|
import lombok.AccessLevel;
|
|
|
import lombok.NoArgsConstructor;
|
|
|
+import top.haijunit.train.domain.entity.RouteEntity;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
@@ -16,15 +19,30 @@ import java.util.concurrent.ConcurrentHashMap;
|
|
|
public class TrainSimulationHolder {
|
|
|
|
|
|
// 列车数据共享
|
|
|
- private static final Map<Long, TrainItem> USER_SESSION_MAP = new ConcurrentHashMap<>();
|
|
|
+ private static final Map<Long, TrainItem> TRAVEL_TRAIN_MAP = new ConcurrentHashMap<>();
|
|
|
+ // 进路数据共享
|
|
|
+ private static final Map<Long, List<RouteEntity>> TRAVEL_ROUTE_MAP = new ConcurrentHashMap<>();
|
|
|
|
|
|
public static void addTrainItem(TrainItem trainItem) {
|
|
|
- USER_SESSION_MAP.remove(trainItem.getId());
|
|
|
- USER_SESSION_MAP.put(trainItem.getId(), trainItem);
|
|
|
+ TRAVEL_TRAIN_MAP.remove(trainItem.getId());
|
|
|
+ TRAVEL_TRAIN_MAP.put(trainItem.getId(), trainItem);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static TrainItem getTrainItem(Long trainId) {
|
|
|
+ return TRAVEL_TRAIN_MAP.getOrDefault(trainId, null);
|
|
|
}
|
|
|
|
|
|
public static Collection<TrainItem> getTrainItem() {
|
|
|
- return USER_SESSION_MAP.values();
|
|
|
+ return TRAVEL_TRAIN_MAP.values();
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void addRouteList(Long trainId, List<RouteEntity> routeEntityList) {
|
|
|
+ TRAVEL_ROUTE_MAP.remove(trainId);
|
|
|
+ TRAVEL_ROUTE_MAP.put(trainId, routeEntityList);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static List<RouteEntity> getRouteList(Long trainId) {
|
|
|
+ return TRAVEL_ROUTE_MAP.getOrDefault(trainId, new ArrayList<>());
|
|
|
}
|
|
|
|
|
|
}
|