Skip to content

Commit 645051f

Browse files
committed
♻️ sessionId삭제 및 재연결 로직 리팩토링
1 parent e480e7b commit 645051f

File tree

14 files changed

+296
-608
lines changed

14 files changed

+296
-608
lines changed

backend/src/main/java/io/f1/backend/domain/game/app/ChatService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import io.f1.backend.domain.game.websocket.MessageSender;
1010
import io.f1.backend.domain.question.entity.Question;
1111

12+
import io.f1.backend.domain.user.dto.UserPrincipal;
1213
import lombok.RequiredArgsConstructor;
1314

1415
import org.springframework.context.ApplicationEventPublisher;
@@ -24,7 +25,7 @@ public class ChatService {
2425
private final ApplicationEventPublisher eventPublisher;
2526

2627
// todo 동시성적용
27-
public void chat(Long roomId, String sessionId, ChatMessage chatMessage) {
28+
public void chat(Long roomId, UserPrincipal userPrincipal,ChatMessage chatMessage) {
2829

2930
Room room = roomService.findRoom(roomId);
3031

@@ -42,7 +43,7 @@ public void chat(Long roomId, String sessionId, ChatMessage chatMessage) {
4243

4344
if (answer.equals(chatMessage.message())) {
4445
eventPublisher.publishEvent(
45-
new GameCorrectAnswerEvent(room, sessionId, chatMessage, answer));
46+
new GameCorrectAnswerEvent(room, userPrincipal.getUserId(), chatMessage, answer));
4647
}
4748
}
4849
}

backend/src/main/java/io/f1/backend/domain/game/app/GameService.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,13 @@ public void gameStart(Long roomId, UserPrincipal principal) {
9696
public void onCorrectAnswer(GameCorrectAnswerEvent event) {
9797

9898
Room room = event.room();
99-
String sessionId = event.sessionId();
99+
Long userId = event.userId();
100100
ChatMessage chatMessage = event.chatMessage();
101101
String answer = event.answer();
102102

103103
String destination = getDestination(room.getId());
104104

105-
room.increasePlayerCorrectCount(sessionId);
105+
room.increasePlayerCorrectCount(userId);
106106

107107
messageSender.sendBroadcast(
108108
destination,
@@ -164,13 +164,13 @@ public void gameEnd(Room room) {
164164
Long roomId = room.getId();
165165
String destination = getDestination(roomId);
166166

167-
Map<String, Player> playerSessionMap = room.getPlayerSessionMap();
167+
Map<Long, Player> playerMap = room.getPlayerMap();
168168

169169
// TODO : 랭킹 정보 업데이트
170170
messageSender.sendBroadcast(
171171
destination,
172172
MessageType.GAME_RESULT,
173-
toGameResultListResponse(playerSessionMap, room.getGameSetting().getRound()));
173+
toGameResultListResponse(playerMap, room.getGameSetting().getRound()));
174174

175175
room.initializeRound();
176176
room.initializePlayers();
@@ -196,11 +196,11 @@ public void gameEnd(Room room) {
196196
destination, MessageType.ROOM_SETTING, toRoomSettingResponse(room));
197197
}
198198

199-
public void handlePlayerReady(Long roomId, String sessionId) {
199+
public void handlePlayerReady(Long roomId, UserPrincipal userPrincipal) {
200200

201201
Room room = findRoom(roomId);
202202

203-
Player player = room.getPlayerBySessionId(sessionId);
203+
Player player = room.getPlayerByUserId(userPrincipal.getUserId());
204204

205205
toggleReadyIfPossible(room, player);
206206

0 commit comments

Comments
 (0)