diff --git a/app/Console/Commands/ShjMailSendCommand.php b/app/Console/Commands/ShjMailSendCommand.php deleted file mode 100644 index d021c10..0000000 --- a/app/Console/Commands/ShjMailSendCommand.php +++ /dev/null @@ -1,177 +0,0 @@ -shjMailSendService = $shjMailSendService; - } - - /** - * コンソールコマンドを実行 - * - * 処理フロー: - * 1. 入力パラメーターをチェックする - * 2. メール送信テンプレート情報を取得する - * 3. メールを送信する - * 4. 処理結果を返却する - * - * @return int - */ - public function handle() - { - try { - // 開始ログ出力 - $startTime = now(); - $this->info('SHJ メール送信処理を開始します。'); - Log::info('SHJ メール送信処理開始', [ - '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'); - - // 【処理1】パラメータ検証 - if (!$this->validateParameters($mailAddress, $backupMailAddress, $mailTemplateId)) { - $this->error('パラメータが不正です。'); - return self::FAILURE; - } - - // SHJメール送信処理実行 - $result = $this->shjMailSendService->executeMailSend($mailAddress, $backupMailAddress, $mailTemplateId); - - // 処理結果確認 - if ($result['success']) { - $endTime = now(); - $this->info('SHJ メール送信処理が正常に完了しました。'); - $this->info("処理時間: {$startTime->diffInSeconds($endTime)}秒"); - - Log::info('SHJ メール送信処理完了', [ - 'end_time' => $endTime, - 'duration_seconds' => $startTime->diffInSeconds($endTime), - 'result' => $result - ]); - - return self::SUCCESS; - } else { - $this->error('SHJ メール送信処理でエラーが発生しました: ' . $result['message']); - Log::error('SHJ メール送信処理エラー', [ - 'error' => $result['message'], - 'details' => $result['details'] ?? null - ]); - - return self::FAILURE; - } - - } catch (\Exception $e) { - $this->error('SHJ メール送信処理で予期しないエラーが発生しました: ' . $e->getMessage()); - Log::error('SHJ メール送信処理例外エラー', [ - 'exception' => $e->getMessage(), - 'trace' => $e->getTraceAsString() - ]); - - return self::FAILURE; - } - } - - /** - * 【処理1】パラメータの妥当性を検証 - * - * 仕様書に基づく検証内容: - * - メールアドレス: 「メールアドレス」「予備メールアドレス」いずれか必須 - * - メールテンプレートID: 必須 - * - * @param mixed $mailAddress メールアドレス - * @param mixed $backupMailAddress 予備メールアドレス - * @param mixed $mailTemplateId メールテンプレートID - * @return bool 検証結果 - */ - private function validateParameters($mailAddress, $backupMailAddress, $mailTemplateId): bool - { - // メールテンプレートIDチェック - if (empty($mailTemplateId)) { - $this->error('メールテンプレートIDは必須です。'); - return false; - } - - // 数値形式チェック(メールテンプレートID) - if (!is_numeric($mailTemplateId)) { - $this->error('メールテンプレートIDは数値である必要があります。'); - return false; - } - - // 正の整数チェック(メールテンプレートID) - if ($mailTemplateId <= 0) { - $this->error('メールテンプレートIDは正の整数である必要があります。'); - return false; - } - - // メールアドレスチェック(いずれか必須) - if (empty($mailAddress) && empty($backupMailAddress)) { - $this->error('メールアドレスまたは予備メールアドレスのいずれかは必須です。'); - return false; - } - - // メールアドレス形式チェック - if (!empty($mailAddress) && !filter_var($mailAddress, FILTER_VALIDATE_EMAIL)) { - $this->error('メールアドレスの形式が正しくありません。'); - return false; - } - - if (!empty($backupMailAddress) && !filter_var($backupMailAddress, FILTER_VALIDATE_EMAIL)) { - $this->error('予備メールアドレスの形式が正しくありません。'); - return false; - } - - return true; - } -} \ No newline at end of file