erp/app/Listeners/StockWarning.php
2022-08-20 13:42:22 +08:00

41 lines
925 B
PHP

<?php
namespace App\Listeners;
use App\Models\GoodsSku;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
class StockWarning implements ShouldQueue
{
use InteractsWithQueue;
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
public function handle($event)
{
if (isset($event->goodsSku->stock) && 5 >= $event->goodsSku->stock) {
// 修改状态为预警,发送通知给管理员
$event->goodsSku->status = 2;
$event->goodsSku->save();
}
if (isset($event->goodsSkus)) {
$ids = [];
foreach ($event->goodsSkus as $goodsSku) {
$ids[] = $goodsSku['id'];
}
if ($ids) {
GoodsSku::whereIn('id', $ids)->update(['status' => 2]);
}
}
}
}