dataLists(new CartList()); } /** * @notes 添加购物车 */ public function create() { $params = (new CartValidate())->post()->goCheck('add'); $params['uid'] = $this->request->userId; $result = Cart::where(['uid' => $params['uid'], 'store_id' => $params['store_id'], 'product_id' => $params['product_id'], 'is_fail' => 0, 'is_pay' => 0, 'delete_time' => null])->find(); $params['cart_num']=bcadd($params['cart_num'],0,2); //判断起批发价 $branchProduct = StoreProduct::where( [ 'id' => $params['product_id'], ] )->find(); if (!$branchProduct) { return $this->fail('商品不存在'); } if ($params['cart_num'] < $branchProduct['batch']) { return $this->fail('起批发量低于最低值' . $branchProduct['batch']); } if (convertNumber($params['cart_num']) === false) { $is_bulk = StoreProductUnit::where('id', $branchProduct['unit'])->value('is_bulk'); if ($is_bulk == 0) { return $this->fail('非计量商品,不能有小数,请编辑购物车'); } } //数量下单判断 $count = Cart::where(['uid' => $params['uid'], 'delete_time' => null, 'is_pay' => 0])->count(); if ($count > 100) { return $this->fail('购物车商品不能大于100个,请先结算'); } //数量下单判断 // $stock = StoreBranchProduct::where( // ['product_id'=>$params['product_id'], // 'store_id'=>$params['store_id'] // ])->value('stock')??0; // if ($params['cart_num'] >$stock) { // return $this->fail('库存数量不足'); // } if ($result) { if (isset($params['type']) && $params['type'] == 1) { $res = CartLogic::add($params); } else { $res = CartLogic::edit($params); } } else { $res = CartLogic::add($params); } if ($res) { return $this->success('添加成功'); } else { return $this->fail(CartLogic::getError()); } } /** * @notes 修改购物车 */ public function change() { $params = (new CartValidate())->post()->goCheck('change'); $params['uid'] = $this->request->userId; $params['cart_num']=bcadd($params['cart_num'],0,2); if (convertNumber($params['cart_num']) === false) { $branchProduct = StoreProduct::where( [ 'id' => $params['product_id'], ] )->find(); $is_bulk = StoreProductUnit::where('id', $branchProduct['unit'])->value('is_bulk'); if ($is_bulk == 0) { return $this->fail('非计量商品,不能有小数,请编辑购物车'); } } $res = CartLogic::edit($params, 'dec'); if ($res) { return $this->success('修改成功'); } else { return $this->fail('修改失败'); } } /** * @notes 删除购物车 */ public function delete() { $params = (new CartValidate())->post()->goCheck('delete'); $params['uid'] = $this->request->userId; $res = CartLogic::delete($params); if ($res) { return $this->success('删除成功'); } else { return $this->fail('删除失败'); } } }