getEmail(); // 送信 if ($this->emailManager === null) { throw new LogicException("EmailManager不正"); } $this->emailManager->confirm(); } catch (Exception $e) { LoggingUtil::debugException($e); return $this->failedResponse(); } return $this->successResponse(); } private function getEmail() { $emailId = $this->param->emailId; if ($emailId === Email::TERMINATE_ORDER_APPROVE) { $application = TerminateApplication::findByApplicationNo($this->param->applicationNo); $seasonTicketContract = SeasonTicketContract::find($application->seasonTicketContractRecordNo); $this->setEmail(new TerminateOrderApprove($seasonTicketContract, $application)); return; } if ($emailId === Email::VEHICLE_INFO_UPDATE_ORDER_APPROVE) { $application = VehicleInfoUpdateApplication::findByApplicationNo($this->param->applicationNo); $seasonTicketContract = SeasonTicketContract::find($application->seasonTicketContractRecordNo); $this->setEmail(new VehicleInfoUpdateOrderApprove($seasonTicketContract, $application)); return; } if ($emailId === Email::USER_INFO_UPDATE_ORDER_APPROVE) { $application = UserInfoUpdateApplication::findByApplicationNo($this->param->applicationNo); $seasonTicketContract = SeasonTicketContract::find($application->seasonTicketContractRecordNo); $this->setEmail(new UserInfoUpdateOrderApprove($seasonTicketContract, $application)); return; } if ($emailId === Email::ENTRY_APPROVE) { $entry = SeasonTicketContractEntry::find($this->param->seasonTicketContractEntryRecordNo); $parking = $entry->getParking(); $plan = $entry->getPlan(); $this->setEmail(new EntryApprove($parking, $entry, $plan)); return; } if ($emailId === Email::ENTRY_PAYMENT_COMPLETE) { $entry = SeasonTicketContractEntry::find($this->param->seasonTicketContractEntryRecordNo); $parking = $entry->getParking(); $plan = $entry->getPlan(); $this->setEmail(new EntryPaymentComplete($parking, $entry, $plan)); return; } if ($this->email === null || $this->emailManager === null) { throw new LogicException("setEmail不正"); } } private function setEmail(BaseEmailer $email) { $this->email = $email; $this->emailManager = new EmailManager($email); } }