From 42f66f859a82d52e238d0b5c900dcb7f929defd9 Mon Sep 17 00:00:00 2001 From: liqianjin <949671634@qq.com> Date: Thu, 1 Jun 2023 09:56:55 +0800 Subject: [PATCH] =?UTF-8?q?v1.1.1=20=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- beike/Shop/Http/Resources/CartDetail.php | 2 +- beike/Shop/Services/CartService.php | 10 ++++++++++ resources/beike/shop/default/js/header.js | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/beike/Shop/Http/Resources/CartDetail.php b/beike/Shop/Http/Resources/CartDetail.php index 3038f962..68a0f706 100644 --- a/beike/Shop/Http/Resources/CartDetail.php +++ b/beike/Shop/Http/Resources/CartDetail.php @@ -20,7 +20,7 @@ class CartDetail extends JsonResource $sku = $this->sku; $product = $sku->product; if($product->price_setting == 'num'){ - $price = $product->getNumPricesByNum($this->quantity); + $price = $product->getNumPricesByNum($this->product_quantity_sum); }else{ $price = $sku->price; }; diff --git a/beike/Shop/Services/CartService.php b/beike/Shop/Services/CartService.php index dfa6aea4..9b9c0490 100644 --- a/beike/Shop/Services/CartService.php +++ b/beike/Shop/Services/CartService.php @@ -50,6 +50,16 @@ class CartService return $description && $product; }); + $productQuantitySumList = []; + foreach($cartItems as $item) { + $productId = $item->product_id; + $productQuantitySumList[$productId] = $productQuantitySumList[$productId] ?? 0; + $productQuantitySumList[$productId] += $item->quantity; + } + foreach($cartItems as $item) { + $productId = $item->product_id; + $item->product_quantity_sum = $productQuantitySumList[$productId]; + } return CartDetail::collection($cartItems)->jsonSerialize(); } diff --git a/resources/beike/shop/default/js/header.js b/resources/beike/shop/default/js/header.js index 6596b93a..18950652 100644 --- a/resources/beike/shop/default/js/header.js +++ b/resources/beike/shop/default/js/header.js @@ -73,7 +73,7 @@ $(function () { function updateMiniCartData(res) { let cart_item_price = $('.offcanvas-right-cart-item-price'); for(var i = 0 ; i< cart_item_price.length ;i++){ - cart_item_price.contents()[i].nodeValue =' ' + res.data.carts[i].price_format + ' x '; + cart_item_price.contents()[i * 3].nodeValue =' ' + res.data.carts[i].price_format + ' x '; } $('.offcanvas-right-cart-count').text(res.data.quantity); $('.offcanvas-right-cart-amount').text(res.data.amount_format);