diff --git a/src/main/java/com/umc/yeogi_gal_lae/api/home/converter/HomeConverter.java b/src/main/java/com/umc/yeogi_gal_lae/api/home/converter/HomeConverter.java index fb97836..73c7679 100644 --- a/src/main/java/com/umc/yeogi_gal_lae/api/home/converter/HomeConverter.java +++ b/src/main/java/com/umc/yeogi_gal_lae/api/home/converter/HomeConverter.java @@ -46,6 +46,7 @@ public static HomeResponse.CompletedVoteRoom toCompletedVoteRoom(TripPlan tripPl tripPlan.getRoom().getName(), aiCourseId, tripPlan.getLocation(), + tripPlan.getTripPlanType(), tripPlan.getStartDate(), tripPlan.getEndDate().format(DATE_FORMATTER), tripPlan.getImageUrl() diff --git a/src/main/java/com/umc/yeogi_gal_lae/api/home/dto/HomeResponse.java b/src/main/java/com/umc/yeogi_gal_lae/api/home/dto/HomeResponse.java index 9475c76..603575f 100644 --- a/src/main/java/com/umc/yeogi_gal_lae/api/home/dto/HomeResponse.java +++ b/src/main/java/com/umc/yeogi_gal_lae/api/home/dto/HomeResponse.java @@ -39,6 +39,7 @@ public static class CompletedVoteRoom { private String roomName; private Long aiCourseId; private String location; + private TripPlanType tripPlanType; private LocalDate startDate; private String endDate; private String imageUrl; diff --git a/src/main/java/com/umc/yeogi_gal_lae/api/room/service/RoomService.java b/src/main/java/com/umc/yeogi_gal_lae/api/room/service/RoomService.java index 4839792..b5734ab 100644 --- a/src/main/java/com/umc/yeogi_gal_lae/api/room/service/RoomService.java +++ b/src/main/java/com/umc/yeogi_gal_lae/api/room/service/RoomService.java @@ -54,6 +54,11 @@ public void createRoom(CreateRoomRequest request, String userEmail) { // 방 멤버 추가 List users = userRepository.findAllById(request.getUserIds()); + // 방장 추가 + if (!users.contains(master)) { // 중복 추가 방지 + users.add(master); + } + List newRoomMembers = users.stream() .map(user -> RoomMemberConverter.fromRequest(room, user)) .toList(); diff --git a/src/main/java/com/umc/yeogi_gal_lae/api/vote/domain/Vote.java b/src/main/java/com/umc/yeogi_gal_lae/api/vote/domain/Vote.java index fdf5f50..fe78759 100644 --- a/src/main/java/com/umc/yeogi_gal_lae/api/vote/domain/Vote.java +++ b/src/main/java/com/umc/yeogi_gal_lae/api/vote/domain/Vote.java @@ -31,6 +31,7 @@ public class Vote extends BaseEntity { @JsonIgnore private VoteRoom voteRoom; + @Enumerated(EnumType.STRING) @Column(nullable = false) private VoteType type; diff --git a/src/main/java/com/umc/yeogi_gal_lae/api/vote/repository/VoteRepository.java b/src/main/java/com/umc/yeogi_gal_lae/api/vote/repository/VoteRepository.java index 72cfc2a..e2f9edd 100644 --- a/src/main/java/com/umc/yeogi_gal_lae/api/vote/repository/VoteRepository.java +++ b/src/main/java/com/umc/yeogi_gal_lae/api/vote/repository/VoteRepository.java @@ -24,6 +24,7 @@ public interface VoteRepository extends JpaRepository { @Query("DELETE FROM Vote v WHERE v.voteRoom IN (SELECT vr FROM VoteRoom vr WHERE vr.tripPlan.user = :user)") void deleteByVoteRoomUser(@Param("user") User user); - Optional findByUserAndTripPlan(User user, TripPlan tripPlan); + @Query("SELECT v FROM Vote v WHERE v.tripPlan.id = :tripPlanId AND v.id = (SELECT u.vote.id FROM User u WHERE u.id = :userId)") + Optional findByUserIdAndTripPlanId(@Param("userId") Long userId, @Param("tripPlanId") Long tripPlanId); } diff --git a/src/main/java/com/umc/yeogi_gal_lae/api/vote/service/VoteService.java b/src/main/java/com/umc/yeogi_gal_lae/api/vote/service/VoteService.java index 2a4cb65..f42d4e6 100644 --- a/src/main/java/com/umc/yeogi_gal_lae/api/vote/service/VoteService.java +++ b/src/main/java/com/umc/yeogi_gal_lae/api/vote/service/VoteService.java @@ -88,7 +88,7 @@ public void createVote(VoteRequest.createVoteReq request, String userEmail) { } // 기존 투표 여부 확인 - Optional existingVote = voteRepository.findByUserAndTripPlan(user, tripPlan); + Optional existingVote = voteRepository.findByUserIdAndTripPlanId(user.getId(), tripPlan.getId()); if (existingVote.isPresent()) { Vote currentVote = existingVote.get();