diff --git a/app/Http/Controllers/Goods/GoodsSkusController.php b/app/Http/Controllers/Goods/GoodsSkusController.php index cbe0b21..cb0fecb 100644 --- a/app/Http/Controllers/Goods/GoodsSkusController.php +++ b/app/Http/Controllers/Goods/GoodsSkusController.php @@ -319,23 +319,24 @@ class GoodsSkusController extends Controller $record->save(); $this->setAfterUpdate($record->loss_num); $sku->stock -= $request->loss_num; + $sku->save(); } else { - $sku->$updateField = $request->$updateField; - } - $this->setBeforeUpdate($sku->$updateField); - if ('reserve' === $updateField) { - $changeNum = $sku->reserve - $request->reserve; - if (0 > $changeNum + $sku->stock) { - $this->setValidatorFailResponse('预留量超过库存数量'); - goto end; + $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->stock += $changeNum; + $sku->$updateField = $request->$updateField; + $sku->save(); + $this->setAfterUpdate($sku->$updateField); } - $sku->save(); if (in_array($updateField, ['reserve', 'loss_num'])) { event(new StockUpdateEvent($sku)); } - $this->setAfterUpdate($sku->$updateField); $this->addLog($id, $updateField); end: