erp/app/Events/StockUpdateEvent.php
2023-04-21 19:43:17 +08:00

53 lines
1.3 KiB
PHP

<?php
namespace App\Events;
use App\Models\GoodsSku;
use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class StockUpdateEvent
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $goodsSku;
public $goodsSkus;
public $isBatch;
public $combinationGoodsUpdate;
/**
* Create a new event instance.
*
* @param $data array|object
*
* @return void
*/
public function __construct($data, $isBatch = 0, $combinationGoodsUpdate = false)
{
$this->isBatch = $isBatch;
$this->combinationGoodsUpdate = $combinationGoodsUpdate;
if (is_array($data)) {
// ids集合
$this->goodsSkus = GoodsSku::query()->whereIn('id', $data)->get();
} else {
// GoodsSku Elo模型对象
$this->goodsSku = $data;
}
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('channel-name');
}
}