Browse Source

車庫証明発行申請 整備

master
sosuke.iwabuchi 2 years ago
parent
commit
7f409bd034
3 changed files with 79 additions and 12 deletions
  1. +32
    -8
      app/Http/Controllers/Web/SeasonTicketContract/ParkingCertificateOrderController.php
  2. +25
    -1
      app/Http/Controllers/Web/SeasonTicketContract/ParkingCertificateOrderParams.php
  3. +22
    -3
      app/Kintone/Models/ParkingCertificateApplication.php

+ 32
- 8
app/Http/Controllers/Web/SeasonTicketContract/ParkingCertificateOrderController.php View File

@@ -2,13 +2,14 @@

namespace App\Http\Controllers\Web\SeasonTicketContract;

use App\Email\Members\ParkingCertificateOrderNotice;
use App\Http\Controllers\Web\WebController;
use App\Kintone\Models\GeneralApplication;
use App\Logic\EmailManager;
use App\Kintone\Models\Customer;
use App\Kintone\Models\Parking;
use App\Kintone\Models\ParkingCertificateApplication;
use App\Kintone\Models\SeasonTicketContract;
use App\Logic\GeneralApplicationManager;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class ParkingCertificateOrderController extends WebController
{
@@ -32,12 +33,35 @@ class ParkingCertificateOrderController extends WebController

protected function run(Request $request): JsonResponse
{
$user = Auth::user();
$param = $this->param;

$mailer = (new ParkingCertificateOrderNotice())
->setUser($user);
(new EmailManager($mailer))->confirm();
$parking = Parking::findByParkingName($param->parkingName);
$customer = Customer::getSelf();
$seasonTicketContract = SeasonTicketContract::find($param->seasonTicketContractRecordNo);

$application = new ParkingCertificateApplication();
$manager = new GeneralApplicationManager($application);
$manager
->setCustomer($customer)
->setSeasonTicketContract($seasonTicketContract)
->setParking($parking)
->makeApplication();

$p = $param->toArray();

$application->paymentMethod = $param->payingMethod;
$application->name = $param->name;
$application->zipCode = $param->zipCode;
$application->address = $param->address;
$application->phoneNo = $param->phoneNo;
$application->vehicleNo = $param->vehicleNo;
$application->chassisNo = $param->chassisNo;
$application->mailName = $param->mailName;
$application->mailZipCode = $param->mailZipCode;
$application->mailAddress = $param->mailAddress;
$application->memo = $param->memo;

$application->save();

return $this->successResponse();
}


+ 25
- 1
app/Http/Controllers/Web/SeasonTicketContract/ParkingCertificateOrderParams.php View File

@@ -5,7 +5,19 @@ namespace App\Http\Controllers\Web\SeasonTicketContract;
use App\Http\Controllers\Web\BaseParam;

/**
* @property string $seasonTicketContractRecordNo
* @property string seasonTicketContractRecordNo
* @property string parkingName
* @property string zipCode
* @property string name
* @property string address
* @property string phoneNo
* @property string vehicleNo
* @property ?string chassisNo
* @property string payingMethod
* @property string mailName
* @property string mailZipCode
* @property string mailAddress
* @property ?string memo
*/
class ParkingCertificateOrderParams extends BaseParam
{
@@ -13,6 +25,18 @@ class ParkingCertificateOrderParams extends BaseParam
{
return [
'season_ticket_contract_record_no' => $this->str(),
'parking_name' => $this->str(),
'name' => $this->str(),
'zip_code' => $this->str(),
'address' => $this->str(),
'phone_no' => $this->str(),
'vehicle_no' => $this->str(),
'chassis_no' => $this->str(true),
'paying_method' => $this->str(),
'mail_name' => $this->str(),
'mail_zip_code' => $this->str(),
'mail_address' => $this->str(),
'memo' => $this->str(true),
];
}
}

+ 22
- 3
app/Kintone/Models/ParkingCertificateApplication.php View File

@@ -4,20 +4,39 @@ namespace App\Kintone\Models;

/**
* アプリ名 各種申請 [駐車証明発行申請]
* @property string paymentMethod
* @property string name
* @property string zipCode
* @property string address
* @property string phoneNo
* @property string vehicleNo
* @property string chassisNo
* @property string mailName
* @property string mailZipCode
* @property string mailAddress
* @property string memo
*/
class ParkingCertificateApplication extends GeneralApplication
{
const FIELD_PAYMENT_METHOD = "車庫証明発行申請_支払方法";
const FIELD_NAME = "車庫証明発行申請_氏名";
const FIELD_ZIP_CODE = "車庫証明発行申請_郵便番号";
const FIELD_ADDRESS = "車庫証明発行申請_住所";
const FIELD_PHONE_NO = "車庫証明発行申請_電話番号";
const FIELD_VEHICLE_NO = "車庫証明発行申請_車両番号";
const FIELD_CHASSIS_NO = "車庫証明発行申請_車体番号";
const FIELD_MAIL_NAME = "車庫証明発行申請_宛名";
const FIELD_MAIL_ZIP_CODE = "車庫証明発行申請_郵便番号";
const FIELD_MAIL_ADDRESS = "車庫証明発行申請_住所";
const FIELD_MAIL_NAME = "車庫証明発行申請_郵送先_宛名";
const FIELD_MAIL_ZIP_CODE = "車庫証明発行申請_郵送先_郵便番号";
const FIELD_MAIL_ADDRESS = "車庫証明発行申請_郵送先_住所";
const FIELD_MEMO = "車庫証明発行申請_備考";

protected const FIELDS = [
...parent::FIELDS,
self::FIELD_PAYMENT_METHOD => FieldType::DROP_DOWN,
self::FIELD_NAME => FieldType::SINGLE_LINE_TEXT,
self::FIELD_ZIP_CODE => FieldType::SINGLE_LINE_TEXT,
self::FIELD_ADDRESS => FieldType::SINGLE_LINE_TEXT,
self::FIELD_PHONE_NO => FieldType::SINGLE_LINE_TEXT,
self::FIELD_VEHICLE_NO => FieldType::SINGLE_LINE_TEXT,
self::FIELD_CHASSIS_NO => FieldType::SINGLE_LINE_TEXT,
self::FIELD_MAIL_NAME => FieldType::SINGLE_LINE_TEXT,


Loading…
Cancel
Save