generated from pricelees/issue-pr-template
<!-- 제목 양식 --> <!-- [이슈번호] 작업 요약 (예시: [#10] Gitea 템플릿 생성) --> ## 📝 관련 이슈 및 PR **PR과 관련된 이슈 번호** - #35 ## ✨ 작업 내용 <!-- 어떤 작업을 했는지 알려주세요! --> - 운영을 고려하여 조금 더 디테일한 정보가 담기도록 결제 스키마 개선(결제수단, 금액, 카드 사용시 카드번호, 할부 정보 등) - 회원의 예약 조회 페이지 개선 및 회원의 예약 취소 기능 도입 ## 🧪 테스트 <!-- 어떤 테스트를 생각했고 진행했는지 알려주세요! --> - 현재 테스트가 과연 신뢰성이 있는가 의문. 추후 전체적인 작업 후 전체 테스트를 재조정할 예정 ## 📚 참고 자료 및 기타 <!-- 참고한 자료, 또는 논의할 사항이 있다면 알려주세요! --> Reviewed-on: #36 Co-authored-by: pricelees <priceelees@gmail.com> Co-committed-by: pricelees <priceelees@gmail.com>
58 lines
1.6 KiB
Kotlin
58 lines
1.6 KiB
Kotlin
package roomescape.reservation.web
|
|
|
|
import roomescape.payment.infrastructure.client.v2.PaymentConfirmRequest
|
|
import roomescape.payment.infrastructure.common.PaymentStatus
|
|
import roomescape.payment.infrastructure.common.PaymentType
|
|
import roomescape.reservation.infrastructure.persistence.ReservationEntity
|
|
import roomescape.reservation.infrastructure.persistence.ReservationStatus
|
|
import java.time.LocalDate
|
|
import java.time.LocalDateTime
|
|
import java.time.LocalTime
|
|
|
|
data class ReservationCreateRequest(
|
|
val date: LocalDate,
|
|
val timeId: Long,
|
|
val themeId: Long,
|
|
)
|
|
|
|
data class ReservationCreateResponseV2(
|
|
val reservationId: Long,
|
|
val memberEmail: String,
|
|
val date: LocalDate,
|
|
val startAt: LocalTime,
|
|
val themeName: String
|
|
)
|
|
|
|
fun ReservationEntity.toCreateResponseV2() = ReservationCreateResponseV2(
|
|
reservationId = this.id!!,
|
|
memberEmail = this.member.email,
|
|
date = this.date,
|
|
startAt = this.time.startAt,
|
|
themeName = this.theme.name
|
|
)
|
|
|
|
data class ReservationPaymentRequest(
|
|
val paymentKey: String,
|
|
val orderId: String,
|
|
val amount: Int,
|
|
val paymentType: PaymentType
|
|
)
|
|
|
|
fun ReservationPaymentRequest.toPaymentConfirmRequest() = PaymentConfirmRequest(
|
|
paymentKey = this.paymentKey,
|
|
amount = this.amount,
|
|
orderId = this.orderId,
|
|
)
|
|
|
|
data class ReservationPaymentResponse(
|
|
val reservationId: Long,
|
|
val reservationStatus: ReservationStatus,
|
|
val paymentId: Long,
|
|
val paymentStatus: PaymentStatus,
|
|
)
|
|
|
|
data class ReservationCancelRequest(
|
|
val cancelReason: String,
|
|
val requestedAt: LocalDateTime = LocalDateTime.now()
|
|
)
|