Merge pull request '후원 전체보기 - 하단 랭킹에 콘텐츠 후원도 포함' (#23) from test into main

Reviewed-on: #23
This commit is contained in:
klaus 2023-08-29 15:22:09 +00:00
commit 7bdddc7ae8
1 changed files with 8 additions and 12 deletions

View File

@ -90,20 +90,18 @@ class ExplorerQueryRepository(
} }
fun getMemberDonationRankingTotal(creatorId: Long): Int { fun getMemberDonationRankingTotal(creatorId: Long): Int {
val creatorMember = QMember("creator")
val userMember = QMember("user") val userMember = QMember("user")
val donation = useCan.rewardCan.add(useCan.can).sum() val donation = useCan.rewardCan.add(useCan.can).sum()
return queryFactory return queryFactory
.select(userMember.id) .select(userMember.id)
.from(useCan) .from(useCanCalculate)
.join(useCan.room, liveRoom) .innerJoin(useCanCalculate.useCan, useCan)
.join(liveRoom.member, creatorMember) .innerJoin(useCan.member, userMember)
.join(useCan.member, userMember)
.where( .where(
useCan.canUsage.eq(CanUsage.DONATION) useCan.canUsage.eq(CanUsage.DONATION)
.and(useCan.isRefund.isFalse) .and(useCan.isRefund.isFalse)
.and(creatorMember.id.eq(creatorId)) .and(useCanCalculate.recipientCreatorId.eq(creatorId))
) )
.groupBy(useCan.member.id) .groupBy(useCan.member.id)
.orderBy(donation.desc()) .orderBy(donation.desc())
@ -117,22 +115,20 @@ class ExplorerQueryRepository(
offset: Long = 0, offset: Long = 0,
withDonationCan: Boolean withDonationCan: Boolean
): List<MemberDonationRankingResponse> { ): List<MemberDonationRankingResponse> {
val creator = QMember("creator")
val member = QMember("user") val member = QMember("user")
val donation = useCan.rewardCan.add(useCan.can).sum() val donation = useCan.rewardCan.add(useCan.can).sum()
return queryFactory return queryFactory
.select(member, donation) .select(member, donation)
.from(useCan) .from(useCanCalculate)
.join(useCan.room, liveRoom) .innerJoin(useCanCalculate.useCan, useCan)
.join(liveRoom.member, creator) .innerJoin(useCan.member, member)
.join(useCan.member, member)
.offset(offset) .offset(offset)
.limit(limit) .limit(limit)
.where( .where(
useCan.canUsage.eq(CanUsage.DONATION) useCan.canUsage.eq(CanUsage.DONATION)
.and(useCan.isRefund.isFalse) .and(useCan.isRefund.isFalse)
.and(creator.id.eq(creatorId)) .and(useCanCalculate.recipientCreatorId.eq(creatorId))
) )
.groupBy(useCan.member.id) .groupBy(useCan.member.id)
.orderBy(donation.desc(), member.id.desc()) .orderBy(donation.desc(), member.id.desc())