diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/v2/RouletteService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/v2/RouletteService.kt index 84ad0bc..1b92053 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/v2/RouletteService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/v2/RouletteService.kt @@ -23,7 +23,6 @@ import kr.co.vividnext.sodalive.member.MemberRole import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional -import java.math.BigDecimal import java.util.concurrent.locks.ReentrantReadWriteLock import kotlin.concurrent.write import kotlin.random.Random @@ -237,8 +236,8 @@ class RouletteService( throw SodaException("룰렛 옵션은 최소 2개, 최대 10개까지 설정할 수 있습니다.") } - val totalPercentage = items.map { BigDecimal(it.percentage.toDouble()) }.reduce(BigDecimal::plus) - if (totalPercentage != BigDecimal(100.0)) { + val totalPercentage = items.map { it.percentage }.sum() + if (totalPercentage > 100.1f || totalPercentage < 99.9f) { throw SodaException("확률이 100%가 아닙니다") } }