request -> param(); try { validate(CreateCart::class)->check($data); }catch (ValidateException $exception){ return app('json') -> fail($exception->getError()); } $cartRepository = new CartRepository(); //商品检测 $product = $cartRepository -> checkProduct($data); if(isset($product['bool']) && !$product['bool']) return app('json')->fail($product['message']); //购物车检测 $cart = $cartRepository -> checkCart($this->request->uid(),$data['product_attr_unique']); if(isset($cart['bool']) && !$cart['bool']) return app('json')->fail($cart['message']); //不是立即购买,购物车存在 if (!$data['is_new'] && $cart) { if ($product['sku']['stock'] < ($cart['cart_num'] + $data['cart_num'])) return app('json')->fail('库存不足'); //修改购物车数量 $res = $cartRepository -> updateCart($cart['cart_id'], $cart['cart_num'] + $data['cart_num']); if(isset($res['bool']) && !$res['bool']) return app('json')->fail($res['message']); }else{ if ($product['sku']['stock'] < $data['cart_num']) return app('json')->fail('库存不足'); $data['uid'] = $this->request->uid(); $data['mer_id'] = $product['product']['mer_id']; $cart = $cartRepository->createCart($data); if(isset($cart['bool']) && !$cart['bool']) return app('json')->fail($cart['message']); } return app('json')->success(['cart_id' => $cart['cart_id']]); } public function changeCart(){ $data = $this -> request -> param(); if (empty($data['cart_id'])) return app('json')->fail('cart_id不能为空'); if (empty($data['cart_num'])) return app('json')->fail('数量必须大于0'); $cartRepository = new CartRepository(); $cartInfo = $cartRepository -> getOne($data['cart_id'],$this->request->uid()); if(isset($cartInfo['bool']) && !$cartInfo['bool']) return app('json')->fail($cartInfo['message']); //商品检测 $product = $cartRepository -> checkProduct([ "cart_num" => $data['cart_num'], "product_id" => $cartInfo['product_id'], "product_attr_unique"=>$cartInfo['product_attr_unique'] ]); if(isset($product['bool']) && !$product['bool']) return app('json')->fail($product['message']); //修改购物车数量 $res = $cartRepository -> updateCart($data['cart_id'], $data['cart_num']); if(isset($res['bool']) && !$res['bool']) return app('json')->fail($res['message']); return app('json')->success('修改成功'); } public function cartList(){ $uid = $this -> request -> uid(); $cartRepository = new CartRepository(); $list = $cartRepository -> getListFromUid($uid); return app('json')->success($list); } }