osb/app/Console/Commands/BroadbandTraffic.php

57 lines
1.1 KiB
PHP
Raw Permalink Normal View History

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use App\Jobs\BroadbandTraffic as Job;
2022-04-20 06:24:58 +00:00
use App\Models\Supplier;
class BroadbandTraffic extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
2022-04-20 06:24:58 +00:00
protected $signature = 'broadband:traffic:import'.
' {supplier? : Supplier Name}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Import Broadband Traffic from Suppliers';
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if ($this->argument('supplier')) {
try {
$o = Supplier::active()
->where('name','ilike',$this->argument('supplier'))
->sole();
2022-04-20 06:24:58 +00:00
} catch (ModelNotFoundException $e) {
$this->error(sprintf('Supplier [%s] not found',$this->argument('supplier')));
return self::FAILURE;
}
Job::dispatchSync($o->name);
return self::SUCCESS;
2022-04-20 06:24:58 +00:00
}
foreach (Supplier::active()->get() as $o)
Job::dispatchSync($o->name);
return self::SUCCESS;
}
}