From faf827de7101cdc15b6181ac6446aa3b9a812010 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 23 Jan 2025 22:18:00 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=ED=81=90?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20=EC=A1=B0=ED=9A=8C=20-=20tabId?= =?UTF-8?q?=EB=A5=BC=20=EC=B6=94=EA=B0=80=ED=95=B4=EC=84=9C=20=ED=83=AD?= =?UTF-8?q?=EB=B3=84=EB=A1=9C=20=EC=A1=B0=ED=9A=8C=ED=95=A0=20=EC=88=98=20?= =?UTF-8?q?=EC=9E=88=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../curation/AdminContentCurationController.kt | 5 ++++- .../curation/AdminContentCurationRepository.kt | 12 +++++++++--- .../content/curation/AdminContentCurationService.kt | 4 ++-- .../curation/GetAdminContentCurationResponse.kt | 1 + 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationController.kt index 849697a..639aa3d 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationController.kt @@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.PutMapping import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController @RestController @@ -29,5 +30,7 @@ class AdminContentCurationController(private val service: AdminContentCurationSe ) = ApiResponse.ok(service.updateContentCurationOrders(request.ids), "수정되었습니다.") @GetMapping - fun getContentCurationList() = ApiResponse.ok(service.getContentCurationList()) + fun getContentCurationList( + @RequestParam tabId: Long + ) = ApiResponse.ok(service.getContentCurationList(tabId = tabId)) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationRepository.kt index a24fa77..50cb950 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationRepository.kt @@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.admin.content.curation import com.querydsl.jpa.impl.JPAQueryFactory import kr.co.vividnext.sodalive.content.main.curation.AudioContentCuration import kr.co.vividnext.sodalive.content.main.curation.QAudioContentCuration.audioContentCuration +import kr.co.vividnext.sodalive.content.main.tab.QAudioContentMainTab.audioContentMainTab import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository @@ -12,7 +13,7 @@ interface AdminContentCurationRepository : AdminContentCurationQueryRepository interface AdminContentCurationQueryRepository { - fun getAudioContentCurationList(): List + fun getAudioContentCurationList(tabId: Long): List fun findByIdAndActive(id: Long): AudioContentCuration? } @@ -20,18 +21,23 @@ interface AdminContentCurationQueryRepository { class AdminContentCurationQueryRepositoryImpl( private val queryFactory: JPAQueryFactory ) : AdminContentCurationQueryRepository { - override fun getAudioContentCurationList(): List { + override fun getAudioContentCurationList(tabId: Long): List { return queryFactory .select( QGetAdminContentCurationResponse( audioContentCuration.id, + audioContentMainTab.id, audioContentCuration.title, audioContentCuration.description, audioContentCuration.isAdult ) ) .from(audioContentCuration) - .where(audioContentCuration.isActive.isTrue) + .innerJoin(audioContentCuration.tab, audioContentMainTab) + .where( + audioContentCuration.isActive.isTrue, + audioContentMainTab.id.eq(tabId) + ) .orderBy(audioContentCuration.orders.asc()) .fetch() } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationService.kt index 67e7502..e914f08 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/AdminContentCurationService.kt @@ -73,7 +73,7 @@ class AdminContentCurationService( } } - fun getContentCurationList(): List { - return repository.getAudioContentCurationList() + fun getContentCurationList(tabId: Long): List { + return repository.getAudioContentCurationList(tabId = tabId) } } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/GetAdminContentCurationResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/GetAdminContentCurationResponse.kt index 2938cfd..11a5559 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/GetAdminContentCurationResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/GetAdminContentCurationResponse.kt @@ -4,6 +4,7 @@ import com.querydsl.core.annotations.QueryProjection data class GetAdminContentCurationResponse @QueryProjection constructor( val id: Long, + val tabId: Long, val title: String, val description: String, val isAdult: Boolean