From 35822a50da542dc178812ceb36791b69f4ca3c76 Mon Sep 17 00:00:00 2001 From: forrest1398 <129135885+forrest1398@users.noreply.github.com> Date: Tue, 9 Jul 2024 15:20:05 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor=20:=20GameRoom=20=EB=8F=84?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=EC=9D=98=20GameStatus=20=ED=95=84=EB=93=9C?= =?UTF-8?q?=20=EC=82=AD=EC=A0=9C=20&=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20getGameRoom=20=EB=A9=94?= =?UTF-8?q?=EC=86=8C=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/impl/GameRoomServiceImpl.java | 29 ------------------- .../application/service/GameRoomService.java | 4 --- .../java/jungle/HandTris/domain/GameRoom.java | 5 ---- .../domain/repo/GameRoomRepository.java | 2 +- .../dto/response/GameRoomDetailRes.java | 7 ++--- 5 files changed, 3 insertions(+), 44 deletions(-) diff --git a/src/main/java/jungle/HandTris/application/impl/GameRoomServiceImpl.java b/src/main/java/jungle/HandTris/application/impl/GameRoomServiceImpl.java index ef84ab2..95c4abf 100644 --- a/src/main/java/jungle/HandTris/application/impl/GameRoomServiceImpl.java +++ b/src/main/java/jungle/HandTris/application/impl/GameRoomServiceImpl.java @@ -7,11 +7,9 @@ import jungle.HandTris.application.service.MemberProfileService; import jungle.HandTris.domain.GameMember; import jungle.HandTris.domain.GameRoom; -import jungle.HandTris.domain.GameStatus; import jungle.HandTris.domain.exception.GameRoomNotFoundException; import jungle.HandTris.domain.exception.MemberNotFoundException; import jungle.HandTris.domain.exception.ParticipantLimitedException; -import jungle.HandTris.domain.exception.PlayingGameException; import jungle.HandTris.domain.repo.GameRoomRepository; import jungle.HandTris.global.validation.UserNicknameFromJwt; import jungle.HandTris.presentation.dto.request.GameMemberEssentialDTO; @@ -23,7 +21,6 @@ import org.springframework.stereotype.Service; import java.util.List; -import java.util.Optional; import java.util.UUID; @@ -42,16 +39,6 @@ public List getGameRoomList() { return gameRoomRepository.findAllByGameStatusNotPlaying(); } - @Override - public GameMember getGameRoom(String roomCode) { - String gameRoomKey = GAME_MEMBER_KEY_PREFIX + roomCode; - String gameMemberGen = redisTemplate.opsForValue().get(gameRoomKey); - - GameMember gameMember = generateGameMember(gameMemberGen); - - return gameMember; - } - @Override public UUID createGameRoom(@UserNicknameFromJwt String nickname, GameRoomDetailReq gameRoomDetailReq) { GameRoom createdGameRoom = new GameRoom(nickname, gameRoomDetailReq.title()); @@ -70,10 +57,6 @@ public UUID createGameRoom(@UserNicknameFromJwt String nickname, GameRoomDetailR public GameRoom enterGameRoom(@UserNicknameFromJwt String nickname, String roomCode) { GameRoom gameRoom = gameRoomRepository.findByRoomCode(UUID.fromString(roomCode)).orElseThrow(GameRoomNotFoundException::new); - if (gameRoom.getGameStatus() == GameStatus.PLAYING) { - throw new PlayingGameException(); - } - Pair memberDetails = memberProfileService.getMemberProfileWithStatsByNickname(nickname); if (gameRoom.getParticipantCount() == gameRoom.getParticipantLimit()) { @@ -83,7 +66,6 @@ public GameRoom enterGameRoom(@UserNicknameFromJwt String nickname, String roomC gameRoom.enter(); // Redis에 매핑 정보 업데이트 - System.out.println(GAME_MEMBER_KEY_PREFIX + roomCode); String gameKey = GAME_MEMBER_KEY_PREFIX + roomCode; String gameMemberGen = redisTemplate.opsForValue().get(gameKey); GameMember gameMember = generateGameMember(gameMemberGen); @@ -98,9 +80,6 @@ public GameRoom exitGameRoom(@UserNicknameFromJwt String nickname, String roomCo GameRoom gameRoom = gameRoomRepository.findByRoomCode(UUID.fromString(roomCode)) .orElseThrow(GameRoomNotFoundException::new); - if (gameRoom.getGameStatus() == GameStatus.PLAYING) { - throw new PlayingGameException(); - } gameRoom.exit(); String key = GAME_MEMBER_KEY_PREFIX + roomCode; @@ -144,12 +123,4 @@ private GameMember generateGameMember(String gameMemberGen) { } throw new MemberNotFoundException(); } - - @Override - public boolean isGameRoomPlaying(String roomCode) { - Optional foundGameRoom = gameRoomRepository.findByRoomCode(UUID.fromString(roomCode)); - if (foundGameRoom.isEmpty()) - throw new GameRoomNotFoundException(); - return GameStatus.PLAYING.equals(foundGameRoom.get().getGameStatus()); - } } diff --git a/src/main/java/jungle/HandTris/application/service/GameRoomService.java b/src/main/java/jungle/HandTris/application/service/GameRoomService.java index 80e866b..cbeaf04 100644 --- a/src/main/java/jungle/HandTris/application/service/GameRoomService.java +++ b/src/main/java/jungle/HandTris/application/service/GameRoomService.java @@ -1,6 +1,5 @@ package jungle.HandTris.application.service; -import jungle.HandTris.domain.GameMember; import jungle.HandTris.domain.GameRoom; import jungle.HandTris.global.validation.UserNicknameFromJwt; import jungle.HandTris.presentation.dto.request.GameRoomDetailReq; @@ -11,13 +10,10 @@ public interface GameRoomService { List getGameRoomList(); - GameMember getGameRoom(String roomCode); - UUID createGameRoom(@UserNicknameFromJwt String nickname, GameRoomDetailReq gameRoomDetailReq); GameRoom enterGameRoom(@UserNicknameFromJwt String nickname, String roomCode); GameRoom exitGameRoom(@UserNicknameFromJwt String nickname, String roomCode); - boolean isGameRoomPlaying(String roomCode); } diff --git a/src/main/java/jungle/HandTris/domain/GameRoom.java b/src/main/java/jungle/HandTris/domain/GameRoom.java index 0dfd465..0cf684f 100644 --- a/src/main/java/jungle/HandTris/domain/GameRoom.java +++ b/src/main/java/jungle/HandTris/domain/GameRoom.java @@ -28,17 +28,12 @@ public class GameRoom { @Column(nullable = false) private UUID roomCode; - @Column(nullable = false) - @Enumerated(value = EnumType.STRING) - private GameStatus gameStatus; - public GameRoom(String creator, String title) { this.title = title; this.creator = creator; this.participantCount = 1; this.participantLimit = 2; this.roomCode = UUID.randomUUID(); - this.gameStatus = GameStatus.NON_PLAYING; } public void enter() { diff --git a/src/main/java/jungle/HandTris/domain/repo/GameRoomRepository.java b/src/main/java/jungle/HandTris/domain/repo/GameRoomRepository.java index 66d28db..d918226 100644 --- a/src/main/java/jungle/HandTris/domain/repo/GameRoomRepository.java +++ b/src/main/java/jungle/HandTris/domain/repo/GameRoomRepository.java @@ -10,7 +10,7 @@ public interface GameRoomRepository extends Repository { - @Query("SELECT g FROM GameRoom g WHERE g.participantCount < g.participantLimit AND g.gameStatus != 'PLAYING' ") + @Query("SELECT g FROM GameRoom g WHERE g.participantCount < g.participantLimit") List findAllByGameStatusNotPlaying(); Optional findById(Long id); diff --git a/src/main/java/jungle/HandTris/presentation/dto/response/GameRoomDetailRes.java b/src/main/java/jungle/HandTris/presentation/dto/response/GameRoomDetailRes.java index 44fe90b..78a5d33 100644 --- a/src/main/java/jungle/HandTris/presentation/dto/response/GameRoomDetailRes.java +++ b/src/main/java/jungle/HandTris/presentation/dto/response/GameRoomDetailRes.java @@ -1,7 +1,6 @@ package jungle.HandTris.presentation.dto.response; import jungle.HandTris.domain.GameRoom; -import jungle.HandTris.domain.GameStatus; import java.util.UUID; @@ -11,8 +10,7 @@ public record GameRoomDetailRes( String creator, long participantCount, long participantLimit, - UUID roomCode, - GameStatus gameStatus + UUID roomCode ) { public GameRoomDetailRes(GameRoom gameRoom) { this(gameRoom.getId(), @@ -20,7 +18,6 @@ public GameRoomDetailRes(GameRoom gameRoom) { gameRoom.getCreator(), gameRoom.getParticipantCount(), gameRoom.getParticipantLimit(), - gameRoom.getRoomCode(), - gameRoom.getGameStatus()); + gameRoom.getRoomCode()); } } From 6353702d19551d525d3194516fa0e53150162ced Mon Sep 17 00:00:00 2001 From: forrest1398 <129135885+forrest1398@users.noreply.github.com> Date: Tue, 9 Jul 2024 21:17:33 +0900 Subject: [PATCH 2/3] =?UTF-8?q?refactor=20:=20GameRoomDetailRes=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EB=8F=84=EB=A9=94=EC=9D=B8=EC=9D=98=20PK=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HandTris/presentation/dto/response/GameRoomDetailRes.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/jungle/HandTris/presentation/dto/response/GameRoomDetailRes.java b/src/main/java/jungle/HandTris/presentation/dto/response/GameRoomDetailRes.java index 78a5d33..ab56d80 100644 --- a/src/main/java/jungle/HandTris/presentation/dto/response/GameRoomDetailRes.java +++ b/src/main/java/jungle/HandTris/presentation/dto/response/GameRoomDetailRes.java @@ -5,7 +5,6 @@ import java.util.UUID; public record GameRoomDetailRes( - long id, String title, String creator, long participantCount, @@ -13,7 +12,7 @@ public record GameRoomDetailRes( UUID roomCode ) { public GameRoomDetailRes(GameRoom gameRoom) { - this(gameRoom.getId(), + this( gameRoom.getTitle(), gameRoom.getCreator(), gameRoom.getParticipantCount(), From fe5631fa0591494e93a34e0ce1d88a348f77e4a2 Mon Sep 17 00:00:00 2001 From: forrest1398 <129135885+forrest1398@users.noreply.github.com> Date: Tue, 9 Jul 2024 22:15:39 +0900 Subject: [PATCH 3/3] =?UTF-8?q?refactor=20:=20GameRoom=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=EB=90=9C=20=EC=8A=A4=ED=82=A4=EB=A7=88=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/db/migration/V3__delete_game_status.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 src/main/resources/db/migration/V3__delete_game_status.sql diff --git a/src/main/resources/db/migration/V3__delete_game_status.sql b/src/main/resources/db/migration/V3__delete_game_status.sql new file mode 100644 index 0000000..096e2cf --- /dev/null +++ b/src/main/resources/db/migration/V3__delete_game_status.sql @@ -0,0 +1,2 @@ +ALTER table game_room + DROP COLUMN game_status;