generated from pricelees/issue-pr-template
refactor: ReservationSummaryResponse -> ReservationOverviewResponse 클래스명 수정 및 schedule에 추가된 ScheduleOverviewResponse 조회 적용
This commit is contained in:
parent
5a6f7c4763
commit
70b9c58c15
@ -17,10 +17,9 @@ import roomescape.reservation.infrastructure.persistence.*
|
|||||||
import roomescape.reservation.web.*
|
import roomescape.reservation.web.*
|
||||||
import roomescape.schedule.business.ScheduleService
|
import roomescape.schedule.business.ScheduleService
|
||||||
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
|
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
|
||||||
import roomescape.schedule.web.ScheduleSummaryResponse
|
import roomescape.schedule.web.ScheduleOverviewResponse
|
||||||
import roomescape.schedule.web.ScheduleUpdateRequest
|
import roomescape.schedule.web.ScheduleUpdateRequest
|
||||||
import roomescape.theme.business.ThemeService
|
import roomescape.theme.business.ThemeService
|
||||||
import roomescape.theme.web.ThemeInfoResponse
|
|
||||||
import roomescape.user.business.UserService
|
import roomescape.user.business.UserService
|
||||||
import roomescape.user.web.UserContactResponse
|
import roomescape.user.web.UserContactResponse
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
@ -90,7 +89,7 @@ class ReservationService(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
fun findUserSummaryReservation(user: CurrentUserContext): ReservationSummaryListResponse {
|
fun findAllUserReservationOverview(user: CurrentUserContext): ReservationOverviewListResponse {
|
||||||
log.info { "[ReservationService.findSummaryByMemberId] 예약 조회 시작: userId=${user.id}" }
|
log.info { "[ReservationService.findSummaryByMemberId] 예약 조회 시작: userId=${user.id}" }
|
||||||
|
|
||||||
val reservations: List<ReservationEntity> = reservationRepository.findAllByUserIdAndStatusIsIn(
|
val reservations: List<ReservationEntity> = reservationRepository.findAllByUserIdAndStatusIsIn(
|
||||||
@ -98,17 +97,9 @@ class ReservationService(
|
|||||||
statuses = listOf(ReservationStatus.CONFIRMED, ReservationStatus.CANCELED)
|
statuses = listOf(ReservationStatus.CONFIRMED, ReservationStatus.CANCELED)
|
||||||
)
|
)
|
||||||
|
|
||||||
return ReservationSummaryListResponse(reservations.map {
|
return ReservationOverviewListResponse(reservations.map {
|
||||||
val schedule: ScheduleSummaryResponse = scheduleService.findSummaryById(it.scheduleId)
|
val schedule: ScheduleOverviewResponse = scheduleService.findScheduleOverviewById(it.scheduleId)
|
||||||
val theme: ThemeInfoResponse = themeService.findInfoById(schedule.themeId)
|
it.toOverviewResponse(schedule)
|
||||||
|
|
||||||
ReservationSummaryResponse(
|
|
||||||
id = it.id,
|
|
||||||
themeName = theme.name,
|
|
||||||
date = schedule.date,
|
|
||||||
startAt = schedule.time,
|
|
||||||
status = it.status
|
|
||||||
)
|
|
||||||
}).also {
|
}).also {
|
||||||
log.info { "[ReservationService.findSummaryByMemberId] ${it.reservations.size}개의 예약 조회 완료: userId=${user.id}" }
|
log.info { "[ReservationService.findSummaryByMemberId] ${it.reservations.size}개의 예약 조회 완료: userId=${user.id}" }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,7 @@ interface ReservationAPI {
|
|||||||
@ApiResponses(ApiResponse(responseCode = "200", useReturnTypeSchema = true))
|
@ApiResponses(ApiResponse(responseCode = "200", useReturnTypeSchema = true))
|
||||||
fun findSummaryByMemberId(
|
fun findSummaryByMemberId(
|
||||||
@User user: CurrentUserContext,
|
@User user: CurrentUserContext,
|
||||||
): ResponseEntity<CommonApiResponse<ReservationSummaryListResponse>>
|
): ResponseEntity<CommonApiResponse<ReservationOverviewListResponse>>
|
||||||
|
|
||||||
@UserOnly
|
@UserOnly
|
||||||
@Operation(summary = "특정 예약에 대한 상세 조회")
|
@Operation(summary = "특정 예약에 대한 상세 조회")
|
||||||
|
|||||||
@ -57,8 +57,8 @@ class ReservationController(
|
|||||||
@GetMapping("/summary")
|
@GetMapping("/summary")
|
||||||
override fun findSummaryByMemberId(
|
override fun findSummaryByMemberId(
|
||||||
@User user: CurrentUserContext,
|
@User user: CurrentUserContext,
|
||||||
): ResponseEntity<CommonApiResponse<ReservationSummaryListResponse>> {
|
): ResponseEntity<CommonApiResponse<ReservationOverviewListResponse>> {
|
||||||
val response = reservationService.findUserSummaryReservation(user)
|
val response = reservationService.findAllUserReservationOverview(user)
|
||||||
|
|
||||||
return ResponseEntity.ok(CommonApiResponse(response))
|
return ResponseEntity.ok(CommonApiResponse(response))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import jakarta.validation.constraints.NotEmpty
|
|||||||
import roomescape.payment.web.PaymentWithDetailResponse
|
import roomescape.payment.web.PaymentWithDetailResponse
|
||||||
import roomescape.reservation.infrastructure.persistence.ReservationEntity
|
import roomescape.reservation.infrastructure.persistence.ReservationEntity
|
||||||
import roomescape.reservation.infrastructure.persistence.ReservationStatus
|
import roomescape.reservation.infrastructure.persistence.ReservationStatus
|
||||||
|
import roomescape.schedule.web.ScheduleOverviewResponse
|
||||||
import roomescape.user.web.UserContactResponse
|
import roomescape.user.web.UserContactResponse
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
@ -34,16 +35,30 @@ data class PendingReservationCreateResponse(
|
|||||||
val id: Long
|
val id: Long
|
||||||
)
|
)
|
||||||
|
|
||||||
data class ReservationSummaryResponse(
|
data class ReservationOverviewResponse(
|
||||||
val id: Long,
|
val id: Long,
|
||||||
|
val storeName: String,
|
||||||
val themeName: String,
|
val themeName: String,
|
||||||
val date: LocalDate,
|
val date: LocalDate,
|
||||||
val startAt: LocalTime,
|
val startFrom: LocalTime,
|
||||||
|
val endAt: LocalTime,
|
||||||
val status: ReservationStatus
|
val status: ReservationStatus
|
||||||
)
|
)
|
||||||
|
|
||||||
data class ReservationSummaryListResponse(
|
fun ReservationEntity.toOverviewResponse(
|
||||||
val reservations: List<ReservationSummaryResponse>
|
schedule: ScheduleOverviewResponse
|
||||||
|
) = ReservationOverviewResponse(
|
||||||
|
id = this.id,
|
||||||
|
storeName = schedule.storeName,
|
||||||
|
themeName = schedule.themeName,
|
||||||
|
date = schedule.date,
|
||||||
|
startFrom = schedule.startFrom,
|
||||||
|
endAt = schedule.endAt,
|
||||||
|
status = this.status
|
||||||
|
)
|
||||||
|
|
||||||
|
data class ReservationOverviewListResponse(
|
||||||
|
val reservations: List<ReservationOverviewResponse>
|
||||||
)
|
)
|
||||||
|
|
||||||
data class ReservationDetailResponse(
|
data class ReservationDetailResponse(
|
||||||
|
|||||||
@ -21,7 +21,7 @@ import roomescape.reservation.infrastructure.persistence.ReservationRepository
|
|||||||
import roomescape.reservation.infrastructure.persistence.ReservationStatus
|
import roomescape.reservation.infrastructure.persistence.ReservationStatus
|
||||||
import roomescape.reservation.web.MostReservedThemeIdListResponse
|
import roomescape.reservation.web.MostReservedThemeIdListResponse
|
||||||
import roomescape.reservation.web.ReservationCancelRequest
|
import roomescape.reservation.web.ReservationCancelRequest
|
||||||
import roomescape.reservation.web.ReservationSummaryResponse
|
import roomescape.reservation.web.ReservationOverviewResponse
|
||||||
import roomescape.schedule.infrastructure.persistence.ScheduleEntity
|
import roomescape.schedule.infrastructure.persistence.ScheduleEntity
|
||||||
import roomescape.schedule.infrastructure.persistence.ScheduleRepository
|
import roomescape.schedule.infrastructure.persistence.ScheduleRepository
|
||||||
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
|
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
|
||||||
@ -349,7 +349,7 @@ class ReservationApiTest(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
).also { response ->
|
).also { response ->
|
||||||
ResponseParser.parseListResponse<ReservationSummaryResponse>(
|
ResponseParser.parseListResponse<ReservationOverviewResponse>(
|
||||||
response.extract().path("data.reservations")
|
response.extract().path("data.reservations")
|
||||||
).forEach {
|
).forEach {
|
||||||
it.status shouldBe ReservationStatus.CONFIRMED
|
it.status shouldBe ReservationStatus.CONFIRMED
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user