Browse Source

fix:积分计算bug

lhm 3 years ago
parent
commit
40d0f4896c

+ 8 - 6
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -4282,7 +4282,7 @@ public class OrderServiceImpl implements OrderService {
             if (Objects.nonNull(activity)) {
                 good.setActivity(null);
             }
-            BigDecimal actualPaymentAmount = good.getActualPaymentAmount();
+            BigDecimal actualPaymentAmount = good.getActualPaymentAmount().multiply(BigDecimal.valueOf(good.getSellVolume()));
             good.setActualPaymentAmount(good.getRetailPrice());
 
             QueryGoodsVO queryGoodsVo = new QueryGoodsVO();
@@ -4291,7 +4291,7 @@ public class OrderServiceImpl implements OrderService {
             queryGoodsVo.setStoreId(Long.parseLong(storeId));
             queryGoodsVo.setDisCountedPrice(BigDecimal.ZERO);
             queryGoodsVo.setTotalPrice(actualPaymentAmount);
-            orderTotalPrice = orderTotalPrice.add(good.getRetailPrice());
+            orderTotalPrice = orderTotalPrice.add(good.getRetailPrice().multiply(BigDecimal.valueOf(good.getSellVolume())));
             goodsVos.add(queryGoodsVo);
         }
         calculateOrderDiscountPriceResponseVO.setOrderTotalPrice(orderTotalPrice);
@@ -4608,8 +4608,8 @@ public class OrderServiceImpl implements OrderService {
             queryGoodsVo.setSku(good.getGoodsSn());
             queryGoodsVo.setStoreId(Long.parseLong(storeId));
             queryGoodsVo.setDisCountedPrice(BigDecimal.ZERO);
-            queryGoodsVo.setTotalPrice(good.getActualPaymentAmount());
-            orderTotalPrice = orderTotalPrice.add(good.getActualPaymentAmount());
+            queryGoodsVo.setTotalPrice(good.getActualPaymentAmount().multiply(BigDecimal.valueOf(good.getSellVolume())));
+            orderTotalPrice = orderTotalPrice.add(good.getActualPaymentAmount().multiply(BigDecimal.valueOf(good.getSellVolume())));
             goodsVos.add(queryGoodsVo);
         }
         calculateOrderDiscountPriceResponseVO.setOrderTotalPrice(orderTotalPrice);
@@ -4747,7 +4747,8 @@ public class OrderServiceImpl implements OrderService {
             if (!promotionSkuList.contains(sku)) {
                 if (!CollectionUtils.isEmpty(scoreDeductionAllowSkuList) && CollectionUtils.isEmpty(scoreDeductionRejectSkuList)) {
                     if (scoreDeductionAllowSkuList.contains(sku)) {
-                        BigDecimal skuActualPaymentAmount = goodsDetailsDto.getActualPaymentAmount();
+                        BigDecimal skuActualPaymentAmount = goodsDetailsDto.getActualPaymentAmount()
+                                .multiply(BigDecimal.valueOf(goodsDetailsDto.getSellVolume()));
                         skuTotalPrice = skuTotalPrice.add(skuActualPaymentAmount);
                     }
                 }
@@ -4820,7 +4821,8 @@ public class OrderServiceImpl implements OrderService {
                     String sku = goodsDetailsDto.getGoodsSn();
                     String prodBarcode = goodsDetailsDto.getProdBarcode();
                     // 此字段 = 零售价 - 其他活动优惠金额
-                    BigDecimal actualPaymentAmount = goodsDetailsDto.getActualPaymentAmount();
+                    BigDecimal actualPaymentAmount = goodsDetailsDto.getActualPaymentAmount()
+                            .multiply(BigDecimal.valueOf(goodsDetailsDto.getSellVolume()));
                     // 当前商品最大支持抵扣的金额
                     BigDecimal currentSkuMaxDeductionPrice = actualPaymentAmount.multiply(BigDecimal.valueOf(goodsDetailsDto.getSellVolume()))
                                                                                 .multiply(scoreRatio).setScale(0, BigDecimal.ROUND_FLOOR);