diff --git a/beike/Shop/Http/Controllers/CartController.php b/beike/Shop/Http/Controllers/CartController.php index b149eb95..88fb525c 100644 --- a/beike/Shop/Http/Controllers/CartController.php +++ b/beike/Shop/Http/Controllers/CartController.php @@ -38,13 +38,41 @@ class CartController extends Controller return json_success(trans('common.updated_success'), $data); } + /** - * PUT /carts/{cart_id} {quantity: 123} - * @param Request $request + * POST /carts {sku_id:1, quantity: 2} + * 创建购物车 + * + * @param CartRequest $request + * @return mixed + * @throws \Exception + */ + public function store(CartRequest $request) + { + $skuId = $request->sku_id; + $quantity = $request->quantity ?? 1; + $buyNow = (bool)$request->buy_now ?? false; + $customer = current_customer(); + + $sku = ProductSku::query() + ->whereRelation('product', 'active', '=', true) + ->findOrFail($skuId); + + $cart = CartService::add($sku, $quantity, $customer); + if ($buyNow) { + CartService::select($customer, [$cart->id]); + } + return json_success(trans('shop/carts.added_to_cart'), $cart); + } + + + /** + * PUT /carts/{cart_id} {sku_id:1, quantity: 2} + * @param CartRequest $request * @param $cartId * @return array */ - public function update(Request $request, $cartId): array + public function update(CartRequest $request, $cartId): array { $customer = current_customer(); $quantity = (int)$request->get('quantity'); @@ -80,30 +108,4 @@ class CartController extends Controller $data = CartService::reloadData(); return view('cart/mini', $data); } - - - /** - * 创建购物车 - * - * @param CartRequest $request - * @return mixed - * @throws \Exception - */ - public function store(CartRequest $request) - { - $skuId = $request->sku_id; - $quantity = $request->quantity ?? 1; - $buyNow = (bool)$request->buy_now ?? false; - $customer = current_customer(); - - $sku = ProductSku::query() - ->whereRelation('product', 'active', '=', true) - ->findOrFail($skuId); - - $cart = CartService::add($sku, $quantity, $customer); - if ($buyNow) { - CartService::select($customer, [$cart->id]); - } - return json_success(trans('shop/carts.added_to_cart'), $cart); - } } diff --git a/beike/Shop/Http/Requests/CartRequest.php b/beike/Shop/Http/Requests/CartRequest.php index 262c459f..c8d5fc23 100644 --- a/beike/Shop/Http/Requests/CartRequest.php +++ b/beike/Shop/Http/Requests/CartRequest.php @@ -13,7 +13,6 @@ namespace Beike\Shop\Http\Requests; use Beike\Models\ProductSku; use Illuminate\Foundation\Http\FormRequest; -use Illuminate\Validation\Rule; class CartRequest extends FormRequest { diff --git a/resources/lang/en/cart.php b/resources/lang/en/cart.php index c63f0e90..c8e7d373 100644 --- a/resources/lang/en/cart.php +++ b/resources/lang/en/cart.php @@ -10,5 +10,7 @@ */ return [ + 'sku_id' => 'SKU ID', + 'quantity' => 'Quantity', 'stock_out' => 'Stock Out', ]; diff --git a/resources/lang/zh_cn/cart.php b/resources/lang/zh_cn/cart.php index 7441096c..4e7d9869 100644 --- a/resources/lang/zh_cn/cart.php +++ b/resources/lang/zh_cn/cart.php @@ -10,5 +10,7 @@ */ return [ + 'sku_id' => 'SKU ID', + 'quantity' => '购买数量', 'stock_out' => '库存不足', ];