setEmail($entry->email); parent::__construct(null); } public function getTemplateName(): string { return 'emails.members.entry_approve'; } public function getSubject(): string { return "【利用確認事項】申込受付 月極定期駐車場ナビ"; } /** * 初月分の入金予定をセット * * @param PaymentPlan $plan * @return void */ public function setFirstMonthPaymentPlan(PaymentPlan $plan) { $this->firstMonthPaymentPlan = $plan; } /** * 日割り分の入金予定をセット * * @param PaymentPlan $plan * @return void */ public function setPartitialPaymentPlan(PaymentPlan $plan) { $this->partitialPaymentPlan = $plan; } /** * 保証金の入金予定をセット * * @param PaymentPlan $plan * @return void */ public function setDepositPaymentPlan(PaymentPlan $plan) { $this->depositPaymentPlan = $plan; } public function getMemberParams(): array { $entry = $this->entry; return [ 'customer_name' => $entry->customerName ?? "-", 'customer_name_kana' => $entry->customerNameKana ?? "-", 'parking_name' => $entry->parkingName ?? "-", 'type_name' => $this->plan->vehicleType, 'season_ticket_select' => null, //##TODO 'plan_name' => $entry->planName ?? "-", 'vehicle_no' => $entry->vehicleNo ?? "-", 'use_start_date' => $entry->useStartDate ? $entry->useStartDate->format('Y/m/d') : "-", 'payment_method' => $entry->paymentMethod ?? "-", 'amount' => number_format($entry->amount ?? 0), 'payment_explain' => EntryMessageBuilder::getPaymentExplainStr( $this->firstMonthPaymentPlan, $this->partitialPaymentPlan, $this->depositPaymentPlan, ), 'tax_explain' => EntryMessageBuilder::getTaxExplain($this->plan), 'can_terminate_15' => in_array(Parking::ELEMENT_CAN_TERMINATE_DATE_15, $this->parking->canTerminateDate ?? []), 'can_terminate_end_of_month' => in_array(Parking::ELEMENT_CAN_TERMINATE_DATE_END_OF_MONTH, $this->parking->canTerminateDate ?? []), 'deposit_explain' => EntryMessageBuilder::getDepositExplain( $this->depositPaymentPlan ), 'total_payment_amount' => number_format($this->totalPaymentAmount()), ]; } private function totalPaymentAmount() { $total = 0; if ($this->firstMonthPaymentPlan) { $total += $this->firstMonthPaymentPlan->paymentPlanAmount; } if ($this->partitialPaymentPlan) { $total += $this->partitialPaymentPlan->paymentPlanAmount; } if ($this->depositPaymentPlan) { $total += $this->depositPaymentPlan->paymentPlanAmount; } return $total; } }