feat: #10000 预留量修改增加校验

This commit is contained in:
赵世界 2022-08-12 17:45:33 +08:00
parent f497b36199
commit 0d7a59217c

View File

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