From 6ee7aa433908de9fb8a7581efd12e0cc380e9cc8 Mon Sep 17 00:00:00 2001 From: pricelees Date: Tue, 16 Sep 2025 11:22:57 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20ScheduleEntity=20=EC=97=90=EC=84=9C?= =?UTF-8?q?=20updatedBy=EB=8A=94=20=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=EC=8B=9C=EC=97=90=EB=A7=8C=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=EB=90=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/ScheduleEntity.kt | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/roomescape/schedule/infrastructure/persistence/ScheduleEntity.kt b/src/main/kotlin/roomescape/schedule/infrastructure/persistence/ScheduleEntity.kt index e0198b84..1b87278d 100644 --- a/src/main/kotlin/roomescape/schedule/infrastructure/persistence/ScheduleEntity.kt +++ b/src/main/kotlin/roomescape/schedule/infrastructure/persistence/ScheduleEntity.kt @@ -1,22 +1,43 @@ package roomescape.schedule.infrastructure.persistence import jakarta.persistence.* -import roomescape.common.entity.AuditingBaseEntity +import org.springframework.data.annotation.CreatedBy +import org.springframework.data.annotation.CreatedDate +import org.springframework.data.annotation.LastModifiedDate +import org.springframework.data.jpa.domain.support.AuditingEntityListener +import roomescape.common.entity.PersistableBaseEntity +import roomescape.common.util.MdcPrincipalId import java.time.LocalDate +import java.time.LocalDateTime import java.time.LocalTime @Entity +@EntityListeners(AuditingEntityListener::class) @Table(name = "schedule", uniqueConstraints = [UniqueConstraint(columnNames = ["date", "time", "theme_id"])]) class ScheduleEntity( id: Long, var date: LocalDate, var time: LocalTime, + val storeId: Long, var themeId: Long, @Enumerated(value = EnumType.STRING) - var status: ScheduleStatus -) : AuditingBaseEntity(id) { + var status: ScheduleStatus, +) : PersistableBaseEntity(id) { + @Column(updatable = false) + @CreatedDate + lateinit var createdAt: LocalDateTime + + @Column(updatable = false) + @CreatedBy + var createdBy: Long = 0L + + @Column + @LastModifiedDate + lateinit var updatedAt: LocalDateTime + + var updatedBy: Long = 0L fun modifyIfNotNull( time: LocalTime?, @@ -24,6 +45,7 @@ class ScheduleEntity( ) { time?.let { this.time = it } status?.let { this.status = it } + MdcPrincipalId.extractAsLongOrNull()?.also { this.updatedBy = it } } fun hold() {