diff --git a/src/main/kotlin/com/trip/safe/review/domain/ReviewRepository.kt b/src/main/kotlin/com/trip/safe/review/domain/ReviewRepository.kt index 3621e37..538f02f 100644 --- a/src/main/kotlin/com/trip/safe/review/domain/ReviewRepository.kt +++ b/src/main/kotlin/com/trip/safe/review/domain/ReviewRepository.kt @@ -43,16 +43,9 @@ interface ReviewRepository : CoroutineCrudRepository<Review, Long> { FROM review AS r INNER JOIN user AS u ON r.user_id = u.id - WHERE r.travel_destination_id = :travelDestinationId AND r.user_id = :userId AND r.is_deleted = false + WHERE r.user_id = :userId AND r.is_deleted = false ORDER BY created_date DESC - LIMIT :limit - OFFSET :offset """ ) - suspend fun findAllByUserAndTravelDestinationId( - travelDestinationId: Long, - userId: Long, - limit: Int, - offset: Long, - ): Flux<ReviewElement> + suspend fun findAllByUser(userId: Long): Flux<ReviewElement> } diff --git a/src/main/kotlin/com/trip/safe/review/service/ReviewService.kt b/src/main/kotlin/com/trip/safe/review/service/ReviewService.kt index 48afc39..9e0ddb3 100644 --- a/src/main/kotlin/com/trip/safe/review/service/ReviewService.kt +++ b/src/main/kotlin/com/trip/safe/review/service/ReviewService.kt @@ -1,6 +1,5 @@ package com.trip.safe.review.service -import com.trip.safe.common.error.exception.BadRequestException import com.trip.safe.common.error.exception.ForbiddenException import com.trip.safe.common.security.SecurityFacade import com.trip.safe.review.domain.Review @@ -24,11 +23,6 @@ class ReviewService( private val reviewRepository: ReviewRepository, private val securityFacade: SecurityFacade, ) { - companion object { - private const val MY = "my" - private const val ALL = "all" - } - suspend fun createReview(request: CreateReviewRequest, travelDestinationId: Long) { val user = securityFacade.getCurrentUser() val travelDestination = travelDestinationRepository.findById(travelDestinationId) @@ -88,26 +82,11 @@ class ReviewService( pageable: Pageable, ): ReviewListResponse { val user = securityFacade.getCurrentUser() - val reviewList = when (type) { - MY -> { - reviewRepository.findAllByTravelDestinationId( - travelDestinationId = travelDestinationId, - limit = pageable.pageSize, - offset = pageable.offset, - ) - } - - ALL -> { - reviewRepository.findAllByUserAndTravelDestinationId( - travelDestinationId = travelDestinationId, - userId = user.id, - limit = pageable.pageSize, - offset = pageable.offset, - ) - } - - else -> throw BadRequestException(BadRequestException.BAD_REQUEST) - }.collectList().awaitSingle() + val reviewList = reviewRepository.findAllByTravelDestinationId( + travelDestinationId = travelDestinationId, + limit = pageable.pageSize, + offset = pageable.offset, + ).collectList().awaitSingle() val travelDestination = travelDestinationRepository.findById(travelDestinationId) ?: throw TravelDestinationNotFoundException(TravelDestinationNotFoundException.TRAVEL_DESTINATION_NOT_FOUND) diff --git a/src/main/kotlin/com/trip/safe/user/presentation/dto/response/MyInfoResponse.kt b/src/main/kotlin/com/trip/safe/user/presentation/dto/response/MyInfoResponse.kt index 0a2858e..082f31c 100644 --- a/src/main/kotlin/com/trip/safe/user/presentation/dto/response/MyInfoResponse.kt +++ b/src/main/kotlin/com/trip/safe/user/presentation/dto/response/MyInfoResponse.kt @@ -1,6 +1,9 @@ package com.trip.safe.user.presentation.dto.response +import com.trip.safe.review.presentation.dto.response.ReviewElement + data class MyInfoResponse( val accountId: String, - val age: Short + val age: Short, + val reviewList: List<ReviewElement>, ) diff --git a/src/main/kotlin/com/trip/safe/user/service/UserService.kt b/src/main/kotlin/com/trip/safe/user/service/UserService.kt index 5834361..bb27744 100644 --- a/src/main/kotlin/com/trip/safe/user/service/UserService.kt +++ b/src/main/kotlin/com/trip/safe/user/service/UserService.kt @@ -2,6 +2,7 @@ package com.trip.safe.user.service import com.trip.safe.common.security.SecurityFacade import com.trip.safe.common.security.jwt.JwtTokenProvider +import com.trip.safe.review.domain.ReviewRepository import com.trip.safe.user.domain.User import com.trip.safe.user.domain.UserRepository import com.trip.safe.user.exception.PasswordMisMatchException @@ -11,6 +12,7 @@ import com.trip.safe.user.presentation.dto.request.UserSignInRequest import com.trip.safe.user.presentation.dto.request.UserSignUpRequest import com.trip.safe.user.presentation.dto.response.MyInfoResponse import com.trip.safe.user.presentation.dto.response.TokenResponse +import kotlinx.coroutines.reactive.awaitSingle import org.springframework.security.crypto.password.PasswordEncoder import org.springframework.stereotype.Service @@ -20,6 +22,7 @@ class UserService( private val jwtTokenProvider: JwtTokenProvider, private val passwordEncoder: PasswordEncoder, private val securityFacade: SecurityFacade, + private val reviewRepository: ReviewRepository, ) { suspend fun signUp(request: UserSignUpRequest): TokenResponse { @@ -52,9 +55,13 @@ class UserService( suspend fun getMyInfo(): MyInfoResponse { val user = securityFacade.getCurrentUser() + val reviewList = reviewRepository.findAllByUser(user.id) + .collectList().awaitSingle() + return MyInfoResponse( accountId = user.accountId, - age = user.age + age = user.age, + reviewList = reviewList ) } }