From 808030100f74f0da9e3ce1286707afb1556be0f5 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 29 May 2024 00:13:58 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20-=20=EC=BB=A4?= =?UTF-8?q?=EB=AE=A4=EB=8B=88=ED=8B=B0=20=EA=B2=8C=EC=8B=9C=EB=AC=BC=20?= =?UTF-8?q?=EC=A0=95=EC=82=B0=20=ED=8E=98=EC=9D=B4=EC=A7=95=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../calculate/AdminCalculateQueryRepository.kt | 18 ++++++++++++++++++ .../admin/calculate/AdminCalculateService.kt | 8 ++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateQueryRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateQueryRepository.kt index cdd1433..e716de3 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateQueryRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateQueryRepository.kt @@ -154,6 +154,24 @@ class AdminCalculateQueryRepository(private val queryFactory: JPAQueryFactory) { .fetch() } + fun getCalculateCommunityPostTotalCount(startDate: LocalDateTime?, endDate: LocalDateTime?): Int { + val formattedDate = getFormattedDate(useCan.createdAt) + return queryFactory + .select(creatorCommunity.id) + .from(useCan) + .innerJoin(useCan.communityPost, creatorCommunity) + .innerJoin(creatorCommunity.member, member) + .where( + useCan.isRefund.isFalse + .and(useCan.canUsage.eq(CanUsage.PAID_COMMUNITY_POST)) + .and(useCan.createdAt.goe(startDate)) + .and(useCan.createdAt.loe(endDate)) + ) + .groupBy(formattedDate, creatorCommunity.id) + .fetch() + .size + } + fun getCalculateCommunityPostList( startDate: LocalDateTime?, endDate: LocalDateTime?, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateService.kt index c233788..f82afed 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateService.kt @@ -1,5 +1,6 @@ package kr.co.vividnext.sodalive.admin.calculate +import kr.co.vividnext.sodalive.creator.admin.calculate.GetCreatorCalculateCommunityPostResponse import kr.co.vividnext.sodalive.extensions.convertLocalDateTime import org.springframework.cache.annotation.Cacheable import org.springframework.stereotype.Service @@ -71,12 +72,15 @@ class AdminCalculateService(private val repository: AdminCalculateQueryRepositor endDateStr: String, offset: Long, limit: Long - ): List { + ): GetCreatorCalculateCommunityPostResponse { val startDate = startDateStr.convertLocalDateTime() val endDate = endDateStr.convertLocalDateTime(hour = 23, minute = 59, second = 59) - return repository + val totalCount = repository.getCalculateCommunityPostTotalCount(startDate, endDate) + val items = repository .getCalculateCommunityPostList(startDate, endDate, offset, limit) .map { it.toGetCalculateCommunityPostResponse() } + + return GetCreatorCalculateCommunityPostResponse(totalCount, items) } }