|
@@ -60,21 +60,12 @@ public class RoomService {
|
|
|
* @return
|
|
|
*/
|
|
|
public long randomRoomId() {
|
|
|
- Map<Long, Room> roomMapFromRedis = RedisUtil.getRoomMapFromRedis(RedisKeyConstant.WK_ROOM_MAP);
|
|
|
-
|
|
|
long roomNumber;
|
|
|
// 循环生成,直到找到一个唯一的房间号
|
|
|
do {
|
|
|
roomNumber = RandomUtil.randomSixDigits();
|
|
|
- } while (roomMapFromRedis.containsKey(roomNumber));
|
|
|
+ } while (this.roomMap.containsKey(roomNumber));
|
|
|
return roomNumber;
|
|
|
-
|
|
|
-// long roomNumber;
|
|
|
-// // 循环生成,直到找到一个唯一的房间号
|
|
|
-// do {
|
|
|
-// roomNumber = RandomUtil.randomSixDigits();
|
|
|
-// } while (this.roomMap.containsKey(roomNumber));
|
|
|
-// return roomNumber;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -83,20 +74,12 @@ public class RoomService {
|
|
|
* @return
|
|
|
*/
|
|
|
public long randomRoomIdByContest() {
|
|
|
- Map<Long, Room> roomMapFromRedis = RedisUtil.getRoomMapFromRedis(RedisKeyConstant.WK_ROOM_MAP);
|
|
|
-
|
|
|
long roomNumber;
|
|
|
// 循环生成,直到找到一个唯一的房间号
|
|
|
do {
|
|
|
roomNumber = RandomUtil.randomSevenDigits();
|
|
|
- } while (roomMapFromRedis.containsKey(roomNumber));
|
|
|
+ } while (this.roomMap.containsKey(roomNumber));
|
|
|
return roomNumber;
|
|
|
-// long roomNumber;
|
|
|
-// // 循环生成,直到找到一个唯一的房间号
|
|
|
-// do {
|
|
|
-// roomNumber = RandomUtil.randomSevenDigits();
|
|
|
-// } while (this.roomMap.containsKey(roomNumber));
|
|
|
-// return roomNumber;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -106,9 +89,7 @@ public class RoomService {
|
|
|
* @return
|
|
|
*/
|
|
|
public Room getRoom(long roomId) {
|
|
|
- Map<Long, Room> roomMapFromRedis = RedisUtil.getRoomMapFromRedis(RedisKeyConstant.WK_ROOM_MAP);
|
|
|
- return roomMapFromRedis.getOrDefault(roomId, null);
|
|
|
-// return this.roomMap.getOrDefault(roomId, null);
|
|
|
+ return this.roomMap.getOrDefault(roomId, null);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -118,17 +99,11 @@ public class RoomService {
|
|
|
* @return
|
|
|
*/
|
|
|
public Room getRoomByPlayerId(String playerId) {
|
|
|
- Map<Long, Room> roomMapFromRedis = RedisUtil.getRoomMapFromRedis(RedisKeyConstant.WK_ROOM_MAP);
|
|
|
- for (Room room : roomMapFromRedis.values()) {
|
|
|
+ for (Room room : this.roomMap.values()) {
|
|
|
if (room != null && room.actors != null && room.actors.containsKey(playerId)) {
|
|
|
return room;
|
|
|
}
|
|
|
}
|
|
|
-// for (Room room : this.roomMap.values()) {
|
|
|
-// if (room != null && room.actors != null && room.actors.containsKey(playerId)) {
|
|
|
-// return room;
|
|
|
-// }
|
|
|
-// }
|
|
|
return null;
|
|
|
}
|
|
|
|
|
@@ -151,7 +126,7 @@ public class RoomService {
|
|
|
bindServerIp(room);
|
|
|
// 加入管理映射
|
|
|
this.roomMap.put(room.data.roomId, room);
|
|
|
- RedisUtil.saveRoomMapToRedis(RedisKeyConstant.WK_ROOM_MAP ,roomMap);
|
|
|
+ //RedisUtil.saveRoomMapToRedis(RedisKeyConstant.WK_ROOM_MAP ,roomMap);
|
|
|
return room;
|
|
|
}
|
|
|
|
|
@@ -171,8 +146,8 @@ public class RoomService {
|
|
|
wkServerStatuses.add(entry.getValue());
|
|
|
}
|
|
|
}
|
|
|
- String ip = selectLeastPopulatedServer(wkServerStatuses).get().getName();
|
|
|
- room.setIp(ip);
|
|
|
+ room.data.roomIp = selectLeastPopulatedServer(wkServerStatuses).get().getName();
|
|
|
+ System.out.println(" room.data.roomIp ======================================================>>>>>>>>>>>" + room.data.roomIp);
|
|
|
}
|
|
|
|
|
|
/**
|