generated from pricelees/issue-pr-template
feat: PaymentDetail 도메인 객체 및 매핑 확장함수 추가
This commit is contained in:
parent
747245d9ac
commit
257fcb517d
@ -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