diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateCommunityPostQueryData.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateCommunityPostQueryData.kt index 409caa5..009eeb9 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateCommunityPostQueryData.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateCommunityPostQueryData.kt @@ -14,15 +14,24 @@ data class GetCalculateCommunityPostQueryData @QueryProjection constructor( val settlementRatio: Int? ) { fun toGetCalculateCommunityPostResponse(): GetCalculateCommunityPostResponse { - val totalKrw = BigDecimal(totalCan) * BigDecimal(100) - val paymentFee = totalKrw * BigDecimal(0.066) + // 원화 = totalCoin * 100 ( 캔 1개 = 100원 ) + val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100)) + + // 결제수수료 : 6.6% + val paymentFee = totalKrw.multiply(BigDecimal(0.066)) + + // 정산금액 = (원화 - 결제수수료) 의 70% val settlementAmount = if (settlementRatio != null) { - (totalKrw - paymentFee) * (BigDecimal(settlementRatio) / BigDecimal(100.0)) + totalKrw.subtract(paymentFee).multiply(BigDecimal(settlementRatio).divide(BigDecimal(100.0))) } else { - (totalKrw - paymentFee) * BigDecimal(0.7) + totalKrw.subtract(paymentFee).multiply(BigDecimal(0.7)) } - val tax = settlementAmount * BigDecimal(0.033) - val depositAmount = settlementAmount - tax + + // 원천세 = 정산금액의 3.3% + val tax = settlementAmount.multiply(BigDecimal(0.033)) + + // 입금액 + val depositAmount = settlementAmount.subtract(tax) return GetCalculateCommunityPostResponse( nickname = nickname, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateContentDonationQueryData.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateContentDonationQueryData.kt index 480d20a..6757611 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateContentDonationQueryData.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateContentDonationQueryData.kt @@ -22,25 +22,25 @@ data class GetCalculateContentDonationQueryData @QueryProjection constructor( ) { fun toGetCalculateContentDonationResponse(): GetCalculateContentDonationResponse { // 원화 = totalCoin * 100 ( 캔 1개 = 100원 ) - val totalKrw = BigDecimal(totalCan) * BigDecimal(100) + val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100)) // 결제수수료 : 6.6% - val paymentFee = totalKrw * BigDecimal(0.066) + val paymentFee = totalKrw.multiply(BigDecimal(0.066)) // 정산금액 // 유료콘텐츠 (원화 - 결제수수료) 의 90% // 무료콘텐츠 (원화 - 결제수수료) 의 70% val settlementAmount = if (price > 0) { - (totalKrw - paymentFee) * BigDecimal(0.9) + (totalKrw - paymentFee).multiply(BigDecimal(0.9)) } else { - (totalKrw - paymentFee) * BigDecimal(0.7) + (totalKrw - paymentFee).multiply(BigDecimal(0.7)) } // 원천세 = 정산금액의 3.3% - val tax = settlementAmount * BigDecimal(0.033) + val tax = settlementAmount.multiply(BigDecimal(0.033)) // 입금액 - val depositAmount = settlementAmount - tax + val depositAmount = settlementAmount.subtract(tax) val paidOrFree = if (price > 0) { "유료" diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateContentQueryData.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateContentQueryData.kt index de928dd..cf0a0c6 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateContentQueryData.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateContentQueryData.kt @@ -32,15 +32,23 @@ data class GetCalculateContentQueryData @QueryProjection constructor( "소장" } - val totalKrw = BigDecimal(totalCan) * BigDecimal(100) - val paymentFee = totalKrw * BigDecimal(0.066) + // 원화 = totalCoin * 100 ( 캔 1개 = 100원 ) + val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100)) + + // 결제수수료 : 6.6% + val paymentFee = totalKrw.multiply(BigDecimal(0.066)) + + // 정산금액 = (원화 - 결제수수료) 의 70% val settlementAmount = if (settlementRatio != null) { - (totalKrw - paymentFee) * (BigDecimal(settlementRatio) / BigDecimal(100.0)) + totalKrw.subtract(paymentFee).multiply(BigDecimal(settlementRatio).divide(BigDecimal(100.0))) } else { - (totalKrw - paymentFee) * BigDecimal(0.7) + totalKrw.subtract(paymentFee).multiply(BigDecimal(0.7)) } - val tax = settlementAmount * BigDecimal(0.033) - val depositAmount = settlementAmount - tax + + // 원천세 = 정산금액의 3.3% + val tax = settlementAmount.multiply(BigDecimal(0.033)) + + val depositAmount = settlementAmount.subtract(tax) return GetCalculateContentResponse( nickname = nickname, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateLiveQueryData.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateLiveQueryData.kt index 52d5e61..41b6515 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateLiveQueryData.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/GetCalculateLiveQueryData.kt @@ -43,23 +43,23 @@ data class GetCalculateLiveQueryData @QueryProjection constructor( } // 원화 = totalCoin * 100 ( 캔 1개 = 100원 ) - val totalKrw = BigDecimal(totalAmount) * BigDecimal(100) + val totalKrw = BigDecimal(totalAmount).multiply(BigDecimal(100)) // 결제수수료 : 6.6% - val paymentFee = totalKrw * BigDecimal(0.066) + val paymentFee = totalKrw.multiply(BigDecimal(0.066)) // 정산금액 = (원화 - 결제수수료) 의 70% val settlementAmount = if (settlementRatio != null) { - (totalKrw - paymentFee) * (BigDecimal(settlementRatio) / BigDecimal(100.0)) + totalKrw.subtract(paymentFee).multiply(BigDecimal(settlementRatio).divide(BigDecimal(100.0))) } else { - (totalKrw - paymentFee) * BigDecimal(0.7) + totalKrw.subtract(paymentFee).multiply(BigDecimal(0.7)) } // 원천세 = 정산금액의 3.3% - val tax = settlementAmount * BigDecimal(0.033) + val tax = settlementAmount.multiply(BigDecimal(0.033)) // 입금액 - val depositAmount = settlementAmount - tax + val depositAmount = settlementAmount.subtract(tax) return GetCalculateLiveResponse( email = email, 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 34d7ce2..5c49858 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 @@ -32,24 +32,23 @@ data class GetCumulativeSalesByContentQueryData @QueryProjection constructor( } // 원화 = totalCoin * 100 ( 캔 1개 = 100원 ) - val totalKrw = BigDecimal(totalCan) * BigDecimal(100) + val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100)) // 결제수수료 : 6.6% - val paymentFee = totalKrw * BigDecimal(0.066) + val paymentFee = totalKrw.multiply(BigDecimal(0.066)) - // 정산금액 = (원화 - 결제수수료) 의 70% // 정산금액 = (원화 - 결제수수료) 의 70% val settlementAmount = if (settlementRatio != null) { - (totalKrw - paymentFee) * (BigDecimal(settlementRatio) / BigDecimal(100.0)) + totalKrw.subtract(paymentFee).multiply(BigDecimal(settlementRatio).divide(BigDecimal(100.0))) } else { - (totalKrw - paymentFee) * BigDecimal(0.7) + totalKrw.subtract(paymentFee).multiply(BigDecimal(0.7)) } // 원천세 = 정산금액의 3.3% - val tax = settlementAmount * BigDecimal(0.033) + val tax = settlementAmount.multiply(BigDecimal(0.033)) // 입금액 - val depositAmount = settlementAmount - tax + val depositAmount = settlementAmount.subtract(tax) return CumulativeSalesByContentItem( nickname = nickname,