diff --git a/src/main/java/org/sopt/sweet/domain/gift/controller/GiftController.java b/src/main/java/org/sopt/sweet/domain/gift/controller/GiftController.java index e614dd1..dfcf467 100644 --- a/src/main/java/org/sopt/sweet/domain/gift/controller/GiftController.java +++ b/src/main/java/org/sopt/sweet/domain/gift/controller/GiftController.java @@ -89,6 +89,12 @@ public ResponseEntity> getRanking(@PathVariable Long roomId) return SuccessResponse.ok(ranking); } + @PostMapping("/tournament-end/{roomId}") + public ResponseEntity> endTournament(@UserId Long userId, @PathVariable Long roomId) { + giftService.endTournament(roomId); + return SuccessResponse.created(null); + } + diff --git a/src/main/java/org/sopt/sweet/domain/gift/service/GiftService.java b/src/main/java/org/sopt/sweet/domain/gift/service/GiftService.java index 1115fa0..b7844cc 100644 --- a/src/main/java/org/sopt/sweet/domain/gift/service/GiftService.java +++ b/src/main/java/org/sopt/sweet/domain/gift/service/GiftService.java @@ -312,4 +312,12 @@ public String getGifteeName(Long roomId) { return gifteeName; } + public void endTournament(Long roomId) { + Room room = findRoomByIdOrThrow(roomId); + TournamentDuration tournamentDuration = room.getTournamentDuration(); + LocalDateTime newStartDate = LocalDateTime.now().minusHours(tournamentDuration.getHours()); + room.setTournamentStartDate(newStartDate); + + } + } \ No newline at end of file diff --git a/src/main/java/org/sopt/sweet/domain/room/entity/Room.java b/src/main/java/org/sopt/sweet/domain/room/entity/Room.java index 2d7f52a..91895ef 100644 --- a/src/main/java/org/sopt/sweet/domain/room/entity/Room.java +++ b/src/main/java/org/sopt/sweet/domain/room/entity/Room.java @@ -69,4 +69,7 @@ public void setImageUrl(String imageUrl) { public void setGifteeName(String gifteeName) { this.gifteeName = gifteeName; } + + public void setTournamentStartDate(LocalDateTime tournamentStartDate) { this.tournamentStartDate = tournamentStartDate; + } }