|
- <?php
-
- namespace App\Http\Controllers\Server;
-
- use App\Logics\QRService\CertificateLogic;
- use App\Transmission\Layouts\IF24_01Request;
- use App\Transmission\Layouts\IF24_01Response;
- use Exception;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
-
- class IF24_01Controller extends IFController
- {
- protected function run(Request $request): array
- {
-
- try {
- DB::beginTransaction();
- $layout = IF24_01Request::create($request);
- $response = $this->handleRequest($layout);
- DB::commit();
- } catch (Exception $e) {
- DB::rollBack();
- throw $e;
- }
-
- return $this->successResponse($request, $response);
- }
-
- private function handleRequest(IF24_01Request $request): IF24_01Response
- {
- $qr = CertificateLogic::getUsable(
- $request->header->parkingManagementCode,
- $request->publishingTerminalCode,
- $request->publishingDate,
- $request->publishingNo,
- );
-
- $response = new IF24_01Response();
-
- $response->discountTicketCode = $qr->discount_ticket_code;
- $response->shopNo = $qr->shop_no;
-
- return $response;
- }
- }
|