Nie możesz wybrać więcej, niż 25 tematów
Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
|
- <?php
-
- namespace App\Http\Controllers\Web\Customer;
-
- use App\Email\Members\UserInfoUpdateOrderNotice;
- use App\Http\Controllers\Web\WebController;
- use App\Kintone\Models\Customer;
- use App\Kintone\Models\UserInfoUpdateApplication;
- use App\Logic\EmailManager;
- use App\Logic\GeneralApplicationManager;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
-
- class UpdateUserInfoOrderController extends WebController
- {
-
- public function name(): string
- {
- return "利用者情報変更依頼";
- }
-
- public function description(): string
- {
- return "利用者情報変更依頼を登録する";
- }
-
-
- public function __construct(protected UpdateUserInfoOrderParam $param)
- {
- parent::__construct();
- $this->middleware('auth:sanctum');
- }
-
- protected function run(Request $request): JsonResponse
- {
- $param = $this->param;
-
- $customer = Customer::getSelf();
-
- $application = new UserInfoUpdateApplication();
- $manager = new GeneralApplicationManager($application);
- $manager
- ->setCustomer($customer)
- ->makeApplication();
-
- $application->nameBefore = $customer->customerName;
- $application->nameAfter = $param->name;
- $application->nameKanaBefore = $customer->customerNameKana;
- $application->nameKanaAfter = $param->nameKana;
- $application->zipCodeBefore = $customer->zipCode;
- $application->zipCodeAfter = $param->zipCode;
- $application->addressBefore = $customer->address;
- $application->addressAfter = $param->address;
- $application->phoneNoBefore = $customer->phoneNumber;
- $application->phoneNoAfter = $param->phoneNo;
- $application->memo = $param->memo;
-
- // メール送信
- $email = new UserInfoUpdateOrderNotice($application, $customer);
- $email->setUser(Auth::user());
- $emailMmanager = new EmailManager($email);
- $emailMmanager->confirm();
-
- $application->save();
-
- return $this->successResponse();
- }
- }
|