From 0f1ed03caf69336c91e9ccd2a8fd549a95fbc8f0 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 9 Feb 2024 01:44:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=BD=98?= =?UTF-8?q?=ED=85=90=EC=B8=A0=20=EC=88=98=EC=A0=95=20-=20=ED=85=8C?= =?UTF-8?q?=EB=A7=88=20=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/admin/content/AdminContentService.kt | 7 +++++++ .../admin/content/UpdateAdminContentRequest.kt | 1 + .../content/theme/AdminContentThemeRepository.kt | 11 +++++++++++ 3 files changed, 19 insertions(+) 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 0808d08..a421759 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 @@ -1,6 +1,7 @@ package kr.co.vividnext.sodalive.admin.content import kr.co.vividnext.sodalive.admin.content.curation.AdminContentCurationRepository +import kr.co.vividnext.sodalive.admin.content.theme.AdminContentThemeRepository import kr.co.vividnext.sodalive.aws.cloudfront.AudioContentCloudFront import kr.co.vividnext.sodalive.common.SodaException import org.springframework.beans.factory.annotation.Value @@ -12,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional @Service class AdminContentService( private val repository: AdminContentRepository, + private val themeRepository: AdminContentThemeRepository, private val audioContentCloudFront: AudioContentCloudFront, private val curationRepository: AdminContentCurationRepository, @@ -120,5 +122,10 @@ class AdminContentService( val curation = curationRepository.findByIdAndActive(id = request.curationId) audioContent.curation = curation } + + if (request.themeId != null) { + val theme = themeRepository.findByIdAndActive(id = request.themeId) + audioContent.theme = theme + } } } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/UpdateAdminContentRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/UpdateAdminContentRequest.kt index 376485b..9b0a6e7 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/UpdateAdminContentRequest.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/UpdateAdminContentRequest.kt @@ -6,6 +6,7 @@ data class UpdateAdminContentRequest( val title: String?, val detail: String?, val curationId: Long?, + val themeId: Long?, val isAdult: Boolean?, val isActive: Boolean?, val isCommentAvailable: Boolean? diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/theme/AdminContentThemeRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/theme/AdminContentThemeRepository.kt index 77f2af2..465fe7f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/theme/AdminContentThemeRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/theme/AdminContentThemeRepository.kt @@ -14,6 +14,7 @@ interface AdminContentThemeRepository : JpaRepository, interface AdminContentThemeQueryRepository { fun findIdByTheme(theme: String): Long? + fun findByIdAndActive(id: Long): AudioContentTheme? fun getActiveThemes(): List } @@ -31,6 +32,16 @@ class AdminContentThemeQueryRepositoryImpl( .fetchOne() } + override fun findByIdAndActive(id: Long): AudioContentTheme? { + return queryFactory + .selectFrom(audioContentTheme) + .where( + audioContentTheme.id.eq(id) + .and(audioContentTheme.isActive.isTrue) + ) + .fetchOne() + } + override fun getActiveThemes(): List { return queryFactory .select( -- 2.40.1 From dcd26308d35fe91c2334faed6252df4b9d9c6cc5 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 9 Feb 2024 03:06:50 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=BD=98?= =?UTF-8?q?=ED=85=90=EC=B8=A0=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20-=20?= =?UTF-8?q?=EC=9D=91=EB=8B=B5=EA=B0=92=EC=97=90=20=ED=85=8C=EB=A7=88=20id?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vividnext/sodalive/admin/content/AdminContentRepository.kt | 1 + .../sodalive/admin/content/GetAdminContentListResponse.kt | 1 + 2 files changed, 2 insertions(+) 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 7bd4e5b..1a0288e 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 @@ -69,6 +69,7 @@ class AdminAudioContentQueryRepositoryImpl( audioContent.coverImage, audioContent.member!!.nickname, audioContentTheme.theme, + audioContentTheme.id, audioContent.price, audioContent.isAdult, audioContent.duration, 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 c1ed613..40f974a 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 @@ -16,6 +16,7 @@ data class GetAdminContentListItem @QueryProjection constructor( var coverImageUrl: String, val creatorNickname: String, val theme: String, + val themeId: Long, val price: Int, val isAdult: Boolean, val remainingTime: String, -- 2.40.1