feat(content-ranking): 스냅샷 job 공개 메타데이터를 저장한다
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package kr.co.vividnext.sodalive.v2.ranking.adapter.out.persistence
|
||||
|
||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||
import kr.co.vividnext.sodalive.v2.ranking.domain.CreatorRankingType
|
||||
import kr.co.vividnext.sodalive.v2.ranking.port.out.CreatorRankingSnapshotJobStatus
|
||||
import kr.co.vividnext.sodalive.v2.ranking.port.out.CreatorRankingSnapshotJobTrigger
|
||||
import java.time.LocalDateTime
|
||||
@@ -13,12 +14,19 @@ import javax.persistence.Table
|
||||
@Entity
|
||||
@Table(name = "creator_ranking_snapshot_job")
|
||||
class CreatorRankingSnapshotJob(
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(name = "ranking_type", nullable = false, length = 30)
|
||||
val rankingType: CreatorRankingType,
|
||||
|
||||
@Column(name = "aggregation_start_at_utc", nullable = false)
|
||||
val aggregationStartAtUtc: LocalDateTime,
|
||||
|
||||
@Column(name = "aggregation_end_at_utc", nullable = false)
|
||||
val aggregationEndAtUtc: LocalDateTime,
|
||||
|
||||
@Column(name = "visible_from_at", nullable = false)
|
||||
val visibleFromAtUtc: LocalDateTime,
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(name = "trigger_type", nullable = false, length = 20)
|
||||
val trigger: CreatorRankingSnapshotJobTrigger,
|
||||
|
||||
@@ -73,8 +73,10 @@ class DefaultCreatorRankingSnapshotJobRepository(
|
||||
|
||||
private fun CreatorRankingSnapshotJobRecord.toEntity(): CreatorRankingSnapshotJob {
|
||||
return CreatorRankingSnapshotJob(
|
||||
rankingType = rankingType,
|
||||
aggregationStartAtUtc = aggregationStartAtUtc,
|
||||
aggregationEndAtUtc = aggregationEndAtUtc,
|
||||
visibleFromAtUtc = visibleFromAtUtc,
|
||||
trigger = trigger,
|
||||
status = status,
|
||||
lastError = lastError,
|
||||
@@ -86,8 +88,10 @@ class DefaultCreatorRankingSnapshotJobRepository(
|
||||
private fun CreatorRankingSnapshotJob.toRecord(): CreatorRankingSnapshotJobRecord {
|
||||
return CreatorRankingSnapshotJobRecord(
|
||||
id = id,
|
||||
rankingType = rankingType,
|
||||
aggregationStartAtUtc = aggregationStartAtUtc,
|
||||
aggregationEndAtUtc = aggregationEndAtUtc,
|
||||
visibleFromAtUtc = visibleFromAtUtc,
|
||||
trigger = trigger,
|
||||
status = status,
|
||||
lastError = lastError,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package kr.co.vividnext.sodalive.v2.ranking.port.out
|
||||
|
||||
import kr.co.vividnext.sodalive.v2.ranking.domain.CreatorRankingType
|
||||
import java.time.LocalDateTime
|
||||
|
||||
interface CreatorRankingSnapshotJobPort {
|
||||
@@ -36,8 +37,10 @@ enum class CreatorRankingSnapshotJobTrigger {
|
||||
|
||||
data class CreatorRankingSnapshotJobRecord(
|
||||
val id: Long? = null,
|
||||
val rankingType: CreatorRankingType,
|
||||
val aggregationStartAtUtc: LocalDateTime,
|
||||
val aggregationEndAtUtc: LocalDateTime,
|
||||
val visibleFromAtUtc: LocalDateTime,
|
||||
val trigger: CreatorRankingSnapshotJobTrigger,
|
||||
val status: CreatorRankingSnapshotJobStatus,
|
||||
val lastError: String?,
|
||||
|
||||
Reference in New Issue
Block a user