Skip to content

Commit 97d5ce4

Browse files
committed
✨ 유저 정보 가져오기 적용
1 parent 2604aee commit 97d5ce4

File tree

2 files changed

+35
-36
lines changed

2 files changed

+35
-36
lines changed

backend/src/main/java/io/f1/backend/domain/game/api/RoomController.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,7 @@ public class RoomController {
3131
@PostMapping
3232
@ResponseStatus(HttpStatus.CREATED)
3333
public RoomCreateResponse saveRoom(@RequestBody @Valid RoomCreateRequest request) {
34-
35-
Map<String, Object> loginUser = new HashMap<>();
36-
loginUser.put("id", 1L);
37-
loginUser.put("nickname", "빵야빵야");
38-
39-
return roomService.saveRoom(request, loginUser);
34+
return roomService.saveRoom(request);
4035
}
4136

4237
@PostMapping("/validation")

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

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
package io.f1.backend.domain.game.app;
22

3-
import static io.f1.backend.domain.game.mapper.RoomMapper.*;
3+
import static io.f1.backend.domain.game.mapper.RoomMapper.toGameSettingResponse;
4+
import static io.f1.backend.domain.game.mapper.RoomMapper.toPlayerListResponse;
5+
import static io.f1.backend.domain.game.mapper.RoomMapper.toRoomResponse;
6+
import static io.f1.backend.domain.game.mapper.RoomMapper.toRoomSetting;
7+
import static io.f1.backend.domain.game.mapper.RoomMapper.toRoomSettingResponse;
8+
import static io.f1.backend.global.util.SecurityUtils.getCurrentUserId;
9+
import static io.f1.backend.global.util.SecurityUtils.getCurrentUserNickname;
410

511
import io.f1.backend.domain.game.dto.RoomExitData;
612
import io.f1.backend.domain.game.dto.RoomInitialData;
@@ -23,19 +29,13 @@
2329
import io.f1.backend.domain.game.store.RoomRepository;
2430
import io.f1.backend.domain.quiz.app.QuizService;
2531
import io.f1.backend.domain.quiz.entity.Quiz;
26-
import io.f1.backend.domain.user.entity.User;
2732
import java.time.LocalDateTime;
28-
29-
import lombok.RequiredArgsConstructor;
30-
31-
import org.springframework.context.ApplicationEventPublisher;
32-
import org.springframework.stereotype.Service;
33-
3433
import java.util.List;
3534
import java.util.Map;
3635
import java.util.Optional;
3736
import java.util.concurrent.atomic.AtomicLong;
3837
import lombok.RequiredArgsConstructor;
38+
import org.springframework.context.ApplicationEventPublisher;
3939
import org.springframework.stereotype.Service;
4040

4141
@Service
@@ -47,12 +47,12 @@ public class RoomService {
4747
private final AtomicLong roomIdGenerator = new AtomicLong(0);
4848
private final ApplicationEventPublisher eventPublisher;
4949

50-
public RoomCreateResponse saveRoom(RoomCreateRequest request, Map<String, Object> loginUser) {
50+
public RoomCreateResponse saveRoom(RoomCreateRequest request) {
5151

5252
// todo 제일 작은 index quizId 가져와서 gameSetting(round 설정)
5353
GameSetting gameSetting = new GameSetting(1L, 10, 60);
54-
// todo security에서 가져오는걸로 변경
55-
Player host = new Player((Long) loginUser.get("id"), loginUser.get("nickname").toString());
54+
55+
Player host = createPlayer();
5656
RoomSetting roomSetting = toRoomSetting(request);
5757

5858
Long newId = roomIdGenerator.incrementAndGet();
@@ -69,12 +69,13 @@ public RoomCreateResponse saveRoom(RoomCreateRequest request, Map<String, Object
6969
return new RoomCreateResponse(newId);
7070
}
7171

72+
7273
public void validateRoom(RoomValidationRequest request) {
7374

7475
Room room =
7576
roomRepository
7677
.findRoom(request.roomId())
77-
.orElseThrow(() -> new IllegalArgumentException("404 존재하지 않는 방입니다."));
78+
.orElseThrow(() -> new IllegalArgumentException("404 존재하지 않는 방입니다.-1"));
7879

7980
if (room.getState().equals(RoomState.PLAYING)) {
8081
throw new IllegalArgumentException("403 게임이 진행중입니다.");
@@ -87,20 +88,19 @@ public void validateRoom(RoomValidationRequest request) {
8788
}
8889

8990
if (room.getRoomSetting().locked()
90-
&& !room.getRoomSetting().password().equals(request.password())) {
91+
&& !room.getRoomSetting().password().equals(request.password())) {
9192
throw new IllegalArgumentException("401 비밀번호가 일치하지 않습니다.");
9293
}
9394
}
9495

9596
public RoomInitialData enterRoom(Long roomId, String sessionId) {
9697

9798
Room room =
98-
roomRepository
99-
.findRoom(roomId)
100-
.orElseThrow(() -> new IllegalArgumentException("404 존재하지 않는 방입니다."));
99+
roomRepository
100+
.findRoom(roomId)
101+
.orElseThrow(() -> new IllegalArgumentException("404 존재하지 않는 방입니다."));
101102

102-
// todo security
103-
Player player = new Player(1L, "빵야빵야");
103+
Player player = createPlayer();
104104

105105
Map<String, Player> playerSessionMap = room.getPlayerSessionMap();
106106

@@ -132,7 +132,7 @@ public RoomExitData exitRoom(Long roomId, String sessionId) {
132132

133133
if (playerSessionMap.size() == 1 && playerSessionMap.get(sessionId) != null) {
134134
roomRepository.removeRoom(roomId);
135-
return new RoomExitData(destination,null, null, true);
135+
return new RoomExitData(destination, null, null, true);
136136
}
137137

138138
Player removedPlayer = playerSessionMap.remove(sessionId);
@@ -152,25 +152,29 @@ public RoomExitData exitRoom(Long roomId, String sessionId) {
152152

153153
PlayerListResponse playerListResponse = toPlayerListResponse(room);
154154

155-
return new RoomExitData(destination,playerListResponse, systemNoticeResponse, false);
155+
return new RoomExitData(destination, playerListResponse, systemNoticeResponse, false);
156156
}
157157

158158
public RoomListResponse getAllRooms() {
159159
List<Room> rooms = roomRepository.findAll();
160160
List<RoomResponse> roomResponses =
161-
rooms.stream()
162-
.map(
163-
room -> {
164-
Long quizId = room.getGameSetting().getQuizId();
165-
Quiz quiz = quizService.getQuizById(quizId);
166-
167-
return toRoomResponse(room, quiz);
168-
})
169-
.toList();
161+
rooms.stream()
162+
.map(
163+
room -> {
164+
Long quizId = room.getGameSetting().getQuizId();
165+
Quiz quiz = quizService.getQuizById(quizId);
166+
167+
return toRoomResponse(room, quiz);
168+
})
169+
.toList();
170170
return new RoomListResponse(roomResponses);
171171
}
172172

173173
private static String getDestination(Long roomId) {
174-
return "/sub/room/" + roomId;
174+
return "/sub/room/" + roomId;
175+
}
176+
177+
private static Player createPlayer() {
178+
return new Player(getCurrentUserId(), getCurrentUserNickname());
175179
}
176180
}

0 commit comments

Comments
 (0)