Explorar o código

Merge branch 'master' of wangchaoqun/kmall-haikong into master

王超群 %!s(int64=3) %!d(string=hai) anos
pai
achega
66555c82cf

+ 7 - 3
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -4485,10 +4485,11 @@ public class OrderServiceImpl implements OrderService {
                         if (entityBarcode.equals(prodBarcode) && entityGoodsSn.equals(sku) && shopSn.equals(storeId)) {
                             GoodsEntity goodsEntity = goodsMap.get(sku);
                             BigDecimal tax = CalculateTax.calculateFinalTax(goodsEntity, activityPrice, goodsService).setScale(3, RoundingMode.HALF_UP);
-                            goodsDetailsDto.setActualPaymentAmount(activityPrice);
+                            goodsDetailsDto.setActualPaymentAmount(activityPrice.multiply(new BigDecimal(goodsDetailsDto.getSellVolume())));
                             goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
                             goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.LSCX.getTopicName());
-                            goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(activityPrice));
+                            // 优惠价格 应该用优惠后的特价价格 乘以 数量
+                            goodsDetailsDto.setDiscountedPrice((retailPrice.subtract(activityPrice)).multiply(new BigDecimal(goodsDetailsDto.getSellVolume())));
                             goodsDetailsDto.setDeductionPrice(null);
                             activityFlag.set(false);
                             promotionActivityFlag.set(true);
@@ -4705,7 +4706,10 @@ public class OrderServiceImpl implements OrderService {
             queryGoodsVo.setStoreId(Long.parseLong(storeId));
             queryGoodsVo.setDisCountedPrice(BigDecimal.ZERO);
             queryGoodsVo.setTotalPrice(good.getActualPaymentAmount().multiply(BigDecimal.valueOf(good.getSellVolume())));
-            orderTotalPrice = orderTotalPrice.add(good.getActualPaymentAmount().multiply(BigDecimal.valueOf(good.getSellVolume())));
+            orderTotalPrice = orderTotalPrice.add(good.getRetailPrice().multiply(BigDecimal.valueOf(good.getSellVolume())));// 订单总金额 改为用零售价*数量
+            // 订单总价 总价减去 优惠活动的优惠价格 后续积分优惠 也从总金额中减去(打补丁操作
+            // 这块设计有问题 :后续积分优惠金额  由总金额减去积分抵扣金额 但没有处理其他活动的优惠金额  补丁内容:如果这里有参加其他活动的商品 优惠金额要在这里减去)
+            orderTotalPrice = orderTotalPrice.subtract(good.getDiscountedPrice());
             goodsVos.add(queryGoodsVo);
         }
         calculateOrderDiscountPriceResponseVO.setOrderTotalPrice(orderTotalPrice);