feat(gift): 선물 배송과 리뷰 저장소를 추가한다
This commit is contained in:
+87
@@ -0,0 +1,87 @@
|
||||
package kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence
|
||||
|
||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||
import java.time.LocalDateTime
|
||||
import javax.persistence.Column
|
||||
import javax.persistence.Entity
|
||||
import javax.persistence.Table
|
||||
import javax.persistence.UniqueConstraint
|
||||
|
||||
@Entity
|
||||
@Table(
|
||||
name = "gift_delivery",
|
||||
uniqueConstraints = [UniqueConstraint(name = "uk_gift_delivery_gift_id", columnNames = ["gift_id"])]
|
||||
)
|
||||
class GiftDelivery(
|
||||
@Column(name = "gift_id", nullable = false)
|
||||
val giftId: Long,
|
||||
|
||||
@Column(name = "sender_name", nullable = false, length = 50)
|
||||
val senderName: String,
|
||||
|
||||
@Column(name = "sender_phone_number", nullable = false, length = 30)
|
||||
val senderPhoneNumber: String,
|
||||
|
||||
@Column(name = "sender_zip_code", nullable = false, length = 20)
|
||||
val senderZipCode: String,
|
||||
|
||||
@Column(name = "sender_address", nullable = false, length = 255)
|
||||
val senderAddress: String,
|
||||
|
||||
@Column(name = "sender_address_detail", length = 255)
|
||||
val senderAddressDetail: String? = null,
|
||||
|
||||
@Column(name = "recipient_name", length = 50)
|
||||
var recipientName: String? = null,
|
||||
|
||||
@Column(name = "recipient_phone_number", length = 30)
|
||||
var recipientPhoneNumber: String? = null,
|
||||
|
||||
@Column(name = "recipient_zip_code", length = 20)
|
||||
var recipientZipCode: String? = null,
|
||||
|
||||
@Column(name = "recipient_address", length = 255)
|
||||
var recipientAddress: String? = null,
|
||||
|
||||
@Column(name = "recipient_address_detail", length = 255)
|
||||
var recipientAddressDetail: String? = null,
|
||||
|
||||
@Column(name = "courier_company_name", length = 50)
|
||||
var courierCompanyName: String? = null,
|
||||
|
||||
@Column(name = "tracking_number", length = 100)
|
||||
var trackingNumber: String? = null,
|
||||
|
||||
@Column(name = "tracking_deadline_at", nullable = false)
|
||||
val trackingDeadlineAt: LocalDateTime,
|
||||
|
||||
@Column(name = "recipient_address_deadline_at")
|
||||
var recipientAddressDeadlineAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "tracking_deadline_reminder_sent_at")
|
||||
var trackingDeadlineReminderSentAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "recipient_address_deadline_reminder_sent_at")
|
||||
var recipientAddressDeadlineReminderSentAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "tracking_registered_at")
|
||||
var trackingRegisteredAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "arrived_at_mailbox_at")
|
||||
var arrivedAtMailboxAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "inspection_completed_at")
|
||||
var inspectionCompletedAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "delivered_at")
|
||||
var deliveredAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "canceled_at")
|
||||
var canceledAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "undeliverable_at")
|
||||
var undeliverableAt: LocalDateTime? = null,
|
||||
|
||||
@Column(name = "undeliverable_reason", length = 255)
|
||||
var undeliverableReason: String? = null
|
||||
) : BaseEntity()
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
interface GiftDeliveryRepository : JpaRepository<GiftDelivery, Long> {
|
||||
fun findByGiftId(giftId: Long): GiftDelivery?
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
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_review",
|
||||
uniqueConstraints = [UniqueConstraint(name = "uk_gift_review_gift_id", columnNames = ["gift_id"])]
|
||||
)
|
||||
class GiftReview(
|
||||
@Column(name = "gift_id", nullable = false)
|
||||
val giftId: Long,
|
||||
|
||||
@Column(name = "sender_member_id", nullable = false)
|
||||
val senderMemberId: Long,
|
||||
|
||||
@Column(name = "rating", nullable = false)
|
||||
val rating: Int,
|
||||
|
||||
@Column(name = "keywords", columnDefinition = "text")
|
||||
var keywords: String? = null,
|
||||
|
||||
@Column(name = "comment", length = 255)
|
||||
var comment: String? = null
|
||||
) : BaseEntity()
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
interface GiftReviewRepository : JpaRepository<GiftReview, Long> {
|
||||
fun findByGiftId(giftId: Long): GiftReview?
|
||||
}
|
||||
Reference in New Issue
Block a user