diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/AdminContentRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/AdminContentRepository.kt index 1db3529..5b146ec 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/AdminContentRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/AdminContentRepository.kt @@ -29,7 +29,7 @@ class AdminAudioContentQueryRepositoryImpl( override fun getAudioContentTotalCount(searchWord: String): Int { var where = audioContent.duration.isNotNull .and(audioContent.member.isNotNull) - .and(audioContent.isActive.isTrue) + .and(audioContent.isActive.isTrue.or(audioContent.releaseDate.isNotNull)) if (searchWord.trim().length > 1) { where = where.and( @@ -49,7 +49,7 @@ class AdminAudioContentQueryRepositoryImpl( override fun getAudioContentList(offset: Long, limit: Long, searchWord: String): List { var where = audioContent.duration.isNotNull .and(audioContent.member.isNotNull) - .and(audioContent.isActive.isTrue) + .and(audioContent.isActive.isTrue.or(audioContent.releaseDate.isNotNull)) if (searchWord.trim().length > 1) { where = where.and( @@ -73,7 +73,8 @@ class AdminAudioContentQueryRepositoryImpl( audioContent.isAdult, audioContent.duration, audioContent.content, - formattedDateExpression(audioContent.createdAt) + formattedDateExpression(audioContent.createdAt), + formattedDateExpression(audioContent.releaseDate, "%Y-%m-%d %H:%i") ) ) .from(audioContent) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/AdminContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/AdminContentService.kt index 677e3b9..0808d08 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/AdminContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/AdminContentService.kt @@ -94,6 +94,9 @@ class AdminContentService( } if (request.isActive != null) { + if (!request.isActive) { + audioContent.releaseDate = null + } audioContent.isActive = request.isActive } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/GetAdminContentListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/GetAdminContentListResponse.kt index 81b88b8..f1101cd 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/GetAdminContentListResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/GetAdminContentListResponse.kt @@ -20,7 +20,8 @@ data class GetAdminContentListItem @QueryProjection constructor( val isAdult: Boolean, val remainingTime: String, var contentUrl: String, - val date: String + val date: String, + val releaseDate: String? ) { var tags: String = "" } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentRepository.kt index 6067cc5..3cb2364 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentRepository.kt @@ -35,7 +35,7 @@ class CreatorAdminAudioContentQueryRepositoryImpl( override fun getAudioContentTotalCount(memberId: Long, searchWord: String): Int { var where = audioContent.duration.isNotNull .and(audioContent.member.isNotNull) - .and(audioContent.isActive.isTrue) + .and(audioContent.isActive.isTrue.or(audioContent.releaseDate.isNotNull)) .and(audioContent.member.id.eq(memberId)) if (searchWord.trim().length > 1) { @@ -61,7 +61,7 @@ class CreatorAdminAudioContentQueryRepositoryImpl( ): List { var where = audioContent.duration.isNotNull .and(audioContent.member.isNotNull) - .and(audioContent.isActive.isTrue) + .and(audioContent.isActive.isTrue.or(audioContent.releaseDate.isNotNull)) .and(audioContent.member.id.eq(memberId)) if (searchWord.trim().length > 1) { @@ -85,7 +85,8 @@ class CreatorAdminAudioContentQueryRepositoryImpl( audioContent.isCommentAvailable, audioContent.duration, audioContent.content, - formattedDateExpression(audioContent.createdAt) + formattedDateExpression(audioContent.createdAt), + formattedDateExpression(audioContent.releaseDate, "%Y-%m-%d %H:%i") ) ) .from(audioContent) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentService.kt index 9646bdb..9d1438d 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentService.kt @@ -118,6 +118,9 @@ class CreatorAdminContentService( } if (request.isActive != null) { + if (!request.isActive) { + audioContent.releaseDate = null + } audioContent.isActive = request.isActive } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/GetCreatorAdminContentListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/GetCreatorAdminContentListResponse.kt index 7284b11..5467fd3 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/GetCreatorAdminContentListResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/GetCreatorAdminContentListResponse.kt @@ -19,7 +19,8 @@ data class GetCreatorAdminContentListItem @QueryProjection constructor( val isCommentAvailable: Boolean, val remainingTime: String, var contentUrl: String, - val date: String + val date: String, + val releaseDate: String? ) { var tags: String = "" }