fix(calculate): 콘텐츠 후원 정산 비율을 70퍼센트로 통일한다

This commit is contained in:
2026-03-05 11:47:55 +09:00
parent 1fbad0f2bb
commit 07f8d22024
2 changed files with 29 additions and 14 deletions

View File

@@ -20,33 +20,32 @@ data class GetCalculateContentDonationQueryData @QueryProjection constructor(
// 합계
val totalCan: Int
) {
companion object {
private val KRW_PER_CAN = BigDecimal("100")
private val PAYMENT_FEE_RATE = BigDecimal("0.066")
private val SETTLEMENT_RATE = BigDecimal("0.7")
private val TAX_RATE = BigDecimal("0.033")
}
fun toGetCalculateContentDonationResponse(): GetCalculateContentDonationResponse {
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100))
val totalKrw = BigDecimal(totalCan).multiply(KRW_PER_CAN)
// 결제수수료 : 6.6%
val paymentFee = totalKrw.multiply(BigDecimal(0.066))
val paymentFee = totalKrw.multiply(PAYMENT_FEE_RATE)
// 정산금액
// 유료콘텐츠 (원화 - 결제수수료) 의 90%
// 유료콘텐츠 (원화 - 결제수수료) 의 70%
// 무료콘텐츠 (원화 - 결제수수료) 의 70%
val settlementAmount = if (price > 0) {
totalKrw.subtract(paymentFee).multiply(BigDecimal(0.9))
} else {
totalKrw.subtract(paymentFee).multiply(BigDecimal(0.7))
}
val settlementAmount = totalKrw.subtract(paymentFee).multiply(SETTLEMENT_RATE)
// 원천세 = 정산금액의 3.3%
val tax = settlementAmount.multiply(BigDecimal(0.033))
val tax = settlementAmount.multiply(TAX_RATE)
// 입금액
val depositAmount = settlementAmount.subtract(tax)
val paidOrFree = if (price > 0) {
"유료"
} else {
"무료"
}
val paidOrFree = if (price > 0) "유료" else "무료"
return GetCalculateContentDonationResponse(
nickname = nickname,