From 34200fe032342ac852824c6544e47aafc0896de6 Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Tue, 28 Jun 2022 20:56:46 +0800 Subject: [PATCH] remove cart --- beike/Shop/Http/Controllers/CartController.php | 7 ++++++- beike/Shop/Routes/shop.php | 1 + beike/Shop/Services/CartService.php | 11 +++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/beike/Shop/Http/Controllers/CartController.php b/beike/Shop/Http/Controllers/CartController.php index d2e706d5..ecad57c1 100644 --- a/beike/Shop/Http/Controllers/CartController.php +++ b/beike/Shop/Http/Controllers/CartController.php @@ -53,10 +53,15 @@ class CartController extends Controller /** * DELETE /carts/{cart_id} * @param Request $request + * @param $cartId + * @return array */ - public function destroy(Request $request) + public function destroy(Request $request,$cartId): array { + $customer = current_customer(); + CartService::delete($customer, $cartId); + return CartService::reloadData(); } diff --git a/beike/Shop/Routes/shop.php b/beike/Shop/Routes/shop.php index 138e768b..a7be237d 100644 --- a/beike/Shop/Routes/shop.php +++ b/beike/Shop/Routes/shop.php @@ -25,6 +25,7 @@ Route::prefix('/') Route::get('carts/mini', [CartController::class, 'miniCart'])->name('carts.mini'); Route::put('carts/{cart}', [CartController::class, 'update'])->name('carts.update'); Route::post('carts/select', [CartController::class, 'select'])->name('carts.select'); + Route::delete('carts/destroy', [CartController::class, 'destroy'])->name('carts.destroy'); Route::get('checkout', [CheckoutController::class, 'index'])->name('checkout.index'); diff --git a/beike/Shop/Services/CartService.php b/beike/Shop/Services/CartService.php index c5e87677..b028f97e 100644 --- a/beike/Shop/Services/CartService.php +++ b/beike/Shop/Services/CartService.php @@ -103,6 +103,17 @@ class CartService } + public static function delete($customer, $cartId) + { + if (empty($cartId)) { + return; + } + Cart::query()->where('customer_id', $customer->id) + ->where('id', $cartId) + ->delete(); + } + + /** * 获取购物车相关数据 *