fix: 콘텐츠 주문 - 포인트 결제 후 추가 결제를 해야하는 캔이 남아 있는 경우에만 캔을 결제하도록 수정 (남아 있는 캔이 없는데 결제 처리가 되서 0캔으로 데이터가 쌓이는 것 방지)

This commit is contained in:
Klaus 2025-04-22 23:39:48 +09:00
parent 775391f590
commit 7c3b7cffc2
1 changed files with 14 additions and 7 deletions

View File

@ -50,14 +50,21 @@ class OrderService(
} }
order.point = usedPoint order.point = usedPoint
val remainingCan = order.can - (usedPoint / 10)
if (order.type == OrderType.RENTAL && content.isPointAvailable && usedPoint > 0) {
order.can = remainingCan
}
if (remainingCan > 0) {
canPaymentService.spendCan( canPaymentService.spendCan(
memberId = member.id!!, memberId = member.id!!,
needCan = order.can - (usedPoint / 10), needCan = remainingCan,
canUsage = CanUsage.ORDER_CONTENT, canUsage = CanUsage.ORDER_CONTENT,
order = order, order = order,
container = container container = container
) )
} }
}
private fun orderContent(orderType: OrderType, content: AudioContent, member: Member): Order { private fun orderContent(orderType: OrderType, content: AudioContent, member: Member): Order {
val order = if (content.isOnlyRental) { val order = if (content.isOnlyRental) {