Я пытаюсь отправить уведомление через 30 минут в клиентское приложение после того, как он нажмет на подтверждение доставки. Я создал прослушиватель событий для отправки этого уведомления, но как я могу заставить слушателя прослушивать событие и отправлять это уведомление через 30 минут?
Это моя функция подтверждения доставки в APIController:
public function confirm_delivery(Request $request)
{
$id = (int)$request->order_id;
$order = Order::find($id);
Order::where('user_id', $user->id)->find($id)->update(['stage' => 9]);
$type = 'CUSTOMER_';
$uuid = $user->uniqid;
$order_id =$id;
$order_no =$order->order_no;
//Todo::Event to send notfifiction for user to rate place after 30 mins
event(new CustomerRatePlaceEvent($type,$uuid,$order_id,$order_no));
return ResponseHelper::customizedResponse(true, 1, 'Order delivered to customer.');
}
_Construct в CustomerRatePlaceEvent:
public $type;
public $uuid;
public $order_id;
public $order_no;
public function __construct($type,$uuid,$order_id,$order_no)
{
$this->type = $type;
$this->uuid = $uuid;
$this->order_id = $order_id;
$this->order_no = $order_no;
}
EventServiceProvider:
CustomerRatePlaceEvent::class => [
CustomerRatePlaceListener::class,
],
CustomerRatePlaceListener:
public function handle($event)
{
NotificationHelper::ٌratePlaceNotification($event->type,$event->uuid,$event->order_id,$event->order_no);
}
(код уведомления находится внутри вспомогательной функции и все работает нормально: NotificationHelper :: ٌ ratePlaceNotification)