Files
shipping-portal/app/Classes/Jobs/ListPackingListsJob.php
T
2024-07-01 13:14:41 +08:00

46 lines
1.3 KiB
PHP

<?php
namespace App\Classes\Jobs;
use App\Classes\Modules\PackingLists\Processors\ListPackingListsJobProcessor;
use App\Classes\Modules\Jobs\DataTransferObjects\JobSubmissionObject;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class ListPackingListsJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $timeout = 900;
/** @var JobSubmissionObject */
private $jobSubmissionObject;
/**
* ListPackingListsJob constructor.
* @param JobSubmissionObject $JobSubmissionObject
*/
public function __construct(JobSubmissionObject $jobSubmissionObject)
{
$this->jobSubmissionObject = $jobSubmissionObject;
}
public function handle()
{
$rawPayload = $this->job->payload();
if(isset($rawPayload['data']['commandName'])){
$this->jobSubmissionObject->setJobCommandName($rawPayload['data']['commandName']);
}
if(isset($rawPayload['data']['command'])){
$this->jobSubmissionObject->setJobCommand($rawPayload['data']['command']);
}
$result = (App()->make(ListPackingListsJobProcessor::class))->execute($this->jobSubmissionObject);
}
}