test #75
| @@ -46,6 +46,24 @@ class AdminCalculateQueryRepository(private val queryFactory: JPAQueryFactory) { | ||||
|             .fetch() | ||||
|     } | ||||
|  | ||||
|     fun getCalculateContentTotalCount(startDate: LocalDateTime, endDate: LocalDateTime): Int { | ||||
|         return queryFactory | ||||
|             .select(audioContent.id) | ||||
|             .from(useCanCalculate) | ||||
|             .innerJoin(useCanCalculate.useCan, useCan) | ||||
|             .innerJoin(useCan.order, order) | ||||
|             .innerJoin(order.audioContent, audioContent) | ||||
|             .innerJoin(audioContent.member, member) | ||||
|             .where( | ||||
|                 useCanCalculate.status.eq(UseCanCalculateStatus.RECEIVED) | ||||
|                     .and(order.createdAt.goe(startDate)) | ||||
|                     .and(order.createdAt.loe(endDate)) | ||||
|             ) | ||||
|             .groupBy(audioContent.id, order.type) | ||||
|             .fetch() | ||||
|             .size | ||||
|     } | ||||
|  | ||||
|     fun getCalculateContentList( | ||||
|         startDate: LocalDateTime, | ||||
|         endDate: LocalDateTime, | ||||
|   | ||||
| @@ -77,7 +77,7 @@ class AdminCalculateService(private val repository: AdminCalculateQueryRepositor | ||||
|         endDateStr: String, | ||||
|         offset: Long, | ||||
|         limit: Long | ||||
|     ): List<GetCalculateContentResponse> { | ||||
|     ): GetCalculateContentResponse { | ||||
|         val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd") | ||||
|         val startDate = LocalDate.parse(startDateStr, dateTimeFormatter).atTime(0, 0, 0) | ||||
|             .atZone(ZoneId.of("Asia/Seoul")) | ||||
| @@ -89,7 +89,9 @@ class AdminCalculateService(private val repository: AdminCalculateQueryRepositor | ||||
|             .withZoneSameInstant(ZoneId.of("UTC")) | ||||
|             .toLocalDateTime() | ||||
|  | ||||
|         return repository | ||||
|         val totalCount = repository.getCalculateContentTotalCount(startDate, endDate) | ||||
|  | ||||
|         val items = repository | ||||
|             .getCalculateContentList(startDate, endDate, offset, limit) | ||||
|             .map { | ||||
|                 val orderTypeStr = if (it.orderType == OrderType.RENTAL) { | ||||
| @@ -113,7 +115,7 @@ class AdminCalculateService(private val repository: AdminCalculateQueryRepositor | ||||
|                 // 입금액 | ||||
|                 val depositAmount = settlementAmount - tax | ||||
|  | ||||
|                 GetCalculateContentResponse( | ||||
|                 GetCalculateContentItemResponse( | ||||
|                     nickname = it.nickname, | ||||
|                     title = it.title, | ||||
|                     registrationDate = it.registrationDate, | ||||
| @@ -130,5 +132,10 @@ class AdminCalculateService(private val repository: AdminCalculateQueryRepositor | ||||
|                 ) | ||||
|             } | ||||
|             .toList() | ||||
|  | ||||
|         return GetCalculateContentResponse( | ||||
|             totalCount = totalCount, | ||||
|             items = items | ||||
|         ) | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,11 @@ | ||||
| package kr.co.vividnext.sodalive.admin.calculate | ||||
|  | ||||
| data class GetCalculateContentResponse( | ||||
|     val totalCount: Int, | ||||
|     val items: List<GetCalculateContentItemResponse> | ||||
| ) | ||||
|  | ||||
| data class GetCalculateContentItemResponse( | ||||
|     // 등록 크리에이터 닉네임 | ||||
|     val nickname: String, | ||||
|     // 콘텐츠 제목 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user