관리자 콘텐츠 정산, 라이브 정산 - 캔을 한 번 사용했는데 여러개의 PG로 결제한 캔이 사용될 때 생기는 오차수정

This commit is contained in:
Klaus 2023-11-14 19:12:10 +09:00
parent 04314c6256
commit 8d32f1b3bd
1 changed files with 6 additions and 12 deletions

View File

@ -6,8 +6,6 @@ import com.querydsl.core.types.dsl.StringTemplate
import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.can.use.CanUsage
import kr.co.vividnext.sodalive.can.use.QUseCan.useCan
import kr.co.vividnext.sodalive.can.use.QUseCanCalculate.useCanCalculate
import kr.co.vividnext.sodalive.can.use.UseCanCalculateStatus
import kr.co.vividnext.sodalive.content.QAudioContent.audioContent
import kr.co.vividnext.sodalive.content.order.QOrder.order
import kr.co.vividnext.sodalive.live.room.QLiveRoom.liveRoom
@ -29,16 +27,15 @@ class AdminCalculateQueryRepository(private val queryFactory: JPAQueryFactory) {
liveRoom.title,
liveRoom.price,
useCan.canUsage,
useCanCalculate.id.count(),
useCanCalculate.can.sum()
useCan.id.count(),
useCan.can.add(useCan.rewardCan).sum()
)
)
.from(useCanCalculate)
.innerJoin(useCanCalculate.useCan, useCan)
.from(useCan)
.innerJoin(useCan.room, liveRoom)
.innerJoin(liveRoom.member, member)
.where(
useCanCalculate.status.eq(UseCanCalculateStatus.RECEIVED)
useCan.isRefund.isFalse
.and(liveRoom.beginDateTime.goe(startDate))
.and(liveRoom.beginDateTime.loe(endDate))
)
@ -62,14 +59,11 @@ class AdminCalculateQueryRepository(private val queryFactory: JPAQueryFactory) {
order.can.sum()
)
)
.from(useCanCalculate)
.innerJoin(useCanCalculate.useCan, useCan)
.innerJoin(useCan.order, order)
.from(order)
.innerJoin(order.audioContent, audioContent)
.innerJoin(audioContent.member, member)
.where(
useCanCalculate.status.eq(UseCanCalculateStatus.RECEIVED)
.and(order.createdAt.goe(startDate))
order.createdAt.goe(startDate)
.and(order.createdAt.loe(endDate))
)
.groupBy(audioContent.id, order.type, orderFormattedDate, order.can)