오디션 엔티티
- status(모집상태) 추가 - 리스트 api : 응답값에 status 추가, 활성화 데이터만 조회 - 수정 api : status 수정 기능 추가
This commit is contained in:
		| @@ -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 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user