generated from pricelees/issue-pr-template
feat: 결제 상세 정보를 저장하는 PaymentDetailEntity 정의
This commit is contained in:
parent
c2906ee430
commit
63d4f93d31
@ -0,0 +1,78 @@
|
||||
package roomescape.payment.infrastructure.persistence.v2
|
||||
|
||||
import jakarta.persistence.*
|
||||
import roomescape.common.entity.PersistableBaseEntity
|
||||
import roomescape.payment.infrastructure.common.*
|
||||
import kotlin.jvm.Transient
|
||||
|
||||
@Entity
|
||||
@Table(name = "payment_detail")
|
||||
@Inheritance(strategy = InheritanceType.JOINED)
|
||||
open class PaymentDetailEntity(
|
||||
id: Long,
|
||||
|
||||
open val paymentId: Long,
|
||||
open val netAmount: Int,
|
||||
open val vat: Int,
|
||||
|
||||
@Transient
|
||||
private var isNewEntity: Boolean = true
|
||||
) : PersistableBaseEntity(id)
|
||||
|
||||
@Entity
|
||||
@Table(name = "payment_card_detail")
|
||||
class PaymentCardDetailEntity(
|
||||
id: Long,
|
||||
paymentId: Long,
|
||||
netAmount: Int,
|
||||
vat: Int,
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
val issuerCode: CardIssuerCode,
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
val cardType: CardType,
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
val ownerType: CardOwnerType,
|
||||
|
||||
val amount: Int,
|
||||
val cardNumber: String,
|
||||
val approvalNumber: String,
|
||||
|
||||
@Column(name = "installment_plan_months", columnDefinition = "TINYINT")
|
||||
val installmentPlanMonths: Int,
|
||||
val isInterestFree: Boolean,
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
val easypayProviderCode: EasyPayCompanyCode?,
|
||||
|
||||
val easypayDiscountAmount: Int?
|
||||
) : PaymentDetailEntity(id, paymentId, netAmount, vat)
|
||||
|
||||
@Entity
|
||||
@Table(name = "payment_bank_transfer_detail")
|
||||
class PaymentBankTransferDetailEntity(
|
||||
id: Long,
|
||||
paymentId: Long,
|
||||
netAmount: Int,
|
||||
vat: Int,
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
val bankCode: BankCode
|
||||
) : PaymentDetailEntity(id, paymentId, netAmount, vat)
|
||||
|
||||
@Entity
|
||||
@Table(name = "payment_easypay_prepaid_detail")
|
||||
class PaymentEasypayPrepaidDetailEntity(
|
||||
id: Long,
|
||||
paymentId: Long,
|
||||
netAmount: Int,
|
||||
vat: Int,
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
val easypayProviderCode: EasyPayCompanyCode,
|
||||
|
||||
val amount: Int,
|
||||
val discountAmount: Int
|
||||
) : PaymentDetailEntity(id, paymentId, netAmount, vat)
|
||||
@ -0,0 +1,5 @@
|
||||
package roomescape.payment.infrastructure.persistence.v2
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
interface PaymentDetailRepository: JpaRepository<PaymentDetailEntity, Long>
|
||||
Loading…
x
Reference in New Issue
Block a user