diff --git a/app/Events/BusinessOrdersUpdate.php b/app/Events/BusinessOrdersUpdate.php index 7413c2d..cf2aac2 100644 --- a/app/Events/BusinessOrdersUpdate.php +++ b/app/Events/BusinessOrdersUpdate.php @@ -72,7 +72,7 @@ class BusinessOrdersUpdate $updateParam['status'] = GoodsSku::$STATUS_ON_SALE; } - Log::info("sku 业务订单库存更新", $updateParam); + Log::info("sku 业务订单库存更:{$this->goodsSku->id}", $updateParam); //乐观锁更新 return GoodsSku::query()->where('external_sku_id', $this->businessGoodSku['external_sku_id'])-> where("stock", "=", $oldStock)->update($updateParam); diff --git a/app/Listeners/CombinationGoodsStockUpdateListener.php b/app/Listeners/CombinationGoodsStockUpdateListener.php index 13b94aa..a349a6a 100644 --- a/app/Listeners/CombinationGoodsStockUpdateListener.php +++ b/app/Listeners/CombinationGoodsStockUpdateListener.php @@ -62,13 +62,13 @@ class CombinationGoodsStockUpdateListener implements ShouldQueue ->with('goodsSku:id,stock') ->whereIn('goods_sku_id', $combinationGoodsIds) ->get(); - $num = !empty($event->num) ? $event->num : 1; + $num = !empty($event->num) ? $event->num : -1; foreach ($combinationGoods as $item) { DB::transaction(function () use ($item, &$updateIds, $num) { $goodsSku = GoodsSku::query()->lockForUpdate()->find($item['item_id']); - $stock = $goodsSku->stock - $item['item_num'] * $num; + $stock = $goodsSku->stock + $item['item_num'] * $num; //新增逻辑 在线库存同步扣减 - $saleStock = max($goodsSku->sale_stock - $item['item_num'] * $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;