Compare commits

..

No commits in common. "7bdddc7ae83c9e1887042de3f90d11518c9b5e28" and "aa8926a624eb3e3200a15c5eab43546eaff0f368" have entirely different histories.

1 changed files with 12 additions and 8 deletions

View File

@ -90,18 +90,20 @@ 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(useCanCalculate) .from(useCan)
.innerJoin(useCanCalculate.useCan, useCan) .join(useCan.room, liveRoom)
.innerJoin(useCan.member, userMember) .join(liveRoom.member, creatorMember)
.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(useCanCalculate.recipientCreatorId.eq(creatorId)) .and(creatorMember.id.eq(creatorId))
) )
.groupBy(useCan.member.id) .groupBy(useCan.member.id)
.orderBy(donation.desc()) .orderBy(donation.desc())
@ -115,20 +117,22 @@ 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(useCanCalculate) .from(useCan)
.innerJoin(useCanCalculate.useCan, useCan) .join(useCan.room, liveRoom)
.innerJoin(useCan.member, member) .join(liveRoom.member, creator)
.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(useCanCalculate.recipientCreatorId.eq(creatorId)) .and(creator.id.eq(creatorId))
) )
.groupBy(useCan.member.id) .groupBy(useCan.member.id)
.orderBy(donation.desc(), member.id.desc()) .orderBy(donation.desc(), member.id.desc())