Commit 2bca9ef490d19f6a99492f32915931c59a62f1b5

Authored by 痴货
1 parent 7ef329f5

【BUG】解决会员计算时,金额太大int类型装不下的问题

yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/bo/TradePriceCalculateRespBO.java
... ... @@ -72,7 +72,7 @@ public class TradePriceCalculateRespBO {
72 72 /**
73 73 * 是否包邮
74 74 */
75   - private Boolean freeDelivery;
  75 + private Boolean freeDelivery = false;
76 76  
77 77 /**
78 78 * 赠送的优惠劵
... ...
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 18 import org.springframework.stereotype.Component;
19 19  
20 20 import jakarta.annotation.Resource;
  21 +
  22 +import java.math.BigDecimal;
21 23 import java.util.List;
22 24 import java.util.Map;
23 25  
... ... @@ -171,7 +173,8 @@ public class TradeDiscountActivityPriceCalculator implements TradePriceCalculato
171 173 if (discountPercent == null) {
172 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 178 return price - newPrice;
176 179 }
177 180  
... ...