관리자 큐레이션 조회
- tabId를 추가해서 탭별로 조회할 수 있도록 수정
This commit is contained in:
		| @@ -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)) | ||||
| } | ||||
|   | ||||
| @@ -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<GetAdminContentCurationResponse> | ||||
|     fun getAudioContentCurationList(tabId: Long): List<GetAdminContentCurationResponse> | ||||
|     fun findByIdAndActive(id: Long): AudioContentCuration? | ||||
| } | ||||
|  | ||||
| @@ -20,18 +21,23 @@ interface AdminContentCurationQueryRepository { | ||||
| class AdminContentCurationQueryRepositoryImpl( | ||||
|     private val queryFactory: JPAQueryFactory | ||||
| ) : AdminContentCurationQueryRepository { | ||||
|     override fun getAudioContentCurationList(): List<GetAdminContentCurationResponse> { | ||||
|     override fun getAudioContentCurationList(tabId: Long): List<GetAdminContentCurationResponse> { | ||||
|         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() | ||||
|     } | ||||
|   | ||||
| @@ -73,7 +73,7 @@ class AdminContentCurationService( | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     fun getContentCurationList(): List<GetAdminContentCurationResponse> { | ||||
|         return repository.getAudioContentCurationList() | ||||
|     fun getContentCurationList(tabId: Long): List<GetAdminContentCurationResponse> { | ||||
|         return repository.getAudioContentCurationList(tabId = tabId) | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user