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