您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

54 行
1.3KB

  1. <?php
  2. namespace App\Http\Controllers\Web\SeasonTicketContract\Selection;
  3. use App\Http\Controllers\Web\WebController;
  4. use App\Logic\SeasonTicketContractEntryManager;
  5. use App\Logic\SeasonTicketContractSelectionManager;
  6. use Illuminate\Http\JsonResponse;
  7. use Illuminate\Http\Request;
  8. class EntryController extends WebController
  9. {
  10. public function name(): string
  11. {
  12. return "定期選考申込";
  13. }
  14. public function description(): string
  15. {
  16. return "定期選考に申込する";
  17. }
  18. public function __construct(protected EntryParams $param)
  19. {
  20. parent::__construct();
  21. }
  22. protected function run(Request $request): JsonResponse
  23. {
  24. $param = $this->param;
  25. $manager = new SeasonTicketContractSelectionManager($param->selectionRecordNo);
  26. if (!$manager->checkHash($param->entryRecordNo, $param->fs)) {
  27. return $this->failedResponse();
  28. }
  29. $manager->entry($param->entryRecordNo, $param->fs);
  30. $entryManager = new SeasonTicketContractEntryManager($param->entryRecordNo);
  31. $entry = $entryManager->getEntry();
  32. $entry->address = $param->address;
  33. $entry->phoneNo = $param->phoneNo;
  34. $entryManager->save();
  35. $manager->save();
  36. return $this->successResponse();
  37. }
  38. }