shjMailSendService = $shjMailSendService; } /** * コンソールコマンドを実行 * * SHJ-7 メール送信処理フロー: * 【処理1】入力パラメーターをチェックする * 【判断1】チェック結果 * 【処理2】メール送信テンプレート情報を取得する * 【判断2】取得結果 * 【処理3】メールを送信する * 【処理4】処理結果を返却する * * @return int */ public function handle() { try { // 開始ログ出力 $startTime = now(); $this->info('SHJ-7 メール送信処理を開始します。'); Log::info('SHJ-7 メール送信処理開始', [ 'start_time' => $startTime, 'mail_address' => $this->argument('mail_address'), 'backup_mail_address' => $this->argument('backup_mail_address'), 'mail_template_id' => $this->argument('mail_template_id') ]); // 引数取得 $mailAddress = $this->argument('mail_address'); $backupMailAddress = $this->argument('backup_mail_address'); $mailTemplateId = $this->argument('mail_template_id'); // SHJ-7 メール送信処理実行 $result = $this->shjMailSendService->executeMailSend($mailAddress, $backupMailAddress, $mailTemplateId); // 【処理4】処理結果を返却する if ($result['result'] === 0) { $endTime = now(); $this->info('SHJ-7 メール送信処理が正常に完了しました。'); $this->info("処理時間: {$startTime->diffInSeconds($endTime)}秒"); Log::info('SHJ-7 メール送信処理完了', [ 'end_time' => $endTime, 'duration_seconds' => $startTime->diffInSeconds($endTime), 'result' => $result['result'], 'error_info' => $result['error_info'] ]); return self::SUCCESS; } else { $this->error('SHJ-7 メール送信処理でエラーが発生しました: ' . $result['error_info']); Log::error('SHJ-7 メール送信処理エラー', [ 'result' => $result['result'], 'error_info' => $result['error_info'] ]); return self::FAILURE; } } catch (\Exception $e) { $this->error('SHJ-7 メール送信処理で予期しないエラーが発生しました: ' . $e->getMessage()); Log::error('SHJ-7 メール送信処理例外エラー', [ 'exception' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); return self::FAILURE; } } }