File: /var/www/html/punjabcabs/Original_Backup/app/Console/Commands/ExpiryCommand.php
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use DB;
use App\Http\Controllers\SendPushNotification;
use Carbon\Carbon;
use Log;
use Mail;
use Setting;
use App\ProviderService;
use App\Provider;
use App\Admin;
class ExpiryCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'update:expiry';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Check Driver License and Insurance Expiration date';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$providerservices = ProviderService::all();
foreach ($providerservices as $key => $providerservice) {
$now = Carbon::today();
if($providerservice->license_status ==0){
$sub_days = Carbon::parse($providerservice->license_expire)->subDays(14);
if($now >= $sub_days){
$providerservices[$key]->license_status =1;
$providerservices[$key]->save();
$admin = Admin::first();
$provider = Provider::where('id','=',$providerservice->provider_id)->first();
if(Setting::get('mail_enable', 0) == 1 && $provider !=null) {
$data = array(
'document_name'=>'License Certificate',
'expire_date'=>$providerservice->license_expire,
'driver_name'=>$provider->first_name.' '.$provider->last_name,
'driver_email'=>$provider->email,
'service_number'=>$providerservice->service_number,
'admin_email'=>$admin->email,
'admin_name'=>$admin->name,
);
Mail::send('emails.expiry', ['data' => $data], function ($message) use ($data){
$message->to($data['admin_email'], $data['admin_name'])->subject(config('app.name').' License Expiration');
});
}
}
}
if($providerservice->insurance_status ==0){
$sub_days = Carbon::parse($providerservice->insurance_expire)->subDays(14);
if($now >= $sub_days){
$providerservices[$key]->insurance_status =1;
$providerservices[$key]->save();
$admin = Admin::first();
$provider = Provider::where('id','=',$providerservice->provider_id)->first();
if(Setting::get('mail_enable', 0) == 1 && $provider !=null) {
$data = array(
'document_name'=>'Insurance Certificate',
'expire_date'=>$providerservice->insurance_expire,
'driver_name'=>$provider->first_name.' '.$provider->last_name,
'driver_email'=>$provider->email,
'service_number'=>$providerservice->service_number,
'admin_email'=>$admin->email,
'admin_name'=>$admin->name,
);
Mail::send('emails.expiry', ['data' => $data], function ($message) use ($data){
$message->to($data['admin_email'], $data['admin_name'])->subject(config('app.name').' Insurance Expiration');
});
}
}
}
if($providerservice->certificate_status ==0){
$sub_days = Carbon::parse($providerservice->certificate_expire)->subDays(14);
if($now >= $sub_days){
$providerservices[$key]->certificate_status =1;
$providerservices[$key]->save();
$admin = Admin::first();
$provider = Provider::where('id','=',$providerservice->provider_id)->first();
if(Setting::get('mail_enable', 0) == 1 && $provider !=null) {
$data = array(
'document_name'=>'Insurance Certificate',
'expire_date'=>$providerservice->certificate_expire,
'driver_name'=>$provider->first_name.' '.$provider->last_name,
'driver_email'=>$provider->email,
'service_number'=>$providerservice->service_number,
'admin_email'=>$admin->email,
'admin_name'=>$admin->name,
);
Mail::send('emails.expiry', ['data' => $data], function ($message) use ($data){
$message->to($data['admin_email'], $data['admin_name'])->subject(config('app.name').' Insurance Expiration');
});
}
}
}
if($providerservice->license_status ==1){
$expiry_date = Carbon::parse($providerservice->license_expire);
if($now > $expiry_date){
$providerservices[$key]->license_status =2;
$providerservices[$key]->save();
Provider::where('id',$providerservice->provider_id)->update(['status' => 'banned']);
}
}
if($providerservice->insurance_status ==1){
$expiry_date = Carbon::parse($providerservice->insurance_expire);
if($now > $expiry_date){
$providerservices[$key]->insurance_status =2;
$providerservices[$key]->save();
Provider::where('id',$providerservice->provider_id)->update(['status' => 'banned']);
}
}
if($providerservice->certificate_status ==1){
$expiry_date = Carbon::parse($providerservice->certificate_expire);
if($now > $expiry_date){
$providerservices[$key]->certificate_status =2;
$providerservices[$key]->save();
Provider::where('id',$providerservice->provider_id)->update(['status' => 'banned']);
}
}
}
}
}