Commit 2bca9ef490d19f6a99492f32915931c59a62f1b5
1 parent
7ef329f5
【BUG】解决会员计算时,金额太大int类型装不下的问题
Showing
2 changed files
with
5 additions
and
2 deletions
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/bo/TradePriceCalculateRespBO.java
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradeDiscountActivityPriceCalculator.java
| @@ -18,6 +18,8 @@ import org.springframework.core.annotation.Order; | @@ -18,6 +18,8 @@ import org.springframework.core.annotation.Order; | ||
| 18 | import org.springframework.stereotype.Component; | 18 | import org.springframework.stereotype.Component; |
| 19 | 19 | ||
| 20 | import jakarta.annotation.Resource; | 20 | import jakarta.annotation.Resource; |
| 21 | + | ||
| 22 | +import java.math.BigDecimal; | ||
| 21 | import java.util.List; | 23 | import java.util.List; |
| 22 | import java.util.Map; | 24 | import java.util.Map; |
| 23 | 25 | ||
| @@ -171,7 +173,8 @@ public class TradeDiscountActivityPriceCalculator implements TradePriceCalculato | @@ -171,7 +173,8 @@ public class TradeDiscountActivityPriceCalculator implements TradePriceCalculato | ||
| 171 | if (discountPercent == null) { | 173 | if (discountPercent == null) { |
| 172 | return 0; | 174 | return 0; |
| 173 | } | 175 | } |
| 174 | - Integer newPrice = price * discountPercent / 100; | 176 | + BigDecimal divide = new BigDecimal(price).multiply(new BigDecimal(discountPercent)).divide(new BigDecimal(100)); |
| 177 | + Integer newPrice = divide.intValue(); | ||
| 175 | return price - newPrice; | 178 | return price - newPrice; |
| 176 | } | 179 | } |
| 177 | 180 |