You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.1KB

  1. <?php
  2. namespace App\Http\Controllers\Web\QRService\Certification;
  3. use App\Http\Controllers\Web\WebController;
  4. use App\Logics\QRService\CertificateLogic;
  5. use Illuminate\Http\JsonResponse;
  6. use Illuminate\Http\Request;
  7. class CertificationController extends WebController
  8. {
  9. public function name(): string
  10. {
  11. return "QRサービス券認証";
  12. }
  13. public function description(): string
  14. {
  15. return "QRサービス券を認証する";
  16. }
  17. public function __construct(protected CertificationParam $param)
  18. {
  19. parent::__construct();
  20. }
  21. protected function run(Request $request): JsonResponse
  22. {
  23. $param = $this->param;
  24. $cartification = CertificateLogic::certificate(
  25. $param->parkingManagementCode,
  26. $param->publishingTerminalCode,
  27. $param->publishingDate,
  28. $param->publishingNo,
  29. $this->sessionUser->shopId(),
  30. $param->discountTicketCode,
  31. );
  32. $res = [
  33. "expires_at" => $cartification->expires_at,
  34. ];
  35. return $this->successResponse($res);
  36. }
  37. }