authenticate($request); } catch (\Throwable $e) { return api_error($e->getMessage(), 401); } $payload = json_decode($request->rawBody(), true); if (!is_array($payload)) { return api_error('请求体必须是合法 JSON 对象', 422); } try { $result = (new EnterpriseOrderService())->createOrder($auth['customer'], $payload, $request); } catch (\InvalidArgumentException $e) { return api_error($e->getMessage(), 422); } catch (\RuntimeException $e) { return api_error($e->getMessage(), 409); } catch (\Throwable $e) { return api_error('订单创建失败', 500, [ 'detail' => $e->getMessage(), ]); } return api_success($result, !empty($result['idempotent']) ? '订单已存在' : '订单已创建'); } public function detail(Request $request) { try { $auth = (new EnterpriseOpenApiAuthService())->authenticate($request); } catch (\Throwable $e) { return api_error($e->getMessage(), 401); } $externalOrderNo = trim((string)($request->route?->param('external_order_no', '') ?? '')); if ($externalOrderNo === '') { $externalOrderNo = trim((string)$request->input('external_order_no', '')); } $orderNo = trim((string)$request->input('order_no', '')); try { $order = (new EnterpriseOrderService())->findOrder($auth['customer'], $externalOrderNo, $orderNo); } catch (\InvalidArgumentException $e) { return api_error($e->getMessage(), 422); } catch (\RuntimeException $e) { return api_error($e->getMessage(), 404); } catch (\Throwable $e) { return api_error('订单查询失败', 500, [ 'detail' => $e->getMessage(), ]); } return api_success([ 'order' => $order, ]); } }