|
- <?php
-
- namespace App\Jobs\SeasonTicketContract\Selection;
-
- use App\Codes\QueueName;
- use App\Jobs\BaseJob;
- use App\Logic\SeasonTicketContractSelectionManager;
- use App\Util\LoggingUtil;
- use Exception;
- use Illuminate\Database\Eloquent\ModelNotFoundException;
-
- class FillCandidates extends BaseJob
- {
-
- /**
- * Create a new job instance.
- *
- * @return void
- */
- public function __construct(
- private int $recordNo
- ) {
- $this->onQueue(QueueName::JOB->value);
- }
-
- protected function handleJob()
- {
- try {
- $manager = new SeasonTicketContractSelectionManager($this->recordNo);
- $manager->makeCandidates()
- ->save();
-
- $selection = $manager->getSelection();
-
- info(sprintf(
- "候補者設定 駐車場:%s 締日:%s 候補者数:%d件",
- $selection->parkingName,
- $selection->selectionFinalDate ? $selection->selectionFinalDate->format('Y/m/d') : "-",
- $selection->candidateList->count(),
- ));
- } catch (ModelNotFoundException $e) {
- LoggingUtil::errorException($e, sprintf("データ存在なし削除 %s", self::class));
- } catch (Exception $e) {
- LoggingUtil::errorException($e, sprintf("ジョブ失敗->削除 %s", self::class));
- }
- }
- }
|