콘텐츠 메인 시리즈 탭
- 완결 시리즈 전체보기 API
This commit is contained in:
@@ -209,6 +209,48 @@ class RankingRepository(
|
||||
.fetch()
|
||||
}
|
||||
|
||||
fun getCompleteSeriesRankingTotalCount(
|
||||
memberId: Long,
|
||||
isAdult: Boolean,
|
||||
startDate: LocalDateTime,
|
||||
endDate: LocalDateTime
|
||||
): Int {
|
||||
val blockMemberCondition = blockMember.member.id.eq(member.id)
|
||||
.and(blockMember.isActive.isTrue)
|
||||
.and(blockMember.blockedMember.id.eq(memberId))
|
||||
|
||||
var where = series.isActive.isTrue
|
||||
.and(series.state.eq(SeriesState.COMPLETE))
|
||||
.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)
|
||||
.and(order.isActive.isTrue)
|
||||
.and(order.createdAt.goe(startDate))
|
||||
.and(order.createdAt.lt(endDate))
|
||||
|
||||
if (!isAdult) {
|
||||
where = where.and(series.isAdult.isFalse)
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
.select(series.id)
|
||||
.from(seriesContent)
|
||||
.innerJoin(seriesContent.series, series)
|
||||
.innerJoin(seriesContent.content, audioContent)
|
||||
.innerJoin(series.member, member)
|
||||
.leftJoin(order).on(audioContent.id.eq(order.audioContent.id))
|
||||
.leftJoin(blockMember).on(blockMemberCondition)
|
||||
.where(where)
|
||||
.groupBy(series.id)
|
||||
.orderBy(order.can.sum().desc())
|
||||
.fetch()
|
||||
.size
|
||||
}
|
||||
|
||||
fun getCompleteSeriesRanking(
|
||||
memberId: Long,
|
||||
isAdult: Boolean,
|
||||
@@ -248,10 +290,7 @@ class RankingRepository(
|
||||
.leftJoin(blockMember).on(blockMemberCondition)
|
||||
.where(where)
|
||||
.groupBy(series.id)
|
||||
.orderBy(
|
||||
order.can.sum().desc(),
|
||||
Expressions.numberTemplate(Double::class.java, "function('rand')").asc()
|
||||
)
|
||||
.orderBy(order.can.sum().desc())
|
||||
.offset(offset)
|
||||
.limit(limit)
|
||||
.fetch()
|
||||
|
@@ -82,6 +82,20 @@ class RankingService(
|
||||
return seriesToSeriesListItem(seriesList = seriesList, isAdult = isAdult)
|
||||
}
|
||||
|
||||
fun getCompleteSeriesRankingTotalCount(
|
||||
memberId: Long,
|
||||
isAdult: Boolean,
|
||||
startDate: LocalDateTime,
|
||||
endDate: LocalDateTime
|
||||
): Int {
|
||||
return repository.getCompleteSeriesRankingTotalCount(
|
||||
memberId = memberId,
|
||||
isAdult = isAdult,
|
||||
startDate = startDate,
|
||||
endDate = endDate
|
||||
)
|
||||
}
|
||||
|
||||
fun getCompleteSeriesRanking(
|
||||
memberId: Long,
|
||||
isAdult: Boolean,
|
||||
|
Reference in New Issue
Block a user