chao 3 лет назад
Родитель
Сommit
2752739305

+ 1 - 2
src/main/java/com/caimei365/order/components/OrderCommonService.java

@@ -74,12 +74,11 @@ public class OrderCommonService {
             List<OrderProductVo> orderProductList = orderCommonMapper.getShopOrderProduct(shopOrder.getShopOrderId());
             List<OrderProductVo> orderProductList = orderCommonMapper.getShopOrderProduct(shopOrder.getShopOrderId());
             orderProductList.removeIf(Objects::isNull);
             orderProductList.removeIf(Objects::isNull);
             orderProductList.forEach(orderProduct -> {
             orderProductList.forEach(orderProduct -> {
-                // 不含税可开票商品,单价/折后单价在原基础上加上税费
+                // 不含税可开票商品,单价在原基础上加上税费(折后单价discountPrice下单时已加上税费)
                 boolean taxFlag = (Integer.valueOf(0).equals(orderProduct.getIncludedTax()) && (Integer.valueOf(1).equals(orderProduct.getInvoiceType()) || Integer.valueOf(2).equals(orderProduct.getInvoiceType())));
                 boolean taxFlag = (Integer.valueOf(0).equals(orderProduct.getIncludedTax()) && (Integer.valueOf(1).equals(orderProduct.getInvoiceType()) || Integer.valueOf(2).equals(orderProduct.getInvoiceType())));
                 if (taxFlag) {
                 if (taxFlag) {
                     Double valueTax = MathUtil.div(MathUtil.mul(orderProduct.getPrice(), orderProduct.getTaxRate()), 100).doubleValue();
                     Double valueTax = MathUtil.div(MathUtil.mul(orderProduct.getPrice(), orderProduct.getTaxRate()), 100).doubleValue();
                     orderProduct.setPrice(MathUtil.add(orderProduct.getPrice(), valueTax).doubleValue());
                     orderProduct.setPrice(MathUtil.add(orderProduct.getPrice(), valueTax).doubleValue());
-                    orderProduct.setDiscountPrice(MathUtil.add(orderProduct.getPrice(), orderProduct.getAddedValueTax()).doubleValue());
                 }
                 }
                 orderProduct.setImage(ImageUtil.getImageUrl("product", orderProduct.getImage(), domain));
                 orderProduct.setImage(ImageUtil.getImageUrl("product", orderProduct.getImage(), domain));
                 // 查询订单下商品的促销活动
                 // 查询订单下商品的促销活动

+ 10 - 4
src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java

@@ -899,6 +899,9 @@ public class CartClubServiceImpl implements CartClubService {
         if(!(cartItemVo.getStock() != null && cartItemVo.getStock() > 0 && cartItemVo.getStock() >= cartItemVo.getMin() && cartItemVo.getStock() >= cartItemVo.getNumber())){
         if(!(cartItemVo.getStock() != null && cartItemVo.getStock() > 0 && cartItemVo.getStock() >= cartItemVo.getMin() && cartItemVo.getStock() >= cartItemVo.getNumber())){
             return ResponseJson.error("商品库存不足!", null);
             return ResponseJson.error("商品库存不足!", null);
         }
         }
+        // 供应商Id集合,用户判断赠品供应商是否在当前供应商中
+        List<Integer> shopIds = new ArrayList<>();
+        shopIds.add(shop.getShopId());
         List<CartShopVo> shopList = new ArrayList<>();
         List<CartShopVo> shopList = new ArrayList<>();
         // 设置商品图片及税费
         // 设置商品图片及税费
         boolean taxFlag = productService.setCartItemImgAndTax(cartItemVo);
         boolean taxFlag = productService.setCartItemImgAndTax(cartItemVo);
@@ -939,14 +942,17 @@ public class CartClubServiceImpl implements CartClubService {
                     // 满赠
                     // 满赠
                     List<CartItemVo> giftList = baseMapper.getPromotionGifts(promotions.getId());
                     List<CartItemVo> giftList = baseMapper.getPromotionGifts(promotions.getId());
                     giftList.forEach(gift -> {
                     giftList.forEach(gift -> {
-                        if (shop.getShopId().equals(gift.getShopId())) {
+                        if (shopIds.contains(gift.getShopId())) {
                             // 赠品在当前订单内的供应商下
                             // 赠品在当前订单内的供应商下
-                            if (shop.getShopId().equals(gift.getShopId())) {
-                                shop.getCartList().add(gift);
-                            }
+                            shopList.forEach(s -> {
+                                if (s.getShopId().equals(gift.getShopId())) {
+                                    s.getCartList().add(gift);
+                                }
+                            });
                         } else {
                         } else {
                             // 获取赠品供应商
                             // 获取赠品供应商
                             CartShopVo giftShop = baseMapper.getShopByProductId(gift.getProductId());
                             CartShopVo giftShop = baseMapper.getShopByProductId(gift.getProductId());
+                            shopIds.add(giftShop.getShopId());
                             giftShop.setCartList(new ArrayList<>());
                             giftShop.setCartList(new ArrayList<>());
                             giftShop.getCartList().add(gift);
                             giftShop.getCartList().add(gift);
                             shopList.add(giftShop);
                             shopList.add(giftShop);