parent
49a5e47f9d
commit
e9e538168c
|
@ -1,5 +1,6 @@
|
|||
package kr.co.vividnext.sodalive.admin.content.curation
|
||||
|
||||
import kr.co.vividnext.sodalive.admin.content.tab.AdminContentMainTabRepository
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import kr.co.vividnext.sodalive.content.main.curation.AudioContentCuration
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
|
@ -8,17 +9,23 @@ import org.springframework.transaction.annotation.Transactional
|
|||
|
||||
@Service
|
||||
class AdminContentCurationService(
|
||||
private val repository: AdminContentCurationRepository
|
||||
private val repository: AdminContentCurationRepository,
|
||||
private val contentMainTabRepository: AdminContentMainTabRepository
|
||||
) {
|
||||
@Transactional
|
||||
fun createContentCuration(request: CreateContentCurationRequest) {
|
||||
repository.save(
|
||||
AudioContentCuration(
|
||||
val tab = contentMainTabRepository.findByIdOrNull(request.tabId)
|
||||
?: throw SodaException("잘못된 요청입니다.")
|
||||
|
||||
val curation = AudioContentCuration(
|
||||
title = request.title,
|
||||
description = request.description,
|
||||
isAdult = request.isAdult
|
||||
)
|
||||
isAdult = request.isAdult,
|
||||
isSeries = request.isSeries
|
||||
)
|
||||
curation.tab = tab
|
||||
|
||||
repository.save(curation)
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
@ -41,6 +48,18 @@ class AdminContentCurationService(
|
|||
if (request.isActive != null) {
|
||||
audioContentCuration.isActive = request.isActive
|
||||
}
|
||||
|
||||
if (request.isSeries != null) {
|
||||
audioContentCuration.isSeries = request.isSeries
|
||||
}
|
||||
|
||||
if (request.tabId != null) {
|
||||
val tab = contentMainTabRepository.findByIdOrNull(request.tabId)
|
||||
|
||||
if (tab != null) {
|
||||
audioContentCuration.tab = tab
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
|
|
@ -1,16 +1,20 @@
|
|||
package kr.co.vividnext.sodalive.admin.content.curation
|
||||
|
||||
data class CreateContentCurationRequest(
|
||||
val tabId: Long,
|
||||
val title: String,
|
||||
val description: String,
|
||||
val isAdult: Boolean
|
||||
val isAdult: Boolean,
|
||||
val isSeries: Boolean
|
||||
)
|
||||
|
||||
data class UpdateContentCurationRequest(
|
||||
val id: Long,
|
||||
val tabId: Long?,
|
||||
val title: String?,
|
||||
val description: String?,
|
||||
val isAdult: Boolean?,
|
||||
val isSeries: Boolean?,
|
||||
val isActive: Boolean?
|
||||
)
|
||||
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
package kr.co.vividnext.sodalive.content.main.curation
|
||||
|
||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||
import kr.co.vividnext.sodalive.content.main.tab.AudioContentMainTab
|
||||
import javax.persistence.Column
|
||||
import javax.persistence.Entity
|
||||
import javax.persistence.FetchType
|
||||
import javax.persistence.JoinColumn
|
||||
import javax.persistence.OneToOne
|
||||
import javax.persistence.Table
|
||||
|
||||
@Entity
|
||||
|
@ -17,5 +21,11 @@ data class AudioContentCuration(
|
|||
@Column(nullable = false)
|
||||
var isActive: Boolean = true,
|
||||
@Column(nullable = false)
|
||||
var orders: Int = 1
|
||||
) : BaseEntity()
|
||||
var orders: Int = 1,
|
||||
@Column(nullable = false)
|
||||
var isSeries: Boolean = false
|
||||
) : BaseEntity() {
|
||||
@OneToOne(fetch = FetchType.EAGER)
|
||||
@JoinColumn(name = "tab_id", nullable = true)
|
||||
var tab: AudioContentMainTab? = null
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue