getMessage(), [__LINE__]); logger($e->errors()); logger($request->toArray()); return $this->failResponse($request); } try { DB::beginTransaction(); $layout = IF24_02Request::create($request); $this->handleRequest($layout); DB::commit(); } catch (Exception $e) { DB::rollBack(); throw $e; } return $this->successResponse($request); } private function handleRequest(IF24_02Request $request) { // 認証チェック if ($request->qrTypeCode === QRTypeCode::方式1_認証方式) { CertificateLogic::use( $request->header->parkingManagementCode, $request->publishingTerminalCode, $request->publishingDate, $request->publishingNo, $request->discountTicketCode, $request->adjustDatetime, $request->discountAmount, ); } else if ($request->qrTypeCode === QRTypeCode::方式2_印字方式) { throw new NotImplementedException("方式2未実装"); } else if ($request->qrTypeCode === QRTypeCode::方式3_取得方式) { CreateLogic::use( $request->shopNo, $request->header->parkingManagementCode, $request->publishingDate, $request->publishingNo, $request->discountTicketCode, $request->adjustDatetime, $request->discountAmount, ); } else { throw new AppCommonException("想定外のQRタイプコード"); } } }