Bladeren bron

修改积分分摊最后一个商品计算方式

lhm 3 jaren geleden
bovenliggende
commit
429b82e1b8
1 gewijzigde bestanden met toevoegingen van 5 en 1 verwijderingen
  1. 5 1
      kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

+ 5 - 1
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -4696,6 +4696,8 @@ public class OrderServiceImpl implements OrderService {
                 BigDecimal shareScore = BigDecimal.ZERO;
                 // 取整后的积分数量
                 BigDecimal scoreIntegerDecimal = BigDecimal.valueOf(scoreInteger);
+                // 计算积分能抵扣的金额
+                BigDecimal scoreCanDeductionPrice = scoreIntegerDecimal.divide(BigDecimal.valueOf(scoreLimit), 2, BigDecimal.ROUND_HALF_UP);
                 // 订单详情积分抵扣总金额
                 BigDecimal goodsDetailScoreDeductionPrice = BigDecimal.ZERO;
                 int size = goodsDetailsDtos.size();
@@ -4735,7 +4737,9 @@ public class OrderServiceImpl implements OrderService {
                     if (i == index && size > 1) {// 商品总价
                         // 最后一个商品分摊积分 = 积分总数 - 已分摊积分
                         shareScoreItem = scoreIntegerDecimal.subtract(shareScore);
-                        discountedPrice = shareScoreItem.divide(BigDecimal.valueOf(scoreLimit), 2, BigDecimal.ROUND_HALF_UP);
+//                        discountedPrice = shareScoreItem.divide(BigDecimal.valueOf(scoreLimit), 2, BigDecimal.ROUND_HALF_UP);
+                        // 2021-12-13最后一个商品修改计算方式,原计算方式:(总抵扣积分 - 已分摊积分) / 30,改为:积分能抵扣的金额 - 已抵扣金额
+                        discountedPrice = scoreCanDeductionPrice.subtract(goodsDetailScoreDeductionPrice);
                     }
                     // 订单商品详情只有一个商品的情况下
                     if (size == 1) {