feat(gift): 선물 가격과 신청번호 저장소를 추가한다
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
package kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence
|
||||
|
||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||
import javax.persistence.Column
|
||||
import javax.persistence.Entity
|
||||
import javax.persistence.Table
|
||||
import javax.persistence.UniqueConstraint
|
||||
|
||||
@Entity
|
||||
@Table(
|
||||
name = "gift_application_no_sequence",
|
||||
uniqueConstraints = [UniqueConstraint(name = "uk_gift_application_no_sequence_date", columnNames = ["sequence_date"])]
|
||||
)
|
||||
class GiftApplicationNoSequence(
|
||||
@Column(name = "sequence_date", nullable = false, length = 8)
|
||||
val sequenceDate: String,
|
||||
|
||||
@Column(name = "last_sequence", nullable = false)
|
||||
var lastSequence: Int
|
||||
) : BaseEntity()
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
import org.springframework.data.jpa.repository.Lock
|
||||
import org.springframework.data.jpa.repository.Query
|
||||
import org.springframework.data.repository.query.Param
|
||||
import javax.persistence.LockModeType
|
||||
|
||||
interface GiftApplicationNoSequenceRepository : JpaRepository<GiftApplicationNoSequence, Long> {
|
||||
fun findBySequenceDate(sequenceDate: String): GiftApplicationNoSequence?
|
||||
|
||||
@Lock(LockModeType.PESSIMISTIC_WRITE)
|
||||
@Query("select s from GiftApplicationNoSequence s where s.sequenceDate = :sequenceDate")
|
||||
fun findBySequenceDateForUpdate(@Param("sequenceDate") sequenceDate: String): GiftApplicationNoSequence?
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence
|
||||
|
||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||
import kr.co.vividnext.sodalive.v2.gift.domain.GiftSize
|
||||
import javax.persistence.Column
|
||||
import javax.persistence.Entity
|
||||
import javax.persistence.EnumType
|
||||
import javax.persistence.Enumerated
|
||||
import javax.persistence.Table
|
||||
import javax.persistence.UniqueConstraint
|
||||
|
||||
@Entity
|
||||
@Table(
|
||||
name = "gift_size_price",
|
||||
uniqueConstraints = [UniqueConstraint(name = "uk_gift_size_price_size_code", columnNames = ["size_code"])]
|
||||
)
|
||||
class GiftSizePrice(
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(name = "size_code", nullable = false, length = 20)
|
||||
val sizeCode: GiftSize,
|
||||
|
||||
@Column(name = "base_price_can", nullable = false)
|
||||
var basePriceCan: Int,
|
||||
|
||||
@Column(name = "sale_price_can", nullable = false)
|
||||
var salePriceCan: Int,
|
||||
|
||||
@Column(name = "is_active", nullable = false)
|
||||
var isActive: Boolean = true
|
||||
) : BaseEntity()
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence
|
||||
|
||||
import kr.co.vividnext.sodalive.v2.gift.domain.GiftSize
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
interface GiftSizePriceRepository : JpaRepository<GiftSizePrice, Long> {
|
||||
fun findBySizeCode(sizeCode: GiftSize): GiftSizePrice?
|
||||
}
|
||||
Reference in New Issue
Block a user