Merge pull request '라이브 방 후원랭킹' (#230) from test into main
Reviewed-on: #230
This commit is contained in:
		| @@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.live.room | ||||
| import com.querydsl.core.types.Projections | ||||
| import com.querydsl.core.types.dsl.CaseBuilder | ||||
| import com.querydsl.core.types.dsl.Expressions | ||||
| import com.querydsl.core.types.dsl.NumberExpression | ||||
| import com.querydsl.jpa.impl.JPAQueryFactory | ||||
| import kr.co.vividnext.sodalive.can.use.CanUsage | ||||
| import kr.co.vividnext.sodalive.can.use.QUseCan.useCan | ||||
| @@ -248,6 +249,15 @@ class LiveRoomQueryRepositoryImpl( | ||||
|             .and(useCan.canUsage.eq(CanUsage.DONATION).or(useCan.canUsage.eq(CanUsage.SPIN_ROULETTE))) | ||||
|             .and(useCan.isRefund.isFalse) | ||||
|  | ||||
|         val sortExpression: NumberExpression<Int> = if (isLiveCreator) { | ||||
|             useCan.can.sum().add(useCan.rewardCan.sum()) | ||||
|         } else { | ||||
|             CaseBuilder() | ||||
|                 .`when`(useCan.isSecret.isFalse) | ||||
|                 .then(useCan.can.sum().add(useCan.rewardCan.sum())) | ||||
|                 .otherwise(0) | ||||
|         } | ||||
|  | ||||
|         return queryFactory | ||||
|             .select( | ||||
|                 QGetLiveRoomDonationItem( | ||||
| @@ -283,7 +293,7 @@ class LiveRoomQueryRepositoryImpl( | ||||
|             .join(useCan.member, member) | ||||
|             .groupBy(useCan.member.id) | ||||
|             .where(where) | ||||
|             .orderBy(useCan.can.sum().add(useCan.rewardCan.sum()).desc()) | ||||
|             .orderBy(sortExpression.desc()) | ||||
|             .fetch() | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user