Edit File: DelegateMakeOfferNotify.php
<?php namespace App\Jobs; use App\Traits\Firebase; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use App\Notifications\NotifyUser as Notify ; class DelegateMakeOfferNotify implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Firebase; /** * Create a new job instance. * * @return void */ protected $user, $data, $order; public function __construct($user, $order) { $delegate = auth('api')->user(); $order = $order; $this->data = [ 'sender' => $delegate->id, 'sender_name' => $delegate->name, 'sender_avatar' => $delegate->AvatarPath, 'title_ar' => 'بتقديم عرض على طلبك' .$delegate->name . 'قام', 'title_en' => $delegate->name . 'make an offer in your order', 'message_ar' => 'بتقديم عرض على طلبك' .$delegate->name . 'قام', 'message_en' => $delegate->name . 'make an offer in your order', 'type' => 'delegate_made_offer', 'order_id' => $order->id, 'order_type' => $order->type, 'order_status' => $order->statusForUser(), ]; $this->user = $user; } /** * Execute the job. * * @return void */ public function handle() { $androidTokens = []; $iosTokens = []; $webTokens = []; $user = $this->user; if (isset($user->devices)) { if ($user->devices->count() > 0) { foreach ($user->devices()->where('device_type' , 'ios')->get() as $device) { $iosTokens[] = $device->device_id; } foreach ($user->devices()->where('device_type' , 'android')->get() as $device) { $androidTokens[] = $device->device_id; } foreach ($user->devices()->where('device_type' , 'web')->get() as $device) { if($device->user->new_orders_notify=='true'){ $webTokens[] = $device->device_id; } } $user->notify(new Notify($this->data)); $this->sendNotification($iosTokens, $androidTokens ,$webTokens, $this->data); } } } }
Back to File Manager