|
- <?php
-
- namespace App\Http\Controllers\Web\SeasonTicketContract;
-
- use App\Http\Controllers\Web\WebController;
- use App\Kintone\Models\Parking;
- use App\Kintone\Models\SeasonTicketContract;
- use App\Util\DateUtil;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
-
- class TerminationOrderOptionsController extends WebController
- {
-
- public function name(): string
- {
- return "定期契約解約申請用オプション取得";
- }
-
- public function description(): string
- {
- return "定期契約解約依頼用のオプションを取得する";
- }
-
-
- public function __construct(protected TerminationOrderOptionsParams $param)
- {
- parent::__construct();
- $this->middleware('auth:sanctum');
- }
-
- protected function run(Request $request): JsonResponse
- {
- $param = $this->param;
-
- $monthes = [];
-
- $seasonTicketContract = SeasonTicketContract::find($param->seasonTicketContractRecordNo);
-
- $parking = $seasonTicketContract->getParking();
-
- $now = DateUtil::now();
- $from = $now->clone();
- $to = $now->clone()->addMonths(3)->endOfMonth();
-
- $list = $parking->getCanTerminateDateList($from, $to, $now);
-
- foreach ($list as $date) {
- $monthes[] = $date->format('Y/m/d');
- }
-
- return $this->successResponse(['monthes' => $monthes]);
- }
- }
|