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.PutMapping
|
||||||
import org.springframework.web.bind.annotation.RequestBody
|
import org.springframework.web.bind.annotation.RequestBody
|
||||||
import org.springframework.web.bind.annotation.RequestMapping
|
import org.springframework.web.bind.annotation.RequestMapping
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam
|
||||||
import org.springframework.web.bind.annotation.RestController
|
import org.springframework.web.bind.annotation.RestController
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
|
@ -29,5 +30,7 @@ class AdminContentCurationController(private val service: AdminContentCurationSe
|
||||||
) = ApiResponse.ok(service.updateContentCurationOrders(request.ids), "수정되었습니다.")
|
) = ApiResponse.ok(service.updateContentCurationOrders(request.ids), "수정되었습니다.")
|
||||||
|
|
||||||
@GetMapping
|
@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 com.querydsl.jpa.impl.JPAQueryFactory
|
||||||
import kr.co.vividnext.sodalive.content.main.curation.AudioContentCuration
|
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.curation.QAudioContentCuration.audioContentCuration
|
||||||
|
import kr.co.vividnext.sodalive.content.main.tab.QAudioContentMainTab.audioContentMainTab
|
||||||
import org.springframework.data.jpa.repository.JpaRepository
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
import org.springframework.stereotype.Repository
|
import org.springframework.stereotype.Repository
|
||||||
|
|
||||||
|
@ -12,7 +13,7 @@ interface AdminContentCurationRepository :
|
||||||
AdminContentCurationQueryRepository
|
AdminContentCurationQueryRepository
|
||||||
|
|
||||||
interface AdminContentCurationQueryRepository {
|
interface AdminContentCurationQueryRepository {
|
||||||
fun getAudioContentCurationList(): List<GetAdminContentCurationResponse>
|
fun getAudioContentCurationList(tabId: Long): List<GetAdminContentCurationResponse>
|
||||||
fun findByIdAndActive(id: Long): AudioContentCuration?
|
fun findByIdAndActive(id: Long): AudioContentCuration?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,18 +21,23 @@ interface AdminContentCurationQueryRepository {
|
||||||
class AdminContentCurationQueryRepositoryImpl(
|
class AdminContentCurationQueryRepositoryImpl(
|
||||||
private val queryFactory: JPAQueryFactory
|
private val queryFactory: JPAQueryFactory
|
||||||
) : AdminContentCurationQueryRepository {
|
) : AdminContentCurationQueryRepository {
|
||||||
override fun getAudioContentCurationList(): List<GetAdminContentCurationResponse> {
|
override fun getAudioContentCurationList(tabId: Long): List<GetAdminContentCurationResponse> {
|
||||||
return queryFactory
|
return queryFactory
|
||||||
.select(
|
.select(
|
||||||
QGetAdminContentCurationResponse(
|
QGetAdminContentCurationResponse(
|
||||||
audioContentCuration.id,
|
audioContentCuration.id,
|
||||||
|
audioContentMainTab.id,
|
||||||
audioContentCuration.title,
|
audioContentCuration.title,
|
||||||
audioContentCuration.description,
|
audioContentCuration.description,
|
||||||
audioContentCuration.isAdult
|
audioContentCuration.isAdult
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.from(audioContentCuration)
|
.from(audioContentCuration)
|
||||||
.where(audioContentCuration.isActive.isTrue)
|
.innerJoin(audioContentCuration.tab, audioContentMainTab)
|
||||||
|
.where(
|
||||||
|
audioContentCuration.isActive.isTrue,
|
||||||
|
audioContentMainTab.id.eq(tabId)
|
||||||
|
)
|
||||||
.orderBy(audioContentCuration.orders.asc())
|
.orderBy(audioContentCuration.orders.asc())
|
||||||
.fetch()
|
.fetch()
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@ class AdminContentCurationService(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getContentCurationList(): List<GetAdminContentCurationResponse> {
|
fun getContentCurationList(tabId: Long): List<GetAdminContentCurationResponse> {
|
||||||
return repository.getAudioContentCurationList()
|
return repository.getAudioContentCurationList(tabId = tabId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.querydsl.core.annotations.QueryProjection
|
||||||
|
|
||||||
data class GetAdminContentCurationResponse @QueryProjection constructor(
|
data class GetAdminContentCurationResponse @QueryProjection constructor(
|
||||||
val id: Long,
|
val id: Long,
|
||||||
|
val tabId: Long,
|
||||||
val title: String,
|
val title: String,
|
||||||
val description: String,
|
val description: String,
|
||||||
val isAdult: Boolean
|
val isAdult: Boolean
|
||||||
|
|
Loading…
Reference in New Issue