From dbf795804cad0a49e965ddf1790bf584b02aa309 Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 13 Nov 2023 23:37:39 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=88=84?= =?UTF-8?q?=EC=A0=81=20=EB=A7=A4=EC=B6=9C=20API=20-=20orderType=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/calculate/AdminCalculateQueryRepository.kt | 5 +++-- .../sodalive/admin/calculate/AdminCalculateService.kt | 7 +++++++ .../admin/calculate/GetCumulativeSalesByContentResponse.kt | 4 ++++ 3 files changed, 14 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 812d7c3..c3d178b 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 @@ -108,6 +108,7 @@ class AdminCalculateQueryRepository(private val queryFactory: JPAQueryFactory) { member.nickname, audioContent.title, getFormattedDate(audioContent.createdAt), + order.type, order.can, order.id.count(), order.can.sum() @@ -116,10 +117,10 @@ class AdminCalculateQueryRepository(private val queryFactory: JPAQueryFactory) { .from(order) .innerJoin(order.audioContent, audioContent) .innerJoin(audioContent.member, member) - .groupBy(member.id, audioContent.id, order.can) + .groupBy(member.id, audioContent.id, order.type, order.can) .offset(offset) .limit(limit) - .orderBy(member.id.desc(), audioContent.id.asc()) + .orderBy(member.id.desc(), audioContent.id.desc()) .fetch() } } 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 1044ff5..d528a94 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 @@ -141,6 +141,12 @@ class AdminCalculateService(private val repository: AdminCalculateQueryRepositor .getCumulativeSalesByContent(offset, limit) .asSequence() .map { + val orderTypeStr = if (it.orderType == OrderType.RENTAL) { + "대여" + } else { + "소장" + } + // 원화 = totalCoin * 100 ( 캔 1개 = 100원 ) val totalKrw = it.totalCan * 100 @@ -160,6 +166,7 @@ class AdminCalculateService(private val repository: AdminCalculateQueryRepositor nickname = it.nickname, title = it.title, registrationDate = it.registrationDate, + orderType = orderTypeStr, orderPrice = it.orderPrice, numberOfPeople = it.numberOfPeople.toInt(), totalCan = it.totalCan, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCumulativeSalesByContentResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCumulativeSalesByContentResponse.kt index 5ea0c98..47bb514 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCumulativeSalesByContentResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCumulativeSalesByContentResponse.kt @@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.admin.calculate import com.fasterxml.jackson.annotation.JsonProperty import com.querydsl.core.annotations.QueryProjection +import kr.co.vividnext.sodalive.content.order.OrderType data class GetCumulativeSalesByContentQueryData @QueryProjection constructor( // 등록 크리에이터 닉네임 @@ -10,6 +11,8 @@ data class GetCumulativeSalesByContentQueryData @QueryProjection constructor( val title: String, // 콘텐츠 등록 날짜 val registrationDate: String, + // 대여/소장 구분 + val orderType: OrderType, // 판매 금액(캔) val orderPrice: Int, // 인원 @@ -27,6 +30,7 @@ data class CumulativeSalesByContentItem( @JsonProperty("nickname") val nickname: String, @JsonProperty("title") val title: String, @JsonProperty("registrationDate") val registrationDate: String, + @JsonProperty("orderType") val orderType: String, @JsonProperty("orderPrice") val orderPrice: Int, @JsonProperty("numberOfPeople") val numberOfPeople: Int, @JsonProperty("totalCan") val totalCan: Int,