fixed cart

This commit is contained in:
Edward Yang 2022-08-26 15:35:31 +08:00
parent b8dd4f3fb3
commit 2e6fa3479f
4 changed files with 35 additions and 30 deletions

View File

@ -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);
}
}

View File

@ -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
{

View File

@ -10,5 +10,7 @@
*/
return [
'sku_id' => 'SKU ID',
'quantity' => 'Quantity',
'stock_out' => 'Stock Out',
];

View File

@ -10,5 +10,7 @@
*/
return [
'sku_id' => 'SKU ID',
'quantity' => '购买数量',
'stock_out' => '库存不足',
];