Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/main/java/com/retrip/trip/application/in/TripService.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ public Page<TripResponse> 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());
}

Expand Down Expand Up @@ -110,7 +109,10 @@ public PeriodUpdateResponse updatePeriod(UUID tripId, PeriodUpdateRequest reques
@Transactional(readOnly = true)
@Override
public Page<TripResponse> getMyTrips(UUID memberId, Pageable page) {
return tripQueryRepository.findMyTrips(memberId, page);
Page<Trip> trips = tripQueryRepository.findMyTrips(memberId, page);
List<TripHashTag> hashTags = tripQueryRepository.findHashTags(trips.getContent());
List<TripResponse> tripResponses = TripResponse.of(trips.getContent(), hashTags);
return new PageImpl<>(tripResponses, page, trips.getTotalElements());
}

@Override
Expand All @@ -123,7 +125,6 @@ public void banMembers(UUID loginMemberId, UUID tripId, List<UUID> memberIds) {
public void leaveTrip(UUID tripId, UUID memberId) {
Trip trip = findTrip(tripId);
trip.leave(memberId);
tripRepository.save(trip);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -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<Trip> findTrips(Pageable page);

Page<TripResponse> findMyTrips(UUID memberId, Pageable page);
Page<Trip> findMyTrips(UUID memberId, Pageable page);

Optional<Trip> findByIdWithItineraries(UUID tripId);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,23 +62,14 @@ public Optional<Trip> findByIdWithItineraries(UUID tripId) {
}

@Override
public Page<TripResponse> findMyTrips(UUID memberId, Pageable page) {
List<TripResponse> trips =
public Page<Trip> findMyTrips(UUID memberId, Pageable page) {
List<Trip> 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())
Expand All @@ -91,7 +82,7 @@ public Page<TripResponse> findMyTrips(UUID memberId, Pageable page) {
.join(trip.tripParticipants.values, tripParticipant)
.where(
tripParticipant.memberId.eq(memberId),
tripParticipant.status.eq(ACTIVE) // μˆ˜μ •λœ λΆ€λΆ„
tripParticipant.status.eq(ACTIVE)
)
.fetchOne();

Expand Down