瀏覽代碼

受付メール変更対応

master
sosuke.iwabuchi 1 年之前
父節點
當前提交
1262d18072
共有 7 個文件被更改,包括 211 次插入23 次删除
  1. +2
    -1
      app/Codes/Email.php
  2. +111
    -0
      app/Email/Members/EntryApprovePayToBankCheck.php
  3. +2
    -2
      app/Email/Members/EntryApprovePayToYucho.php
  4. +19
    -2
      app/Http/Controllers/Web/Email/EmailSendController.php
  5. +0
    -18
      app/Kintone/Models/SeasonTicketContractEntry.php
  6. +77
    -0
      resources/views/emails/members/entry_approve_pay_to_bank_check.blade.php
  7. +0
    -0
      resources/views/emails/members/entry_approve_pay_to_yucho.blade.php

+ 2
- 1
app/Codes/Email.php 查看文件

@@ -7,7 +7,8 @@ enum Email: string
case TERMINATE_ORDER_APPROVE = '解約承認';
case VEHICLE_INFO_UPDATE_ORDER_APPROVE = '車両番号・防犯登録番号変更完了';
case USER_INFO_UPDATE_ORDER_APPROVE = '利用者情報変更完了';
case ENTRY_APPROVE = '申込受付';
case ENTRY_APPROVE_BANK_CHECK = '申込受付_バンクチェック';
case ENTRY_APPROVE_YUCHO = '申込受付_ゆうちょ';
case ENTRY_PAYMENT_COMPLETE = '申込承認';
case CHANGE_PLAN_ORDER_APPROVE = 'プラン変更完了';
case COULD_NOT_PEY_NOTICE = '口座振替・未納者通知';


+ 111
- 0
app/Email/Members/EntryApprovePayToBankCheck.php 查看文件

@@ -0,0 +1,111 @@
<?php

namespace App\Email\Members;

use App\Kintone\Models\Parking;
use App\Kintone\Models\PaymentPlan;
use App\Kintone\Models\SeasonTicketContractEntry;
use App\Kintone\Models\SeasonTicketContractPlan;

class EntryApprovePayToBankCheck extends Members
{

private ?PaymentPlan $firstMonthPaymentPlan = null;
private ?PaymentPlan $partitialPaymentPlan = null;
private ?PaymentPlan $depositPaymentPlan = null;

public function __construct(
private Parking $parking,
private SeasonTicketContractEntry $entry,
private SeasonTicketContractPlan $plan,
) {
$this->setEmail($entry->email);
parent::__construct(null);
}

public function getTemplateName(): string
{
return 'emails.members.entry_approve_pay_to_bank_check';
}

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;
}
}

app/Email/Members/EntryApprove.php → app/Email/Members/EntryApprovePayToYucho.php 查看文件

@@ -7,7 +7,7 @@ use App\Kintone\Models\PaymentPlan;
use App\Kintone\Models\SeasonTicketContractEntry;
use App\Kintone\Models\SeasonTicketContractPlan;

class EntryApprove extends Members
class EntryApprovePayToYucho extends Members
{

private ?PaymentPlan $firstMonthPaymentPlan = null;
@@ -25,7 +25,7 @@ class EntryApprove extends Members

public function getTemplateName(): string
{
return 'emails.members.entry_approve';
return 'emails.members.entry_approve_pay_to_yucho';
}

public function getSubject(): string

+ 19
- 2
app/Http/Controllers/Web/Email/EmailSendController.php 查看文件

@@ -7,6 +7,8 @@ use App\Email\BaseEmailer;
use App\Email\Members\ChangePlanOrderApprove;
use App\Email\Members\CouldNotPayNotice;
use App\Email\Members\EntryApprove;
use App\Email\Members\EntryApprovePayToBankCheck;
use App\Email\Members\EntryApprovePayToYucho;
use App\Email\Members\EntryPaymentComplete;
use App\Email\Members\RegisterCreditcard;
use App\Email\Members\TerminateOrderApprove;
@@ -95,11 +97,26 @@ class EmailSendController extends FromKintoneController
$this->setEmail(new UserInfoUpdateOrderApprove($application));
return;
}
if ($emailId === Email::ENTRY_APPROVE) {
if ($emailId === Email::ENTRY_APPROVE_YUCHO) {
$entry = SeasonTicketContractEntry::find($this->param->seasonTicketContractEntryRecordNo);
$parking = $entry->getParking();
$plan = $entry->getPlan();
$email = new EntryApprove($parking, $entry, $plan);
$email = new EntryApprovePayToYucho($parking, $entry, $plan);
$email->setFirstMonthPaymentPlan(PaymentPlan::find($entry->firstMonthPaymentPlanRecordNo));
if ($entry->partitialPaymentPlanRecordNo) {
$email->setPartitialPaymentPlan(PaymentPlan::find($entry->partitialPaymentPlanRecordNo));
}
if ($entry->depositPaymentPlanRecordNo) {
$email->setDepositPaymentPlan(PaymentPlan::find($entry->depositPaymentPlanRecordNo));
}
$this->setEmail($email);
return;
}
if ($emailId === Email::ENTRY_APPROVE_BANK_CHECK) {
$entry = SeasonTicketContractEntry::find($this->param->seasonTicketContractEntryRecordNo);
$parking = $entry->getParking();
$plan = $entry->getPlan();
$email = new EntryApprovePayToBankCheck($parking, $entry, $plan);
$email->setFirstMonthPaymentPlan(PaymentPlan::find($entry->firstMonthPaymentPlanRecordNo));
if ($entry->partitialPaymentPlanRecordNo) {
$email->setPartitialPaymentPlan(PaymentPlan::find($entry->partitialPaymentPlanRecordNo));


+ 0
- 18
app/Kintone/Models/SeasonTicketContractEntry.php 查看文件

@@ -21,12 +21,6 @@ use Illuminate\Support\Carbon;
* @property string planName
* @property ?string seasonTicketPlanName
* @property ?int amount
* @property ?int firstAmount
* @property ?int hiwariMonth
* @property ?int hiwariAmount
* @property ?int targetMonth
* @property ?int targetAmount
* @property ?Carbon paymentLimitDate
* @property ?int firstMonthPaymentPlanRecordNo
* @property ?int partitialPaymentPlanRecordNo
* @property ?int depositPaymentPlanRecordNo
@@ -52,12 +46,6 @@ class SeasonTicketContractEntry extends KintoneModel
const FIELD_PLAN_NAME = "ParkingNaviプラン";
const FIELD_SEASON_TICKET_PLAN_NAME = "定期駐車場プラン";
const FIELD_AMOUNT = "定期駐車料金";
const FIELD_HIWARI_MONTH = "日割り分_月";
const FIELD_HIWARI_AMOUNT = "日割り分_金額";
const FIELD_TARGET_MONTH = "請求対象分_月";
const FIELD_TARGET_AMOUNT = "請求対象分_金額";
const FIELD_FIRST_AMOUNT = "初回振り込み合計額";
const FIELD_PAYMENT_LIMIT_DATE = "振込期日";
const FIELD_FIRST_MONTH_PAYMENT_PLAN_RECORD_NO = "初回入金予定_初月分入金予定";
const FIELD_PARTITIAL_PAYMENT_PLAN_RECORD_NO = "初回入金予定_日割り分入金予定";
const FIELD_DEPOSIT_PAYMENT_PLAN_RECORD_NO = "初回入金予定_保証金入金予定";
@@ -80,12 +68,6 @@ class SeasonTicketContractEntry extends KintoneModel
self::FIELD_PLAN_NAME => FieldType::SINGLE_LINE_TEXT,
self::FIELD_SEASON_TICKET_PLAN_NAME => FieldType::SINGLE_LINE_TEXT,
self::FIELD_AMOUNT => FieldType::NUMBER,
self::FIELD_HIWARI_MONTH => FieldType::NUMBER,
self::FIELD_HIWARI_AMOUNT => FieldType::NUMBER,
self::FIELD_TARGET_MONTH => FieldType::NUMBER,
self::FIELD_TARGET_AMOUNT => FieldType::NUMBER,
self::FIELD_FIRST_AMOUNT => FieldType::NUMBER,
self::FIELD_PAYMENT_LIMIT_DATE => FieldType::DATE,
self::FIELD_FIRST_MONTH_PAYMENT_PLAN_RECORD_NO => FieldType::NUMBER,
self::FIELD_PARTITIAL_PAYMENT_PLAN_RECORD_NO => FieldType::NUMBER,
self::FIELD_DEPOSIT_PAYMENT_PLAN_RECORD_NO => FieldType::NUMBER,


+ 77
- 0
resources/views/emails/members/entry_approve_pay_to_bank_check.blade.php 查看文件

@@ -0,0 +1,77 @@
@extends('emails.layouts.member')

@section('contents')
定期利用取扱事項を同意のうえ、定期利用申込みを頂き誠にありがとうございます。
定期利用について、以下の内容にてお手続きいたしますのでご確認下さい。

-------------------------------------------------------------------------------------
■申込内容■

◆定期利用者
お名前:{{ $customer_name }}
フリガナ:{{ $customer_name_kana }}

◆駐車場
{{ $parking_name }}

◆種別
{{ $type_name }}

◆プラン
{{ $plan_name }}

@if($season_ticket_select)
◆定期券の選択
{{ $season_ticket_select }}

@endif
@if($vehicle_no)
◆利用車両番号
{{ $vehicle_no }}

@endif
◆利用開始日(希望)
{{ $use_start_date }}

◆◆お支払方法及び定期駐車料金
お支払方法:{{ $payment_method }}
駐車料金(月額){{ $amount }}円 {{ $tax_explain }}
@if($payment_explain)
{{ $payment_explain }}
@endif
@if($deposit_explain)
{{ $deposit_explain }}
@endif

お支払い合計金額 {{ $total_payment_amount }}円

銀行:ロボットペイメント
店名:四四八(ヨンヨンハチ)
店番:448 預金種目:普通預金 口座番号:4498331
一般財団法人 京都市都市整備公社
ザイ)キヨウトシトシセイビコウシヤ

*ゆうちょ銀行の口座をお持ちの方はこちら
記号:14420 番号:44983311

■申込者名でお振込ください。(申込者名以外でお振込の場合は事前にご連絡ください。)
■郵送物がある場合、お振込確認後に普通郵便で発送いたします。(休日除き約5営業日の日数を要します。)
■次回以降のお支払いは【口座振替(自動引落)】となります。
お振込確認後、ご登録の携帯番号あてにショートメッセージ(口座登録案内)を送りますので、お早めに振替口座のご登録をお願いします。

◆◆備考
指定期日までに入金確認ができない場合、キャンセルとさせていただきます。(定期更新機お支払い以外)
万が一入金が遅れる又は期日間際の入金、入金後5営業日までに定期利用承認メール・ショートメッセージ(口座振替の場合登録案内)が届かない、
その他、キャンセル含む利用内容変更やご不明な点等がございましたら、下記のお問い合わせフォームまたは連絡先までご連絡ください。
(振込ご入金は順番での確認対応となりますため、お早めのご入金をお願いいたします。)

◆◆解約の申し出◆◆
解約の場合は、必ず解約月の10日までに、下記URL(解約申請フォーム)よりご申請ください。
https://docs.google.com/forms/d/e/1FAIpQLSeFIuzmrhGGj2GjmkK9k7qpsCB46y7dRB0lYeWe09oBkmDepg/viewform
【URLが2行に分かれて表示されている場合は、URL全てをブラウザのアドレスバーに貼付けてお進み下さい。】
※解約日は末日のみとなります。
※解約申請が10日を過ぎると、翌月末でのご解約となります。
※金融機関での振替締日の状況により、口座振替が実施される場合がございます。
(一部駐輪場では取扱いが異なります。詳しくは解約申請フォームをご確認ください。)

@endsection

resources/views/emails/members/entry_approve.blade.php → resources/views/emails/members/entry_approve_pay_to_yucho.blade.php 查看文件


Loading…
取消
儲存