Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

55 lines
1.4KB

  1. <?php
  2. namespace App\Http\Controllers\Web\SeasonTicketContract;
  3. use App\Http\Controllers\Web\WebController;
  4. use App\Kintone\Models\Parking;
  5. use App\Kintone\Models\SeasonTicketContract;
  6. use App\Util\DateUtil;
  7. use Illuminate\Http\JsonResponse;
  8. use Illuminate\Http\Request;
  9. class TerminationOrderOptionsController extends WebController
  10. {
  11. public function name(): string
  12. {
  13. return "定期契約解約申請用オプション取得";
  14. }
  15. public function description(): string
  16. {
  17. return "定期契約解約依頼用のオプションを取得する";
  18. }
  19. public function __construct(protected TerminationOrderOptionsParams $param)
  20. {
  21. parent::__construct();
  22. $this->middleware('auth:sanctum');
  23. }
  24. protected function run(Request $request): JsonResponse
  25. {
  26. $param = $this->param;
  27. $monthes = [];
  28. $seasonTicketContract = SeasonTicketContract::find($param->seasonTicketContractRecordNo);
  29. $parking = $seasonTicketContract->getParking();
  30. $now = DateUtil::now();
  31. $from = $now->clone();
  32. $to = $now->clone()->addMonths(3)->endOfMonth();
  33. $list = $parking->getCanTerminateDateList($from, $to, $now);
  34. foreach ($list as $date) {
  35. $monthes[] = $date->format('Y/m/d');
  36. }
  37. return $this->successResponse(['monthes' => $monthes]);
  38. }
  39. }