diff --git a/app/Http/Controllers/Goods/GoodsSkusController.php b/app/Http/Controllers/Goods/GoodsSkusController.php index b70843d..30fb032 100644 --- a/app/Http/Controllers/Goods/GoodsSkusController.php +++ b/app/Http/Controllers/Goods/GoodsSkusController.php @@ -302,8 +302,7 @@ class GoodsSkusController extends Controller $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { $this->setValidatorFailResponse($validator->getMessageBag()->getMessages()); - - return response($this->res, $this->res['httpCode']); + goto end; } $updateField = \request('updateField'); $sku = GoodsSku::query()->find($id); @@ -322,12 +321,17 @@ class GoodsSkusController extends Controller $this->setBeforeUpdate($sku->$updateField); if ('reserve' === $updateField) { $changeNum = $sku->reserve - $request->reserve; + if (0 > $changeNum + $sku->stock) { + $this->setValidatorFailResponse('预留量超过库存数量'); + goto end; + } $sku->stock += $changeNum; } $sku->$updateField = $request->$updateField; $sku->save(); $this->setAfterUpdate($sku->$updateField); $this->addLog($id, $updateField); + end: return response($this->res, $this->res['httpCode']); }