diff --git a/app/Listeners/CombinationGoodsStockUpdateListener.php b/app/Listeners/CombinationGoodsStockUpdateListener.php index 84145c8..63cc708 100644 --- a/app/Listeners/CombinationGoodsStockUpdateListener.php +++ b/app/Listeners/CombinationGoodsStockUpdateListener.php @@ -62,12 +62,13 @@ class CombinationGoodsStockUpdateListener implements ShouldQueue ->with('goodsSku:id,stock') ->whereIn('goods_sku_id', $combinationGoodsIds) ->get(); + $num = !empty($event->num) ? $event->num : 1; foreach ($combinationGoods as $item) { - DB::transaction(function () use ($item, &$updateIds) { + DB::transaction(function () use ($item, &$updateIds, $num) { $goodsSku = GoodsSku::query()->lockForUpdate()->find($item['item_id']); - $stock = $goodsSku->stock - $item['item_num']; + $stock = $goodsSku->stock - $item['item_num'] * $num; //新增逻辑 在线库存同步扣减 - $saleStock = max($goodsSku->sale_stock - $item['item_num'], 0); + $saleStock = max($goodsSku->sale_stock - $item['item_num'] * $num, 0); [$status, $stock] = $this->checkStatusAndStock($goodsSku, $stock, $saleStock); $goodsSku->status = $status; $goodsSku->stock = $stock;