[#35] 결제 스키마 재정의 & 예약 조회 페이지 개선 #36

Merged
pricelees merged 37 commits from refactor/#35 into main 2025-08-22 06:43:16 +00:00
3 changed files with 28 additions and 4 deletions
Showing only changes of commit 9aaa988f76 - Show all commits

View File

@ -6,6 +6,8 @@ import com.fasterxml.jackson.databind.JsonDeserializer
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import roomescape.payment.infrastructure.common.PaymentStatus
import roomescape.payment.infrastructure.persistence.v2.CanceledPaymentEntityV2
import java.time.LocalDateTime
import java.time.OffsetDateTime
data class PaymentCancelRequestV2(
@ -26,6 +28,25 @@ data class CancelDetail(
val transferDiscountAmount: Int,
val easyPayDiscountAmount: Int,
val canceledAt: OffsetDateTime,
val cancelReason: String
)
fun CancelDetail.toEntity(
id: Long,
paymentId: Long,
canceledBy: Long,
cancelRequestedAt: LocalDateTime
) = CanceledPaymentEntityV2(
id = id,
canceledAt = this.canceledAt,
requestedAt = cancelRequestedAt,
paymentId = paymentId,
canceledBy = canceledBy,
cancelReason = this.cancelReason,
cancelAmount = this.cancelAmount,
cardDiscountAmount = this.cardDiscountAmount,
transferDiscountAmount = this.transferDiscountAmount,
easypayDiscountAmount = this.easyPayDiscountAmount
)
class CancelDetailDeserializer : JsonDeserializer<CancelDetail>() {
@ -46,7 +67,8 @@ class CancelDetailDeserializer : JsonDeserializer<CancelDetail>() {
cardDiscountAmount = targetNode.get("cardDiscountAmount").asInt(),
transferDiscountAmount = targetNode.get("transferDiscountAmount").asInt(),
easyPayDiscountAmount = targetNode.get("easyPayDiscountAmount").asInt(),
canceledAt = OffsetDateTime.parse(targetNode.get("canceledAt").asText())
canceledAt = OffsetDateTime.parse(targetNode.get("canceledAt").asText()),
cancelReason = targetNode.get("cancelReason").asText()
)
}
}

View File

@ -12,7 +12,7 @@ import java.time.OffsetDateTime
data class PaymentConfirmRequest(
val paymentKey: String,
val orderId: String,
val amount: Long,
val amount: Int,
)
data class PaymentConfirmResponse(

View File

@ -6,6 +6,7 @@ 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(
@ -33,7 +34,7 @@ fun ReservationEntity.toCreateResponseV2() = ReservationCreateResponseV2(
data class ReservationPaymentRequest(
val paymentKey: String,
val orderId: String,
val amount: Long,
val amount: Int,
val paymentType: PaymentType
)
@ -51,5 +52,6 @@ data class ReservationPaymentResponse(
)
data class ReservationCancelRequest(
val cancelReason: String
val cancelReason: String,
val requestedAt: LocalDateTime = LocalDateTime.now()
)