diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt index f921b16..5783c1f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt @@ -90,20 +90,18 @@ class ExplorerQueryRepository( } fun getMemberDonationRankingTotal(creatorId: Long): Int { - val creatorMember = QMember("creator") val userMember = QMember("user") val donation = useCan.rewardCan.add(useCan.can).sum() return queryFactory .select(userMember.id) - .from(useCan) - .join(useCan.room, liveRoom) - .join(liveRoom.member, creatorMember) - .join(useCan.member, userMember) + .from(useCanCalculate) + .innerJoin(useCanCalculate.useCan, useCan) + .innerJoin(useCan.member, userMember) .where( useCan.canUsage.eq(CanUsage.DONATION) .and(useCan.isRefund.isFalse) - .and(creatorMember.id.eq(creatorId)) + .and(useCanCalculate.recipientCreatorId.eq(creatorId)) ) .groupBy(useCan.member.id) .orderBy(donation.desc()) @@ -117,22 +115,20 @@ class ExplorerQueryRepository( offset: Long = 0, withDonationCan: Boolean ): List<MemberDonationRankingResponse> { - val creator = QMember("creator") val member = QMember("user") val donation = useCan.rewardCan.add(useCan.can).sum() return queryFactory .select(member, donation) - .from(useCan) - .join(useCan.room, liveRoom) - .join(liveRoom.member, creator) - .join(useCan.member, member) + .from(useCanCalculate) + .innerJoin(useCanCalculate.useCan, useCan) + .innerJoin(useCan.member, member) .offset(offset) .limit(limit) .where( useCan.canUsage.eq(CanUsage.DONATION) .and(useCan.isRefund.isFalse) - .and(creator.id.eq(creatorId)) + .and(useCanCalculate.recipientCreatorId.eq(creatorId)) ) .groupBy(useCan.member.id) .orderBy(donation.desc(), member.id.desc())