diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContent.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContent.kt index 2b6c768..688ac4d 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContent.kt @@ -41,7 +41,8 @@ data class AudioContent( val isGeneratePreview: Boolean = true, var isOnlyRental: Boolean = false, var isAdult: Boolean = false, - var isCommentAvailable: Boolean = true + var isCommentAvailable: Boolean = true, + var isFullDetailVisible: Boolean = true ) : BaseEntity() { var isActive: Boolean = false var content: String? = null diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt index 30d9b39..984427a 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt @@ -178,6 +178,12 @@ class AudioContentService( request.isOnlyRental } + val isFullDetailVisible = if (request.price >= 50) { + request.isFullDetailVisible + } else { + true + } + // DB에 값 추가 val audioContent = AudioContent( title = request.title, @@ -194,7 +200,8 @@ class AudioContentService( purchaseOption = request.purchaseOption, isGeneratePreview = request.isGeneratePreview, isOnlyRental = isOnlyRental, - isCommentAvailable = request.isCommentAvailable + isCommentAvailable = request.isCommentAvailable, + isFullDetailVisible = isFullDetailVisible ) audioContent.theme = theme audioContent.member = member @@ -589,10 +596,26 @@ class AudioContentService( audioContent.purchaseOption } + val contentDetail = if ( + audioContent.price >= 50 && + !isExistsAudioContent && + !audioContent.isFullDetailVisible + ) { + val length = audioContent.detail.length + + if (length < 20) { + "${audioContent.detail.take(length / 2)}..." + } else { + "${audioContent.detail.take(10)}..." + } + } else { + audioContent.detail + } + return GetAudioContentDetailResponse( contentId = audioContent.id!!, title = audioContent.title, - detail = audioContent.detail, + detail = contentDetail, coverImageUrl = "$coverImageHost/${audioContent.coverImage!!}", contentUrl = audioContentUrl, themeStr = audioContent.theme!!.theme, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt index 3c4e6bf..08ae03c 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt @@ -14,6 +14,7 @@ data class CreateAudioContentRequest( val isGeneratePreview: Boolean = false, val isOnlyRental: Boolean = false, val isCommentAvailable: Boolean = false, + val isFullDetailVisible: Boolean = true, val previewStartTime: String? = null, val previewEndTime: String? = null )