| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/app/Jobs/ |
Upload File : |
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Http\Services\NotificationService;
use App\Models\UserBoxInventory;
use Carbon\Carbon;
use DB;
class ExtensionReminder implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $boxInventory_id;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($boxInventory_id)
{
$this->boxInventory_id = $boxInventory_id;
}
/**
* Execute the job.
*
* @return void
*/
public function handle(NotificationService $notificationService)
{
DB::transaction(function () use ($notificationService)
{
$boxInventory = UserBoxInventory::where('id',$this->boxInventory_id)
->whereNull("collected_at")
->first();
if($boxInventory)
{
if($boxInventory->dirty_at != null){
return $notificationService->createUserNotification([
'type_id' => 0,
'title' => "🚨 Reminder",
'content' => "Your booking is about to expire in 15 minutes. Once expired, your account will turn in auto credit mode.
To prevent this from happening, please collect your item before your booking expire or request extension of usage.",
'user_id' => [
$boxInventory->collector->id,
$boxInventory->user_id,
],
'on_tap' => $boxInventory->id,
], $shouldNotifyUser = true);
}
}
});
}
}