오디션 엔티티
- status(모집상태) 추가 - 리스트 api : 응답값에 status 추가, 활성화 데이터만 조회 - 수정 api : status 수정 기능 추가
This commit is contained in:
parent
86450533cf
commit
22c302efa0
|
@ -41,12 +41,13 @@ class AdminAuditionQueryRepositoryImpl(
|
|||
.otherwise(""),
|
||||
audition.imagePath.prepend("/").prepend(coverImageHost),
|
||||
audition.isAdult,
|
||||
audition.isActive,
|
||||
audition.information,
|
||||
audition.status,
|
||||
audition.originalWorkUrl.coalesce("")
|
||||
)
|
||||
)
|
||||
.from(audition)
|
||||
.where(audition.isActive.isTrue)
|
||||
.offset(offset)
|
||||
.limit(limit)
|
||||
.orderBy(audition.isActive.desc(), audition.id.desc())
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package kr.co.vividnext.sodalive.admin.audition
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import kr.co.vividnext.sodalive.audition.AuditionStatus
|
||||
import kr.co.vividnext.sodalive.aws.s3.S3Uploader
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import kr.co.vividnext.sodalive.utils.generateFileName
|
||||
|
@ -54,6 +55,17 @@ class AdminAuditionService(
|
|||
audition.isAdult = request.isAdult
|
||||
}
|
||||
|
||||
if (request.status != null) {
|
||||
if (
|
||||
(audition.status == AuditionStatus.COMPLETED || audition.status == AuditionStatus.IN_PROGRESS) &&
|
||||
request.status == AuditionStatus.NOT_STARTED
|
||||
) {
|
||||
throw SodaException("모집전 상태로 변경할 수 없습니다.")
|
||||
}
|
||||
|
||||
audition.status = request.status
|
||||
}
|
||||
|
||||
if (request.endDateString != null) {
|
||||
val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
|
||||
val endDate = LocalDateTime.parse(request.endDateString, dateTimeFormatter)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package kr.co.vividnext.sodalive.admin.audition
|
||||
|
||||
import com.querydsl.core.annotations.QueryProjection
|
||||
import kr.co.vividnext.sodalive.audition.AuditionStatus
|
||||
|
||||
data class GetAuditionListResponse(
|
||||
val totalCount: Int,
|
||||
|
@ -13,7 +14,7 @@ data class GetAuditionListItem @QueryProjection constructor(
|
|||
val endDate: String,
|
||||
val imageUrl: String,
|
||||
val isAdult: Boolean,
|
||||
val isActive: Boolean,
|
||||
val information: String,
|
||||
val status: AuditionStatus,
|
||||
val originalWorkUrl: String
|
||||
)
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
package kr.co.vividnext.sodalive.admin.audition
|
||||
|
||||
import kr.co.vividnext.sodalive.audition.AuditionStatus
|
||||
|
||||
data class UpdateAuditionRequest(
|
||||
val id: Long,
|
||||
val title: String? = null,
|
||||
val information: String? = null,
|
||||
val isAdult: Boolean? = null,
|
||||
val endDateString: String? = null,
|
||||
val status: AuditionStatus? = null,
|
||||
val originalWorkUrl: String? = null,
|
||||
val isActive: Boolean? = null
|
||||
)
|
||||
|
|
|
@ -4,6 +4,8 @@ import kr.co.vividnext.sodalive.common.BaseEntity
|
|||
import java.time.LocalDateTime
|
||||
import javax.persistence.Column
|
||||
import javax.persistence.Entity
|
||||
import javax.persistence.EnumType
|
||||
import javax.persistence.Enumerated
|
||||
|
||||
@Entity
|
||||
data class Audition(
|
||||
|
@ -13,7 +15,9 @@ data class Audition(
|
|||
var isAdult: Boolean = false,
|
||||
var endDate: LocalDateTime? = null,
|
||||
// 원작 URL
|
||||
var originalWorkUrl: String? = null
|
||||
var originalWorkUrl: String? = null,
|
||||
@Enumerated(value = EnumType.STRING)
|
||||
var status: AuditionStatus = AuditionStatus.NOT_STARTED
|
||||
) : BaseEntity() {
|
||||
var isActive: Boolean = true
|
||||
var imagePath: String? = null
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package kr.co.vividnext.sodalive.audition
|
||||
|
||||
enum class AuditionStatus {
|
||||
NOT_STARTED,
|
||||
IN_PROGRESS,
|
||||
COMPLETED
|
||||
}
|
Loading…
Reference in New Issue