diff --git a/app/Events/BusinessOrdersUpdate.php b/app/Events/BusinessOrdersUpdate.php index 816b3c2..3e595e9 100644 --- a/app/Events/BusinessOrdersUpdate.php +++ b/app/Events/BusinessOrdersUpdate.php @@ -2,7 +2,6 @@ namespace App\Events; -use App\Models\BusinessOrderItem; use App\Models\GoodsSku; use Illuminate\Broadcasting\Channel; use Illuminate\Broadcasting\InteractsWithSockets; @@ -18,7 +17,7 @@ class BusinessOrdersUpdate use Dispatchable, InteractsWithSockets, SerializesModels; public $num; - public $businessOrderItem; + public $businessGoods; public $goodsSku; /** @@ -26,9 +25,9 @@ class BusinessOrdersUpdate * * @return void */ - public function __construct(BusinessOrderItem $item, $num) + public function __construct($item, $num) { - $this->businessOrderItem = $item->toArray(); + $this->businessGoods = $item->toArray(); $this->num = $num; $this->updateStock(); } @@ -36,7 +35,7 @@ class BusinessOrdersUpdate private function updateStock() { try { - [$goodsCode, $skuCode] = explode('_', $this->businessOrderItem['external_sku_id']); + [$goodsCode, $skuCode] = explode('_', $this->businessGoods['external_sku_id']); $this->goodsSku = GoodsSku::query()->where('sku_code', $skuCode) ->whereHas('goods', function ($query) use ($goodsCode) { $query->where('goods_code', $goodsCode); diff --git a/app/Events/StockUpdateEvent.php b/app/Events/StockUpdateEvent.php index 0e5f8d8..4caca63 100644 --- a/app/Events/StockUpdateEvent.php +++ b/app/Events/StockUpdateEvent.php @@ -22,13 +22,17 @@ class StockUpdateEvent /** * Create a new event instance. * + * @param $data array|object + * * @return void */ public function __construct($data) { if (is_array($data)) { + // ids集合 $this->goodsSkus = GoodsSku::query()->whereIn('id', $data)->with(['goods:id,goods_code'])->get(); } else { + // GoodsSku Elo模型对象 $this->goodsSku = $data; } } diff --git a/app/Jobs/BusinessGoodsSkuIncrQuantity.php b/app/Jobs/BusinessGoodsSkuIncrQuantity.php index 79f52b1..2cef28c 100644 --- a/app/Jobs/BusinessGoodsSkuIncrQuantity.php +++ b/app/Jobs/BusinessGoodsSkuIncrQuantity.php @@ -14,7 +14,7 @@ class BusinessGoodsSkuIncrQuantity implements ShouldQueue use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public $shop; - public $businessOrderItem; + public $businessGoods; public $num; public $isIncremental = true; @@ -23,10 +23,10 @@ class BusinessGoodsSkuIncrQuantity implements ShouldQueue * * @return void */ - public function __construct($shop, $businessOrderItem, $num, $isIncremental) + public function __construct($shop, $businessGoods, $num, $isIncremental) { $this->shop = $shop; - $this->businessOrderItem = $businessOrderItem; + $this->businessGoods = $businessGoods; $this->num = $num; $this->isIncremental = $isIncremental; } @@ -38,8 +38,8 @@ class BusinessGoodsSkuIncrQuantity implements ShouldQueue */ public function handle() { - if ($this->businessOrderItem) { - BusinessFactory::init()->make($this->shop['plat_id'])->setShopWithId($this->shop['id'])->incrQuantity($this->businessOrderItem, $this->num, $this->isIncremental); + if ($this->businessGoods) { + BusinessFactory::init()->make($this->shop['plat_id'])->setShopWithId($this->shop['id'])->incrQuantity($this->businessGoods, $this->num, $this->isIncremental); } } } diff --git a/app/Listeners/UpdateBusinessGoodsStock.php b/app/Listeners/UpdateBusinessGoodsStock.php index 91dc0d0..b89e99b 100644 --- a/app/Listeners/UpdateBusinessGoodsStock.php +++ b/app/Listeners/UpdateBusinessGoodsStock.php @@ -41,7 +41,7 @@ class UpdateBusinessGoodsStock implements ShouldQueue $log->target_id = $event->goodsSku->id ?? 0; $log->target_field = 'stock'; $log->user_id = 999; - $log->message = '未找到' . json_encode($event->businessOrderItem, 256); + $log->message = '未找到' . json_encode($event->businessGoods, 256); $log->save(); return; @@ -57,7 +57,7 @@ class UpdateBusinessGoodsStock implements ShouldQueue foreach ($shops as $shop) { $num = $event->goodsSku->stock; - $businessGoodsSkus = BusinessGoodsSku::query()->where('shop_id', $shop->id)->where('external_sku_id', $event->businessOrderItem['external_sku_id'])->get(); + $businessGoodsSkus = BusinessGoodsSku::query()->where('shop_id', $shop->id)->where('external_sku_id', $event->businessGoods['external_sku_id'])->get(); foreach ($businessGoodsSkus as $businessGoodsSku) { BusinessGoodsSkuIncrQuantity::dispatch($shop, $businessGoodsSku->toArray(), $num, false); }