generated from pricelees/issue-pr-template
[#66] 결제 & 예약 확정 로직 수정 #67
@ -0,0 +1,38 @@
|
|||||||
|
package com.sangdol.roomescape.payment.business.domain
|
||||||
|
|
||||||
|
abstract class PaymentDetail
|
||||||
|
|
||||||
|
class BankTransferPaymentDetail(
|
||||||
|
val bankCode: BankCode,
|
||||||
|
val settlementStatus: String,
|
||||||
|
): PaymentDetail()
|
||||||
|
|
||||||
|
class CardPaymentDetail(
|
||||||
|
val issuerCode: CardIssuerCode,
|
||||||
|
val number: String,
|
||||||
|
val amount: Int,
|
||||||
|
val cardType: CardType,
|
||||||
|
val ownerType: CardOwnerType,
|
||||||
|
val isInterestFree: Boolean,
|
||||||
|
val approveNo: String,
|
||||||
|
val installmentPlanMonths: Int
|
||||||
|
): PaymentDetail()
|
||||||
|
|
||||||
|
class EasypayCardPaymentDetail(
|
||||||
|
val issuerCode: CardIssuerCode,
|
||||||
|
val number: String,
|
||||||
|
val amount: Int,
|
||||||
|
val cardType: CardType,
|
||||||
|
val ownerType: CardOwnerType,
|
||||||
|
val isInterestFree: Boolean,
|
||||||
|
val approveNo: String,
|
||||||
|
val installmentPlanMonths: Int,
|
||||||
|
val easypayProvider: EasyPayCompanyCode,
|
||||||
|
val easypayDiscountAmount: Int,
|
||||||
|
): PaymentDetail()
|
||||||
|
|
||||||
|
class EasypayPrepaidPaymentDetail(
|
||||||
|
val provider: EasyPayCompanyCode,
|
||||||
|
val amount: Int,
|
||||||
|
val discountAmount: Int,
|
||||||
|
): PaymentDetail()
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
package com.sangdol.roomescape.payment.mapper
|
||||||
|
|
||||||
|
import com.sangdol.roomescape.payment.business.domain.BankTransferPaymentDetail
|
||||||
|
import com.sangdol.roomescape.payment.business.domain.CardPaymentDetail
|
||||||
|
import com.sangdol.roomescape.payment.business.domain.EasypayCardPaymentDetail
|
||||||
|
import com.sangdol.roomescape.payment.business.domain.EasypayPrepaidPaymentDetail
|
||||||
|
import com.sangdol.roomescape.payment.infrastructure.persistence.PaymentBankTransferDetailEntity
|
||||||
|
import com.sangdol.roomescape.payment.infrastructure.persistence.PaymentCardDetailEntity
|
||||||
|
import com.sangdol.roomescape.payment.infrastructure.persistence.PaymentDetailEntity
|
||||||
|
import com.sangdol.roomescape.payment.infrastructure.persistence.PaymentEasypayPrepaidDetailEntity
|
||||||
|
|
||||||
|
fun BankTransferPaymentDetail.toEntity(
|
||||||
|
id: Long,
|
||||||
|
paymentId: Long,
|
||||||
|
suppliedAmount: Int,
|
||||||
|
vat: Int
|
||||||
|
): PaymentDetailEntity {
|
||||||
|
return PaymentBankTransferDetailEntity(
|
||||||
|
id = id,
|
||||||
|
paymentId = paymentId,
|
||||||
|
suppliedAmount = suppliedAmount,
|
||||||
|
vat = vat,
|
||||||
|
bankCode = this.bankCode,
|
||||||
|
settlementStatus = this.settlementStatus
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun CardPaymentDetail.toEntity(
|
||||||
|
id: Long,
|
||||||
|
paymentId: Long,
|
||||||
|
suppliedAmount: Int,
|
||||||
|
vat: Int
|
||||||
|
): PaymentDetailEntity {
|
||||||
|
return PaymentCardDetailEntity(
|
||||||
|
id = id,
|
||||||
|
paymentId = paymentId,
|
||||||
|
suppliedAmount = suppliedAmount,
|
||||||
|
vat = vat,
|
||||||
|
issuerCode = issuerCode,
|
||||||
|
cardType = cardType,
|
||||||
|
ownerType = ownerType,
|
||||||
|
amount = amount,
|
||||||
|
cardNumber = this.number,
|
||||||
|
approvalNumber = this.approveNo,
|
||||||
|
installmentPlanMonths = installmentPlanMonths,
|
||||||
|
isInterestFree = isInterestFree,
|
||||||
|
easypayProviderCode = null,
|
||||||
|
easypayDiscountAmount = null
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun EasypayCardPaymentDetail.toEntity(
|
||||||
|
id: Long,
|
||||||
|
paymentId: Long,
|
||||||
|
suppliedAmount: Int,
|
||||||
|
vat: Int
|
||||||
|
): PaymentDetailEntity {
|
||||||
|
return PaymentCardDetailEntity(
|
||||||
|
id = id,
|
||||||
|
paymentId = paymentId,
|
||||||
|
suppliedAmount = suppliedAmount,
|
||||||
|
vat = vat,
|
||||||
|
issuerCode = issuerCode,
|
||||||
|
cardType = cardType,
|
||||||
|
ownerType = ownerType,
|
||||||
|
amount = amount,
|
||||||
|
cardNumber = this.number,
|
||||||
|
approvalNumber = this.approveNo,
|
||||||
|
installmentPlanMonths = installmentPlanMonths,
|
||||||
|
isInterestFree = isInterestFree,
|
||||||
|
easypayProviderCode = this.easypayProvider,
|
||||||
|
easypayDiscountAmount = this.easypayDiscountAmount
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun EasypayPrepaidPaymentDetail.toEntity(
|
||||||
|
id: Long,
|
||||||
|
paymentId: Long,
|
||||||
|
suppliedAmount: Int,
|
||||||
|
vat: Int
|
||||||
|
): PaymentDetailEntity {
|
||||||
|
return PaymentEasypayPrepaidDetailEntity(
|
||||||
|
id = id,
|
||||||
|
paymentId = paymentId,
|
||||||
|
suppliedAmount = suppliedAmount,
|
||||||
|
vat = vat,
|
||||||
|
easypayProviderCode = this.provider,
|
||||||
|
amount = this.amount,
|
||||||
|
discountAmount = this.discountAmount
|
||||||
|
)
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user