certificate = $certificate; } /** * Execute the job. * * @return void */ public function handle() { //Patient $email = new CertificateApprovedForPatientMail($this->certificate); Mail::to($this->certificate->email)->queue($email); //Hospital Admin $email = new CertificateApprovedForHospitalMail($this->certificate); Mail::to($this->certificate?->hospital?->email)->queue($email); //Push Notification to user on comment $tokens = UserDeviceToken::where('user_id', $this->certificate->user_id)->get()->toArray(); $pushData = []; $users = []; if($tokens && $tokens > 0) { foreach ($tokens as $token) { $pushData['userToken'] = $token['token'] ?? []; $pushData['title'] = "JHC Letter Status"; $pushData['body'] = "JHC letter is approved. wishing you a speedy recovery."; $extraData = []; $extraData['type'] = "JHCStatus"; $extraData['os'] = $token['os'] ? getPlatform($token['os']) : []; $pushData['extraData'] = $extraData ?? []; $this->pushNotification($pushData, $extraData); } } //Store Notification $notificationData = []; $notificationData['body'] = "JHC letter is approved. wishing you a speedy recovery."; $notificationData['type'] = "JHCStatus"; $notificationData['title'] = "JHC Letter Status"; $extraNotificationData = []; $notificationData['user_id'] = $this->certificate->user_id ?? ''; $extraNotificationData['notification_type'] = Constant::STATUS_ONE; $notificationData['extraNotificationData'] = $extraNotificationData ?? []; if (!in_array($this->certificate->user_id, $users)) { $users[$this->certificate->user_id] = $this->certificate->user_id; $this->storeNotification($notificationData); //Unread count increment unreadNotificationCounter($this->certificate->user_id); } } }