refactor: payment 도메인 내 Entity & Repository 재정의 및 V2 접미사 제거

This commit is contained in:
이상진 2025-09-07 21:26:59 +09:00
parent 6d8b85a9e3
commit 6c093aeb39
8 changed files with 45 additions and 56 deletions

View File

@ -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
}

View File

@ -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?
}

View File

@ -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

View File

@ -1,4 +1,4 @@
package roomescape.payment.infrastructure.persistence.v2
package roomescape.payment.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository

View File

@ -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
}
}

View File

@ -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)
}

View File

@ -1,4 +1,4 @@
package roomescape.reservation_v2.infrastructure.persistence
package roomescape.reservation.infrastructure.persistence
import jakarta.persistence.Entity
import jakarta.persistence.EnumType

View File

@ -1,4 +1,4 @@
package roomescape.reservation_v2.infrastructure.persistence
package roomescape.reservation.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository