From b7a2839ee4158d97409032459e453ab011da071a Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Fri, 18 Aug 2023 14:01:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6=E9=A1=B5=E9=9D=A2=E8=AE=A2=E5=8D=95=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=BC=98=E5=8C=96=20=E5=92=8C=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E9=A1=B5=E9=9D=A2=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Shop/Http/Controllers/CartController.php | 23 +++++++++++++++- themes/default/cart/cart.blade.php | 26 ++++++++++++++----- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/beike/Shop/Http/Controllers/CartController.php b/beike/Shop/Http/Controllers/CartController.php index a03d1aaa..84f323ea 100644 --- a/beike/Shop/Http/Controllers/CartController.php +++ b/beike/Shop/Http/Controllers/CartController.php @@ -5,6 +5,7 @@ namespace Beike\Shop\Http\Controllers; use Beike\Models\ProductSku; use Beike\Shop\Http\Requests\CartRequest; use Beike\Shop\Services\CartService; +use Beike\Shop\Services\CheckoutService; use Illuminate\Contracts\View\View; use Illuminate\Http\Request; @@ -18,7 +19,7 @@ class CartController extends Controller $data = [ 'data' => CartService::reloadData(), ]; - + $data['totals'] = $this->getOrderMoney($data['data']['carts']); $data = hook_filter('cart.index.data', $data); return view('cart/cart', $data); @@ -38,6 +39,7 @@ class CartController extends Controller CartService::select($customer, $cartIds); $data = CartService::reloadData(); + $data['totals'] = $this->getOrderMoney($data['carts']); $data = hook_filter('cart.select.data', $data); @@ -100,6 +102,7 @@ class CartController extends Controller CartService::updateQuantity($customer, $cartId, $quantity); $data = CartService::reloadData(); + $data['totals'] = $this->getOrderMoney($data['carts']); $data = hook_filter('cart.update.data', $data); @@ -145,4 +148,22 @@ class CartController extends Controller return json_success(trans('common.success'), $data); } + /** + * Common: 实时计算购物车订单金额 + * Author: wu-hui + * Time: 2023/08/18 13:56 + * @param $carts + * @return mixed + * @throws \Exception + */ + public function getOrderMoney($carts){ + $carts = collect($carts)->where('selected', 1)->toArray(); + $checkoutService = new CheckoutService(); + $totalClass = hook_filter('service.checkout.total_service','Beike\Shop\Services\TotalService'); + $checkoutService->totalService = (new $totalClass($checkoutService->cart,$carts)); + $checkoutData = $checkoutService->checkoutData(); + + return $checkoutData['totals']; + } + } diff --git a/themes/default/cart/cart.blade.php b/themes/default/cart/cart.blade.php index 5bc0b083..43104ec9 100644 --- a/themes/default/cart/cart.blade.php +++ b/themes/default/cart/cart.blade.php @@ -85,9 +85,14 @@