Ver código fonte

进路数据共享

zhanghaijun 2 anos atrás
pai
commit
28f599c9a7

+ 22 - 4
train-server/src/main/java/top/haijunit/train/simulation/TrainSimulationHolder.java

@@ -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<>());
     }
 
 }