test #255

Merged
klaus merged 14 commits from test into main 2025-01-31 15:22:23 +00:00
4 changed files with 16 additions and 6 deletions
Showing only changes of commit faf827de71 - Show all commits

View File

@ -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))
} }

View File

@ -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()
} }

View File

@ -73,7 +73,7 @@ class AdminContentCurationService(
} }
} }
fun getContentCurationList(): List<GetAdminContentCurationResponse> { fun getContentCurationList(tabId: Long): List<GetAdminContentCurationResponse> {
return repository.getAudioContentCurationList() return repository.getAudioContentCurationList(tabId = tabId)
} }
} }

View File

@ -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