From 8cfe9ade9a5ebcefab34a932f7f61b944e7115a4 Mon Sep 17 00:00:00 2001 From: Klaus Date: Sat, 28 Dec 2024 03:29:11 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=A4=EB=94=94=EC=85=98=20=EB=B0=B0?= =?UTF-8?q?=EC=97=AD=20=EB=93=B1=EB=A1=9D/=EC=88=98=EC=A0=95=20-=20?= =?UTF-8?q?=EC=98=A4=EB=94=94=EC=85=98=20=EB=B0=B0=EC=97=AD=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/audition/role/AdminAuditionRoleRepository.kt | 1 + .../admin/audition/role/AdminAuditionRoleService.kt | 10 +++++++++- .../admin/audition/role/CreateAuditionRoleRequest.kt | 5 +++++ .../audition/role/GetAuditionRoleDetailResponse.kt | 1 + .../admin/audition/role/UpdateAuditionRoleRequest.kt | 1 + .../kr/co/vividnext/sodalive/audition/AuditionRole.kt | 3 +++ 6 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/AdminAuditionRoleRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/AdminAuditionRoleRepository.kt index 92c3844..7b6fb50 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/AdminAuditionRoleRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/AdminAuditionRoleRepository.kt @@ -53,6 +53,7 @@ class AdminAuditionRoleQueryRepositoryImpl( QGetAuditionRoleDetailResponse( auditionRole.name, auditionRole.imagePath.prepend("/").prepend(cloudfrontHost), + auditionRole.information, auditionRole.auditionScriptUrl ) ) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/AdminAuditionRoleService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/AdminAuditionRoleService.kt index 6c6ecc6..37870ae 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/AdminAuditionRoleService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/AdminAuditionRoleService.kt @@ -25,7 +25,11 @@ class AdminAuditionRoleService( @Transactional fun createAuditionRole(image: MultipartFile, requestString: String) { val request = objectMapper.readValue(requestString, CreateAuditionRoleRequest::class.java) - val auditionRole = AuditionRole(name = request.name, auditionScriptUrl = request.auditionScriptUrl) + val auditionRole = AuditionRole( + name = request.name, + information = request.information, + auditionScriptUrl = request.auditionScriptUrl + ) val audition = auditionRepository.findByIdOrNull(id = request.auditionId) ?: throw SodaException("잘못된 요청입니다.\n다시 시도해 주세요.") auditionRole.audition = audition @@ -50,6 +54,10 @@ class AdminAuditionRoleService( auditionRole.name = request.name } + if (!request.information.isNullOrBlank() && request.information.length >= 10) { + auditionRole.information = request.information + } + if (!request.auditionScriptUrl.isNullOrBlank()) { auditionRole.auditionScriptUrl = request.auditionScriptUrl } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/CreateAuditionRoleRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/CreateAuditionRoleRequest.kt index 71f13d7..1332e8f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/CreateAuditionRoleRequest.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/CreateAuditionRoleRequest.kt @@ -5,6 +5,7 @@ import kr.co.vividnext.sodalive.common.SodaException data class CreateAuditionRoleRequest( val auditionId: Long, val name: String, + val information: String, val auditionScriptUrl: String ) { init { @@ -19,5 +20,9 @@ data class CreateAuditionRoleRequest( if (auditionScriptUrl.isBlank() || auditionScriptUrl.length < 10) { throw SodaException("오디션 대본 URL을 입력하세요") } + + if (information.isBlank() || information.length < 10) { + throw SodaException("오디션 캐릭터 정보는 최소 10글자 입니다") + } } } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/GetAuditionRoleDetailResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/GetAuditionRoleDetailResponse.kt index 41e014c..2c3232c 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/GetAuditionRoleDetailResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/GetAuditionRoleDetailResponse.kt @@ -5,5 +5,6 @@ import com.querydsl.core.annotations.QueryProjection data class GetAuditionRoleDetailResponse @QueryProjection constructor( val name: String, val imageUrl: String, + val information: String, val auditionScriptUrl: String ) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/UpdateAuditionRoleRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/UpdateAuditionRoleRequest.kt index 51ac6e2..6454bf0 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/UpdateAuditionRoleRequest.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/audition/role/UpdateAuditionRoleRequest.kt @@ -6,6 +6,7 @@ import kr.co.vividnext.sodalive.common.SodaException data class UpdateAuditionRoleRequest( val id: Long, val name: String? = null, + val information: String? = null, val auditionScriptUrl: String? = null, val status: AuditionStatus? = null, val isActive: Boolean? = null diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionRole.kt b/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionRole.kt index 40e8089..b482787 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionRole.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/audition/AuditionRole.kt @@ -1,6 +1,7 @@ package kr.co.vividnext.sodalive.audition import kr.co.vividnext.sodalive.common.BaseEntity +import javax.persistence.Column import javax.persistence.Entity import javax.persistence.EnumType import javax.persistence.Enumerated @@ -11,6 +12,8 @@ import javax.persistence.ManyToOne @Entity data class AuditionRole( var name: String, + @Column(columnDefinition = "TEXT") + var information: String, // 오디션 대본 URL var auditionScriptUrl: String? = null, @Enumerated(value = EnumType.STRING)