parent
c50f24b755
commit
22f274fd32
|
@ -105,6 +105,7 @@ class AudioContentController(private val service: AudioContentService) {
|
|||
fun getAudioContentList(
|
||||
@RequestParam("creator-id") creatorId: Long,
|
||||
@RequestParam("sort-type", required = false) sortType: SortType = SortType.NEWEST,
|
||||
@RequestParam("category-id", required = false) categoryId: Long = 0,
|
||||
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
|
||||
pageable: Pageable
|
||||
) = run {
|
||||
|
@ -114,6 +115,7 @@ class AudioContentController(private val service: AudioContentService) {
|
|||
service.getAudioContentList(
|
||||
creatorId = creatorId,
|
||||
sortType = sortType,
|
||||
categoryId = categoryId,
|
||||
member = member,
|
||||
offset = pageable.offset,
|
||||
limit = pageable.pageSize.toLong()
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.querydsl.core.types.dsl.Expressions
|
|||
import com.querydsl.jpa.impl.JPAQueryFactory
|
||||
import kr.co.vividnext.sodalive.content.QAudioContent.audioContent
|
||||
import kr.co.vividnext.sodalive.content.QBundleAudioContent.bundleAudioContent
|
||||
import kr.co.vividnext.sodalive.content.category.QCategoryContent.categoryContent
|
||||
import kr.co.vividnext.sodalive.content.comment.QAudioContentComment.audioContentComment
|
||||
import kr.co.vividnext.sodalive.content.like.QAudioContentLike.audioContentLike
|
||||
import kr.co.vividnext.sodalive.content.main.GetAudioContentMainItem
|
||||
|
@ -37,6 +38,7 @@ interface AudioContentQueryRepository {
|
|||
coverImageHost: String,
|
||||
isAdult: Boolean = false,
|
||||
sortType: SortType = SortType.NEWEST,
|
||||
categoryId: Long = 0,
|
||||
offset: Long = 0,
|
||||
limit: Long = 10
|
||||
): List<GetAudioContentListItem>
|
||||
|
@ -144,6 +146,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
|||
coverImageHost: String,
|
||||
isAdult: Boolean,
|
||||
sortType: SortType,
|
||||
categoryId: Long,
|
||||
offset: Long,
|
||||
limit: Long
|
||||
): List<GetAudioContentListItem> {
|
||||
|
@ -163,6 +166,10 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
|||
where = where.and(audioContent.isAdult.isFalse)
|
||||
}
|
||||
|
||||
if (categoryId > 0) {
|
||||
where = where.and(categoryContent.category.id.eq(categoryId))
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
.select(
|
||||
QGetAudioContentListItem(
|
||||
|
@ -180,6 +187,8 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
|
|||
)
|
||||
)
|
||||
.from(audioContent)
|
||||
.leftJoin(categoryContent)
|
||||
.on(audioContent.id.eq(categoryContent.content.id).and(categoryContent.isActive.ne(false)))
|
||||
.leftJoin(pinContent)
|
||||
.on(audioContent.id.eq(pinContent.content.id).and(pinContent.isActive.ne(false)))
|
||||
.where(where)
|
||||
|
|
|
@ -624,6 +624,7 @@ class AudioContentService(
|
|||
creatorId: Long,
|
||||
sortType: SortType,
|
||||
member: Member,
|
||||
categoryId: Long = 0,
|
||||
offset: Long,
|
||||
limit: Long
|
||||
): GetAudioContentListResponse {
|
||||
|
@ -637,6 +638,7 @@ class AudioContentService(
|
|||
coverImageHost = coverImageHost,
|
||||
isAdult = member.auth != null,
|
||||
sortType = sortType,
|
||||
categoryId = categoryId,
|
||||
offset = offset,
|
||||
limit = limit
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue