From ad6ba5968f110bcbea3b8ff45e4c475a2c3cf695 Mon Sep 17 00:00:00 2001 From: TueBack Date: Sat, 16 Aug 2025 17:15:52 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EC=84=9C=EB=B9=84=EC=8A=A4=20save?= =?UTF-8?q?=20=EC=82=AD=EC=A0=9C=20->=20=EB=B3=80=EA=B2=BD=EA=B0=90?= =?UTF-8?q?=EC=A7=80=20=ED=99=9C=EC=9A=A9,=20mytrip=20=ED=95=B4=EC=8B=9C?= =?UTF-8?q?=ED=83=9C=EA=B7=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trip/application/in/TripService.java | 7 ++++--- .../out/repository/TripQueryRepository.java | 10 +++------- .../mysql/query/TripQuerydslRepository.java | 19 +++++-------------- 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/retrip/trip/application/in/TripService.java b/src/main/java/com/retrip/trip/application/in/TripService.java index f72dc21..728c3da 100644 --- a/src/main/java/com/retrip/trip/application/in/TripService.java +++ b/src/main/java/com/retrip/trip/application/in/TripService.java @@ -70,7 +70,6 @@ public Page getTrips(Pageable page) { public TripDemandResponse tripDemand(UUID tripId, TripDemandRequest request) { Trip trip = findTrip(tripId); trip.addDemand(TripDemand.create(request.memberId(), trip, request.message())); - tripRepository.save(trip); return TripDemandResponse.of(trip.getTripDemands().getValues().getLast()); } @@ -110,7 +109,10 @@ public PeriodUpdateResponse updatePeriod(UUID tripId, PeriodUpdateRequest reques @Transactional(readOnly = true) @Override public Page getMyTrips(UUID memberId, Pageable page) { - return tripQueryRepository.findMyTrips(memberId, page); + Page trips = tripQueryRepository.findMyTrips(memberId, page); + List hashTags = tripQueryRepository.findHashTags(trips.getContent()); + List tripResponses = TripResponse.of(trips.getContent(), hashTags); + return new PageImpl<>(tripResponses, page, trips.getTotalElements()); } @Override @@ -123,7 +125,6 @@ public void banMembers(UUID loginMemberId, UUID tripId, List memberIds) { public void leaveTrip(UUID tripId, UUID memberId) { Trip trip = findTrip(tripId); trip.leave(memberId); - tripRepository.save(trip); } @Override diff --git a/src/main/java/com/retrip/trip/application/out/repository/TripQueryRepository.java b/src/main/java/com/retrip/trip/application/out/repository/TripQueryRepository.java index e97af9c..646e942 100644 --- a/src/main/java/com/retrip/trip/application/out/repository/TripQueryRepository.java +++ b/src/main/java/com/retrip/trip/application/out/repository/TripQueryRepository.java @@ -1,22 +1,18 @@ package com.retrip.trip.application.out.repository; -import com.retrip.trip.application.in.response.TripResponse; import com.retrip.trip.domain.entity.Trip; - import com.retrip.trip.domain.entity.TripHashTag; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import java.util.List; import java.util.Optional; - import java.util.UUID; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - public interface TripQueryRepository { List findTrips(Pageable page); - Page findMyTrips(UUID memberId, Pageable page); + Page findMyTrips(UUID memberId, Pageable page); Optional findByIdWithItineraries(UUID tripId); diff --git a/src/main/java/com/retrip/trip/infra/adapter/out/persistence/mysql/query/TripQuerydslRepository.java b/src/main/java/com/retrip/trip/infra/adapter/out/persistence/mysql/query/TripQuerydslRepository.java index f62d560..2cf668c 100644 --- a/src/main/java/com/retrip/trip/infra/adapter/out/persistence/mysql/query/TripQuerydslRepository.java +++ b/src/main/java/com/retrip/trip/infra/adapter/out/persistence/mysql/query/TripQuerydslRepository.java @@ -62,23 +62,14 @@ public Optional findByIdWithItineraries(UUID tripId) { } @Override - public Page findMyTrips(UUID memberId, Pageable page) { - List trips = + public Page findMyTrips(UUID memberId, Pageable page) { + List trips = query - .select( - Projections.constructor( - TripResponse.class, - trip.id, - trip.title.value, - trip.destinationId, - trip.period.start, - trip.period.end, - trip.open)) - .from(trip) + .selectFrom(trip) .join(trip.tripParticipants.values, tripParticipant) .where( tripParticipant.memberId.eq(memberId), - tripParticipant.status.eq(ACTIVE) // 수정된 부분 + tripParticipant.status.eq(ACTIVE) ) .offset(page.getOffset()) .limit(page.getPageSize()) @@ -91,7 +82,7 @@ public Page findMyTrips(UUID memberId, Pageable page) { .join(trip.tripParticipants.values, tripParticipant) .where( tripParticipant.memberId.eq(memberId), - tripParticipant.status.eq(ACTIVE) // 수정된 부분 + tripParticipant.status.eq(ACTIVE) ) .fetchOne();