diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index aa33db24..b449c03d 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -858,14 +858,18 @@ class OrderService $products = $order->products()->get(); - foreach ($products->load('sku') as $product) { + foreach ($products->load(['sku', 'spu']) as $product) { if ($product->sku === null) { continue; } // 如果商品不是赠品,则直接增加商品库存 if (! $product->isGift()) { - $product->sku->increment('stock', $product->quantity); + $product->spu?->increment('sales', -$product->quantity); + $product->sku?->update([ + 'stock' => DB::Raw("stock + {$product->quantity}"), + 'sales' => DB::Raw("sales - {$product->quantity}"), + ]); continue; }