parent
3388bb4283
commit
433a9a29c5
|
@ -58,7 +58,7 @@ class AudioContentMainTabSeriesService(
|
|||
)
|
||||
|
||||
// 시리즈 장르
|
||||
val genreList = seriesService.getGenreList(isAdult = isAdult)
|
||||
val genreList = seriesService.getGenreList(memberId = memberId, isAdult = isAdult)
|
||||
|
||||
// 장르별 추천 시리즈
|
||||
val recommendSeriesList = if (genreList.isNotEmpty()) {
|
||||
|
|
|
@ -37,7 +37,7 @@ interface ContentSeriesQueryRepository {
|
|||
fun getRecommendSeriesList(isAuth: Boolean, contentType: ContentType, limit: Long): List<Series>
|
||||
fun getOriginalAudioDramaList(memberId: Long, isAdult: Boolean, offset: Long = 0, limit: Long = 20): List<Series>
|
||||
fun getOriginalAudioDramaTotalCount(memberId: Long, isAdult: Boolean): Int
|
||||
fun getGenreList(isAdult: Boolean): List<GetSeriesGenreListResponse>
|
||||
fun getGenreList(isAdult: Boolean, memberId: Long): List<GetSeriesGenreListResponse>
|
||||
fun findByCurationId(curationId: Long, memberId: Long, isAdult: Boolean): List<Series>
|
||||
}
|
||||
|
||||
|
@ -191,17 +191,36 @@ class ContentSeriesQueryRepositoryImpl(
|
|||
.size
|
||||
}
|
||||
|
||||
override fun getGenreList(isAdult: Boolean): List<GetSeriesGenreListResponse> {
|
||||
override fun getGenreList(isAdult: Boolean, memberId: Long): List<GetSeriesGenreListResponse> {
|
||||
val blockMemberCondition = blockMember.member.id.eq(member.id)
|
||||
.and(blockMember.isActive.isTrue)
|
||||
.and(blockMember.blockedMember.id.eq(memberId))
|
||||
|
||||
var where = seriesGenre.isActive.isTrue
|
||||
.and(series.isActive.isTrue)
|
||||
.and(audioContent.isActive.isTrue)
|
||||
.and(member.isActive.isTrue)
|
||||
.and(member.isNotNull)
|
||||
.and(member.role.eq(MemberRole.CREATOR))
|
||||
.and(audioContent.duration.isNotNull)
|
||||
.and(audioContent.limited.isNull)
|
||||
.and(blockMember.id.isNull)
|
||||
|
||||
if (!isAdult) {
|
||||
where = where.and(seriesGenre.isAdult.isFalse)
|
||||
.and(series.isAdult.isFalse)
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
.select(QGetSeriesGenreListResponse(seriesGenre.id, seriesGenre.genre))
|
||||
.from(seriesGenre)
|
||||
.from(seriesContent)
|
||||
.innerJoin(seriesContent.series, series)
|
||||
.innerJoin(series.genre, seriesGenre)
|
||||
.innerJoin(seriesContent.content, audioContent)
|
||||
.innerJoin(series.member, member)
|
||||
.leftJoin(blockMember).on(blockMemberCondition)
|
||||
.where(where)
|
||||
.groupBy(seriesGenre.id)
|
||||
.orderBy(seriesGenre.orders.asc())
|
||||
.fetch()
|
||||
}
|
||||
|
|
|
@ -44,8 +44,8 @@ class ContentSeriesService(
|
|||
return seriesToSeriesListItem(originalAudioDramaList, isAdult)
|
||||
}
|
||||
|
||||
fun getGenreList(isAdult: Boolean): List<GetSeriesGenreListResponse> {
|
||||
return repository.getGenreList(isAdult = isAdult)
|
||||
fun getGenreList(memberId: Long, isAdult: Boolean): List<GetSeriesGenreListResponse> {
|
||||
return repository.getGenreList(memberId = memberId, isAdult = isAdult)
|
||||
}
|
||||
|
||||
fun getSeriesList(
|
||||
|
|
Loading…
Reference in New Issue