|
- <?php
-
- namespace App\Http\Controllers\Web\SeasonTicketContract;
-
- use App\Http\Controllers\Web\WebController;
- use App\Kintone\Models\Customer;
- use App\Kintone\Models\GeneralApplication;
- use App\Logic\GeneralApplicationManager;
- use Auth;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
-
- class TerminationOrderController extends WebController
- {
-
- public function name(): string
- {
- return "定期契約解約申請";
- }
-
- public function description(): string
- {
- return "定期契約解約依頼を登録する";
- }
-
-
- public function __construct(protected TerminationOrderParams $param, private GeneralApplicationManager $manager)
- {
- parent::__construct();
- $this->middleware('auth:sanctum');
- }
-
- protected function run(Request $request): JsonResponse
- {
- $param = $this->param;
-
- $customer = Customer::getSelf();
-
- $attr = [
- GeneralApplication::FIELD_SEASON_TICKET_CONTRACT_RECORD_NO => $param->seasonTicketContractRecordNo,
- GeneralApplication::FIELD_TERMINATE_DATE => $param->date,
- GeneralApplication::FIELD_MEMO => $param->memo,
- ];
- $this->manager->forTerminate($attr)
- ->setCustomer($customer)
- ->register();
-
- return $this->successResponse();
- }
- }
|