라이브 정산, 일자별 콘텐츠 정산, 콘텐츠별 누적 현황, 후원정산, 커뮤니티 정산
- float 대신 bigdecimal로 변경
This commit is contained in:
parent
2c77143fc2
commit
d3483c8062
|
@ -14,15 +14,24 @@ data class GetCalculateCommunityPostQueryData @QueryProjection constructor(
|
||||||
val settlementRatio: Int?
|
val settlementRatio: Int?
|
||||||
) {
|
) {
|
||||||
fun toGetCalculateCommunityPostResponse(): GetCalculateCommunityPostResponse {
|
fun toGetCalculateCommunityPostResponse(): GetCalculateCommunityPostResponse {
|
||||||
val totalKrw = BigDecimal(totalCan) * BigDecimal(100)
|
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
|
||||||
val paymentFee = totalKrw * BigDecimal(0.066)
|
val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100))
|
||||||
|
|
||||||
|
// 결제수수료 : 6.6%
|
||||||
|
val paymentFee = totalKrw.multiply(BigDecimal(0.066))
|
||||||
|
|
||||||
|
// 정산금액 = (원화 - 결제수수료) 의 70%
|
||||||
val settlementAmount = if (settlementRatio != null) {
|
val settlementAmount = if (settlementRatio != null) {
|
||||||
(totalKrw - paymentFee) * (BigDecimal(settlementRatio) / BigDecimal(100.0))
|
totalKrw.subtract(paymentFee).multiply(BigDecimal(settlementRatio).divide(BigDecimal(100.0)))
|
||||||
} else {
|
} 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(
|
return GetCalculateCommunityPostResponse(
|
||||||
nickname = nickname,
|
nickname = nickname,
|
||||||
|
|
|
@ -22,25 +22,25 @@ data class GetCalculateContentDonationQueryData @QueryProjection constructor(
|
||||||
) {
|
) {
|
||||||
fun toGetCalculateContentDonationResponse(): GetCalculateContentDonationResponse {
|
fun toGetCalculateContentDonationResponse(): GetCalculateContentDonationResponse {
|
||||||
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
|
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
|
||||||
val totalKrw = BigDecimal(totalCan) * BigDecimal(100)
|
val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100))
|
||||||
|
|
||||||
// 결제수수료 : 6.6%
|
// 결제수수료 : 6.6%
|
||||||
val paymentFee = totalKrw * BigDecimal(0.066)
|
val paymentFee = totalKrw.multiply(BigDecimal(0.066))
|
||||||
|
|
||||||
// 정산금액
|
// 정산금액
|
||||||
// 유료콘텐츠 (원화 - 결제수수료) 의 90%
|
// 유료콘텐츠 (원화 - 결제수수료) 의 90%
|
||||||
// 무료콘텐츠 (원화 - 결제수수료) 의 70%
|
// 무료콘텐츠 (원화 - 결제수수료) 의 70%
|
||||||
val settlementAmount = if (price > 0) {
|
val settlementAmount = if (price > 0) {
|
||||||
(totalKrw - paymentFee) * BigDecimal(0.9)
|
(totalKrw - paymentFee).multiply(BigDecimal(0.9))
|
||||||
} else {
|
} else {
|
||||||
(totalKrw - paymentFee) * BigDecimal(0.7)
|
(totalKrw - paymentFee).multiply(BigDecimal(0.7))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 원천세 = 정산금액의 3.3%
|
// 원천세 = 정산금액의 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) {
|
val paidOrFree = if (price > 0) {
|
||||||
"유료"
|
"유료"
|
||||||
|
|
|
@ -32,15 +32,23 @@ data class GetCalculateContentQueryData @QueryProjection constructor(
|
||||||
"소장"
|
"소장"
|
||||||
}
|
}
|
||||||
|
|
||||||
val totalKrw = BigDecimal(totalCan) * BigDecimal(100)
|
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
|
||||||
val paymentFee = totalKrw * BigDecimal(0.066)
|
val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100))
|
||||||
|
|
||||||
|
// 결제수수료 : 6.6%
|
||||||
|
val paymentFee = totalKrw.multiply(BigDecimal(0.066))
|
||||||
|
|
||||||
|
// 정산금액 = (원화 - 결제수수료) 의 70%
|
||||||
val settlementAmount = if (settlementRatio != null) {
|
val settlementAmount = if (settlementRatio != null) {
|
||||||
(totalKrw - paymentFee) * (BigDecimal(settlementRatio) / BigDecimal(100.0))
|
totalKrw.subtract(paymentFee).multiply(BigDecimal(settlementRatio).divide(BigDecimal(100.0)))
|
||||||
} else {
|
} 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(
|
return GetCalculateContentResponse(
|
||||||
nickname = nickname,
|
nickname = nickname,
|
||||||
|
|
|
@ -43,23 +43,23 @@ data class GetCalculateLiveQueryData @QueryProjection constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
|
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
|
||||||
val totalKrw = BigDecimal(totalAmount) * BigDecimal(100)
|
val totalKrw = BigDecimal(totalAmount).multiply(BigDecimal(100))
|
||||||
|
|
||||||
// 결제수수료 : 6.6%
|
// 결제수수료 : 6.6%
|
||||||
val paymentFee = totalKrw * BigDecimal(0.066)
|
val paymentFee = totalKrw.multiply(BigDecimal(0.066))
|
||||||
|
|
||||||
// 정산금액 = (원화 - 결제수수료) 의 70%
|
// 정산금액 = (원화 - 결제수수료) 의 70%
|
||||||
val settlementAmount = if (settlementRatio != null) {
|
val settlementAmount = if (settlementRatio != null) {
|
||||||
(totalKrw - paymentFee) * (BigDecimal(settlementRatio) / BigDecimal(100.0))
|
totalKrw.subtract(paymentFee).multiply(BigDecimal(settlementRatio).divide(BigDecimal(100.0)))
|
||||||
} else {
|
} else {
|
||||||
(totalKrw - paymentFee) * BigDecimal(0.7)
|
totalKrw.subtract(paymentFee).multiply(BigDecimal(0.7))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 원천세 = 정산금액의 3.3%
|
// 원천세 = 정산금액의 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(
|
return GetCalculateLiveResponse(
|
||||||
email = email,
|
email = email,
|
||||||
|
|
|
@ -32,24 +32,23 @@ data class GetCumulativeSalesByContentQueryData @QueryProjection constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
|
// 원화 = totalCoin * 100 ( 캔 1개 = 100원 )
|
||||||
val totalKrw = BigDecimal(totalCan) * BigDecimal(100)
|
val totalKrw = BigDecimal(totalCan).multiply(BigDecimal(100))
|
||||||
|
|
||||||
// 결제수수료 : 6.6%
|
// 결제수수료 : 6.6%
|
||||||
val paymentFee = totalKrw * BigDecimal(0.066)
|
val paymentFee = totalKrw.multiply(BigDecimal(0.066))
|
||||||
|
|
||||||
// 정산금액 = (원화 - 결제수수료) 의 70%
|
|
||||||
// 정산금액 = (원화 - 결제수수료) 의 70%
|
// 정산금액 = (원화 - 결제수수료) 의 70%
|
||||||
val settlementAmount = if (settlementRatio != null) {
|
val settlementAmount = if (settlementRatio != null) {
|
||||||
(totalKrw - paymentFee) * (BigDecimal(settlementRatio) / BigDecimal(100.0))
|
totalKrw.subtract(paymentFee).multiply(BigDecimal(settlementRatio).divide(BigDecimal(100.0)))
|
||||||
} else {
|
} else {
|
||||||
(totalKrw - paymentFee) * BigDecimal(0.7)
|
totalKrw.subtract(paymentFee).multiply(BigDecimal(0.7))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 원천세 = 정산금액의 3.3%
|
// 원천세 = 정산금액의 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(
|
return CumulativeSalesByContentItem(
|
||||||
nickname = nickname,
|
nickname = nickname,
|
||||||
|
|
Loading…
Reference in New Issue