parent
d95f95899c
commit
faf827de71
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue