From d403d0f0ec3ded140fd36c8c7374cc6155a34ca3 Mon Sep 17 00:00:00 2001 From: Jin Hyuk Date: Thu, 23 Jan 2025 00:04:24 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B2=8C=EC=9E=84=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=ED=95=A0=20=EB=95=8C=20=EA=B2=8C=EC=9E=84?= =?UTF-8?q?=20=EB=82=A0=EC=A7=9C=20=EB=B3=B4=EB=82=B4=EC=A3=BC=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dangu/game/domain/GameResultRepository.java | 2 +- .../hyunsolution/dangu/game/dto/GetGameListDto.java | 8 +++++++- .../dangu/game/dto/response/GetGameListResponse.java | 10 +++++++++- .../hyunsolution/dangu/game/service/GameService.java | 7 ++++++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hyunsolution/dangu/game/domain/GameResultRepository.java b/src/main/java/com/hyunsolution/dangu/game/domain/GameResultRepository.java index 1f05f3c..44f4447 100644 --- a/src/main/java/com/hyunsolution/dangu/game/domain/GameResultRepository.java +++ b/src/main/java/com/hyunsolution/dangu/game/domain/GameResultRepository.java @@ -15,7 +15,7 @@ public interface GameResultRepository extends JpaRepository { @Query( "SELECT new com.hyunsolution.dangu.game.dto.GetGameListDto(" - + "g.id, gr1.user, gr2.user, gr1.winner, gr2.winner) " + + "g.id, gr1.user, gr2.user, gr1.winner, gr2.winner, g.endTime) " + "FROM Game g " + "JOIN GameResult gr1 ON g.id = gr1.game.id " + "LEFT JOIN GameResult gr2 ON g.id = gr2.game.id AND gr1.user.id != gr2.user.id " diff --git a/src/main/java/com/hyunsolution/dangu/game/dto/GetGameListDto.java b/src/main/java/com/hyunsolution/dangu/game/dto/GetGameListDto.java index e6285ab..a7c2ff4 100644 --- a/src/main/java/com/hyunsolution/dangu/game/dto/GetGameListDto.java +++ b/src/main/java/com/hyunsolution/dangu/game/dto/GetGameListDto.java @@ -1,6 +1,12 @@ package com.hyunsolution.dangu.game.dto; import com.hyunsolution.dangu.user.domain.User; +import java.time.LocalDateTime; public record GetGameListDto( - Long gameId, User myself, User opponent, Boolean myWin, Boolean opponentWin) {} + Long gameId, + User myself, + User opponent, + Boolean myWin, + Boolean opponentWin, + LocalDateTime date) {} diff --git a/src/main/java/com/hyunsolution/dangu/game/dto/response/GetGameListResponse.java b/src/main/java/com/hyunsolution/dangu/game/dto/response/GetGameListResponse.java index 2a7388c..d92ccdb 100644 --- a/src/main/java/com/hyunsolution/dangu/game/dto/response/GetGameListResponse.java +++ b/src/main/java/com/hyunsolution/dangu/game/dto/response/GetGameListResponse.java @@ -1,4 +1,12 @@ package com.hyunsolution.dangu.game.dto.response; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.time.LocalDateTime; + public record GetGameListResponse( - Long gameId, String myNickname, String opponentNickname, String winnerNickname) {} + Long gameId, + String myNickname, + String opponentNickname, + String winnerNickname, + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss") + LocalDateTime date) {} diff --git a/src/main/java/com/hyunsolution/dangu/game/service/GameService.java b/src/main/java/com/hyunsolution/dangu/game/service/GameService.java index 1e49e9b..91d0d33 100644 --- a/src/main/java/com/hyunsolution/dangu/game/service/GameService.java +++ b/src/main/java/com/hyunsolution/dangu/game/service/GameService.java @@ -77,8 +77,13 @@ public List getGameList(Long userId) { String myNickname = dto.myself().getUid(); String opponentNickname = dto.opponent().getUid(); String winnerNickname = calculateWinnerNickname(dto); + LocalDateTime endTime = dto.endTime(); return new GetGameListResponse( - dto.gameId(), myNickname, opponentNickname, winnerNickname); + dto.gameId(), + myNickname, + opponentNickname, + winnerNickname, + endTime); }) .toList(); }