콘텐츠 랭킹 - 후원 랭킹 조회 로직 수정 #65
| @@ -2,7 +2,6 @@ package kr.co.vividnext.sodalive.content | |||||||
|  |  | ||||||
| import com.querydsl.core.types.dsl.Expressions | import com.querydsl.core.types.dsl.Expressions | ||||||
| import com.querydsl.jpa.impl.JPAQueryFactory | import com.querydsl.jpa.impl.JPAQueryFactory | ||||||
| import kr.co.vividnext.sodalive.can.use.QUseCan.useCan |  | ||||||
| import kr.co.vividnext.sodalive.content.QAudioContent.audioContent | import kr.co.vividnext.sodalive.content.QAudioContent.audioContent | ||||||
| import kr.co.vividnext.sodalive.content.QBundleAudioContent.bundleAudioContent | import kr.co.vividnext.sodalive.content.QBundleAudioContent.bundleAudioContent | ||||||
| import kr.co.vividnext.sodalive.content.comment.QAudioContentComment.audioContentComment | import kr.co.vividnext.sodalive.content.comment.QAudioContentComment.audioContentComment | ||||||
| @@ -19,6 +18,7 @@ import kr.co.vividnext.sodalive.content.main.curation.QAudioContentCuration.audi | |||||||
| import kr.co.vividnext.sodalive.content.order.QOrder.order | import kr.co.vividnext.sodalive.content.order.QOrder.order | ||||||
| import kr.co.vividnext.sodalive.content.theme.QAudioContentTheme.audioContentTheme | import kr.co.vividnext.sodalive.content.theme.QAudioContentTheme.audioContentTheme | ||||||
| import kr.co.vividnext.sodalive.event.QEvent.event | import kr.co.vividnext.sodalive.event.QEvent.event | ||||||
|  | import kr.co.vividnext.sodalive.member.MemberRole | ||||||
| import kr.co.vividnext.sodalive.member.QMember.member | import kr.co.vividnext.sodalive.member.QMember.member | ||||||
| import org.springframework.data.jpa.repository.JpaRepository | import org.springframework.data.jpa.repository.JpaRepository | ||||||
| import org.springframework.stereotype.Repository | import org.springframework.stereotype.Repository | ||||||
| @@ -451,10 +451,10 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) | |||||||
|         sortType: String |         sortType: String | ||||||
|     ): List<GetAudioContentRankingItem> { |     ): List<GetAudioContentRankingItem> { | ||||||
|         var where = audioContent.isActive.isTrue |         var where = audioContent.isActive.isTrue | ||||||
|             .and(audioContent.member.id.ne(648)) |  | ||||||
|             .and(audioContent.member.isNotNull) |  | ||||||
|             .and(audioContent.duration.isNotNull) |  | ||||||
|             .and(audioContent.member.isActive.isTrue) |             .and(audioContent.member.isActive.isTrue) | ||||||
|  |             .and(audioContent.member.isNotNull) | ||||||
|  |             .and(audioContent.member.role.eq(MemberRole.CREATOR)) | ||||||
|  |             .and(audioContent.duration.isNotNull) | ||||||
|             .and(audioContentTheme.isActive.isTrue) |             .and(audioContentTheme.isActive.isTrue) | ||||||
|  |  | ||||||
|         if (!isAdult) { |         if (!isAdult) { | ||||||
| @@ -478,17 +478,19 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) | |||||||
|         select = when (sortType) { |         select = when (sortType) { | ||||||
|             "후원" -> { |             "후원" -> { | ||||||
|                 select |                 select | ||||||
|                     .from(useCan) |                     .from(audioContentComment) | ||||||
|                     .innerJoin(useCan.audioContent, audioContent) |                     .innerJoin(audioContentComment.audioContent, audioContent) | ||||||
|                     .innerJoin(audioContent.member, member) |                     .innerJoin(audioContentComment.audioContent.member, member) | ||||||
|                     .innerJoin(audioContent.theme, audioContentTheme) |                     .innerJoin(audioContentComment.audioContent.theme, audioContentTheme) | ||||||
|                     .where( |                     .where( | ||||||
|                         where |                         where | ||||||
|                             .and(useCan.createdAt.goe(startDate)) |                             .and(audioContentComment.isActive.isTrue) | ||||||
|                             .and(useCan.createdAt.lt(endDate)) |                             .and(audioContentComment.donationCan.gt(0)) | ||||||
|  |                             .and(audioContentComment.createdAt.goe(startDate)) | ||||||
|  |                             .and(audioContentComment.createdAt.lt(endDate)) | ||||||
|                     ) |                     ) | ||||||
|                     .groupBy(audioContent.id) |                     .groupBy(audioContent.id) | ||||||
|                     .orderBy(useCan.can.add(useCan.rewardCan).sum().desc(), audioContent.createdAt.asc()) |                     .orderBy(audioContentComment.donationCan.sum().desc(), audioContent.createdAt.asc()) | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             "댓글" -> { |             "댓글" -> { | ||||||
| @@ -499,6 +501,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) | |||||||
|                     .innerJoin(audioContentComment.audioContent.theme, audioContentTheme) |                     .innerJoin(audioContentComment.audioContent.theme, audioContentTheme) | ||||||
|                     .where( |                     .where( | ||||||
|                         where |                         where | ||||||
|  |                             .and(audioContentComment.isActive.isTrue) | ||||||
|                             .and(audioContentComment.createdAt.goe(startDate)) |                             .and(audioContentComment.createdAt.goe(startDate)) | ||||||
|                             .and(audioContentComment.createdAt.lt(endDate)) |                             .and(audioContentComment.createdAt.lt(endDate)) | ||||||
|                     ) |                     ) | ||||||
| @@ -514,6 +517,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) | |||||||
|                     .innerJoin(audioContentLike.audioContent.theme, audioContentTheme) |                     .innerJoin(audioContentLike.audioContent.theme, audioContentTheme) | ||||||
|                     .where( |                     .where( | ||||||
|                         where |                         where | ||||||
|  |                             .and(audioContentLike.isActive.isTrue) | ||||||
|                             .and(audioContentLike.createdAt.goe(startDate)) |                             .and(audioContentLike.createdAt.goe(startDate)) | ||||||
|                             .and(audioContentLike.createdAt.lt(endDate)) |                             .and(audioContentLike.createdAt.lt(endDate)) | ||||||
|                     ) |                     ) | ||||||
| @@ -529,6 +533,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) | |||||||
|                     .innerJoin(audioContent.theme, audioContentTheme) |                     .innerJoin(audioContent.theme, audioContentTheme) | ||||||
|                     .where( |                     .where( | ||||||
|                         where |                         where | ||||||
|  |                             .and(order.isActive.isTrue) | ||||||
|                             .and(order.createdAt.goe(startDate)) |                             .and(order.createdAt.goe(startDate)) | ||||||
|                             .and(order.createdAt.lt(endDate)) |                             .and(order.createdAt.lt(endDate)) | ||||||
|                     ) |                     ) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user