generated from pricelees/issue-pr-template
[#41] 예약 스키마 재정의 #42
@ -1,33 +1,24 @@
|
||||
package roomescape.payment.infrastructure.persistence
|
||||
|
||||
import jakarta.persistence.Column
|
||||
import jakarta.persistence.Entity
|
||||
import jakarta.persistence.Id
|
||||
import jakarta.persistence.Table
|
||||
import roomescape.common.entity.BaseEntity
|
||||
import roomescape.common.entity.PersistableBaseEntity
|
||||
import java.time.LocalDateTime
|
||||
import java.time.OffsetDateTime
|
||||
|
||||
@Entity
|
||||
@Table(name = "canceled_payments")
|
||||
@Table(name = "canceled_payment")
|
||||
class CanceledPaymentEntity(
|
||||
@Id
|
||||
@Column(name = "canceled_payment_id")
|
||||
private var _id: Long?,
|
||||
id: Long,
|
||||
|
||||
@Column(name = "payment_key", nullable = false)
|
||||
var paymentKey: String,
|
||||
val paymentId: Long,
|
||||
val requestedAt: LocalDateTime,
|
||||
val canceledAt: OffsetDateTime,
|
||||
val canceledBy: Long,
|
||||
val cancelReason: String,
|
||||
val cancelAmount: Int,
|
||||
val cardDiscountAmount: Int,
|
||||
val transferDiscountAmount: Int,
|
||||
val easypayDiscountAmount: Int,
|
||||
) : PersistableBaseEntity(id)
|
||||
|
||||
@Column(name = "cancel_reason", nullable = false)
|
||||
var cancelReason: String,
|
||||
|
||||
@Column(name = "cancel_amount", nullable = false)
|
||||
var cancelAmount: Long,
|
||||
|
||||
@Column(name = "approved_at", nullable = false)
|
||||
var approvedAt: OffsetDateTime,
|
||||
|
||||
@Column(name = "canceled_at", nullable = false)
|
||||
var canceledAt: OffsetDateTime,
|
||||
): BaseEntity() {
|
||||
override fun getId(): Long? = _id
|
||||
}
|
||||
|
||||
@ -3,5 +3,5 @@ package roomescape.payment.infrastructure.persistence
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
interface CanceledPaymentRepository : JpaRepository<CanceledPaymentEntity, Long> {
|
||||
fun findByPaymentKey(paymentKey: String): CanceledPaymentEntity?
|
||||
fun findByPaymentId(paymentId: Long): CanceledPaymentEntity?
|
||||
}
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
package roomescape.payment.infrastructure.persistence.v2
|
||||
package roomescape.payment.infrastructure.persistence
|
||||
|
||||
import jakarta.persistence.*
|
||||
import roomescape.common.entity.PersistableBaseEntity
|
||||
import roomescape.payment.infrastructure.common.*
|
||||
import kotlin.jvm.Transient
|
||||
|
||||
@Entity
|
||||
@Table(name = "payment_detail")
|
||||
@ -14,9 +13,6 @@ open class PaymentDetailEntity(
|
||||
open val paymentId: Long,
|
||||
open val suppliedAmount: Int,
|
||||
open val vat: Int,
|
||||
|
||||
@Transient
|
||||
private var isNewEntity: Boolean = true
|
||||
) : PersistableBaseEntity(id)
|
||||
|
||||
@Entity
|
||||
@ -1,4 +1,4 @@
|
||||
package roomescape.payment.infrastructure.persistence.v2
|
||||
package roomescape.payment.infrastructure.persistence
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
@ -1,32 +1,38 @@
|
||||
package roomescape.payment.infrastructure.persistence
|
||||
|
||||
import jakarta.persistence.*
|
||||
import roomescape.common.entity.BaseEntity
|
||||
import roomescape.reservation.infrastructure.persistence.ReservationEntity
|
||||
import jakarta.persistence.Entity
|
||||
import jakarta.persistence.EnumType
|
||||
import jakarta.persistence.Enumerated
|
||||
import jakarta.persistence.Table
|
||||
import roomescape.common.entity.PersistableBaseEntity
|
||||
import roomescape.payment.infrastructure.common.PaymentMethod
|
||||
import roomescape.payment.infrastructure.common.PaymentStatus
|
||||
import roomescape.payment.infrastructure.common.PaymentType
|
||||
import java.time.OffsetDateTime
|
||||
|
||||
@Entity
|
||||
@Table(name = "payments")
|
||||
@Table(name = "payment")
|
||||
class PaymentEntity(
|
||||
@Id
|
||||
@Column(name = "payment_id")
|
||||
private var _id: Long?,
|
||||
id: Long,
|
||||
|
||||
@Column(name = "order_id", nullable = false)
|
||||
var orderId: String,
|
||||
val reservationId: Long,
|
||||
val paymentKey: String,
|
||||
val orderId: String,
|
||||
val totalAmount: Int,
|
||||
val requestedAt: OffsetDateTime,
|
||||
val approvedAt: OffsetDateTime,
|
||||
|
||||
@Column(name="payment_key", nullable = false)
|
||||
var paymentKey: String,
|
||||
@Enumerated(EnumType.STRING)
|
||||
val type: PaymentType,
|
||||
|
||||
@Column(name="total_amount", nullable = false)
|
||||
var totalAmount: Long,
|
||||
@Enumerated(EnumType.STRING)
|
||||
val method: PaymentMethod,
|
||||
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "reservation_id", nullable = false)
|
||||
var reservation: ReservationEntity,
|
||||
@Enumerated(EnumType.STRING)
|
||||
var status: PaymentStatus
|
||||
) : PersistableBaseEntity(id) {
|
||||
|
||||
@Column(name="approved_at", nullable = false)
|
||||
var approvedAt: OffsetDateTime
|
||||
): BaseEntity() {
|
||||
override fun getId(): Long? = _id
|
||||
fun cancel() {
|
||||
this.status = PaymentStatus.CANCELED
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,9 +4,5 @@ import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
interface PaymentRepository : JpaRepository<PaymentEntity, Long> {
|
||||
|
||||
fun existsByReservationId(reservationId: Long): Boolean
|
||||
|
||||
fun findByReservationId(reservationId: Long): PaymentEntity?
|
||||
|
||||
fun deleteByPaymentKey(paymentKey: String)
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package roomescape.reservation_v2.infrastructure.persistence
|
||||
package roomescape.reservation.infrastructure.persistence
|
||||
|
||||
import jakarta.persistence.Entity
|
||||
import jakarta.persistence.EnumType
|
||||
@ -1,4 +1,4 @@
|
||||
package roomescape.reservation_v2.infrastructure.persistence
|
||||
package roomescape.reservation.infrastructure.persistence
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user