# 二期 v3:订单接口加 flowStep / flowStepTotal / flowDisplayText 步骤条字段 + 修 2 个文案 > **服务**: hl-order-service-v3 > **PR**: #3286 > **Issue**: #3285 > **日期**: 2026-05-30 > **影响**: 🟡 **非破坏性**新增字段 + **文案修订**。前端从前自己拼 `"1/8 · 待补全信息"`,现在后端直接给 `flowStep` / `flowStepTotal` / `flowDisplayText` 三字段,前端拿着就显示。同时修了 2 个枚举 label 文案。 --- ## 总览(前端 mmg 必读) 接续 PR #3284(status label 中文),本期把"订单步骤条"所需数据全部下沉到后端: ```jsonc { "flowStep": 1, // 🆕 当前步序号 0=待支付前, 1-8=进行中, null=终态/未知 "flowStepTotal": 8, // 🆕 总步数固定 8 "flowDisplayText": "待补全信息" // 🆕 中文文案,只中文不带"X/8 · ",前端按需自拼 } ``` 前端从前的 `currentStep / totalSteps + 自己映射中文` 逻辑全部可删,直接用本期 3 字段。 **同时**:修了 2 个 `OrderFlowStatus` 枚举 label 文案(影响 `flowStatusName` 字段返回): | 枚举值 | 旧文案 | 新文案 | |---|---|---| | `AWAITING_HOTEL_SUBMIT` | 待提交房型 | **待提交配房需求** | | `AWAITING_VEHICLE_SUBMIT` | 待提交用车 | **待配车需求** | --- ## 接口清单(3 个响应增字段) ### 1. 订单列表 ``` GET /v3/admin/order ``` **响应** `data.records[].xxx` 在 PR #3284 基础上再加 3 字段: ```jsonc { "orderStatus": "CUSTOMIZING", "orderStatusName": "定制中", "flowStatus": "AWAITING_PROFILE", "flowStatusName": "待补全信息", "flowStep": 1, // 🆕 "flowStepTotal": 8, // 🆕 "flowDisplayText": "待补全信息" // 🆕 } ``` ### 2. 订单详情 ``` GET /v3/admin/order/{id}/detail ``` **响应** `data.main` 同样加 3 字段(位置和列表相同)。 ### 3. 创建订单响应 ``` POST /v3/admin/order ``` **响应** 加 3 字段;创单初态固定: ```jsonc { "flowStep": 0, "flowStepTotal": 8, "flowDisplayText": "待支付" } ``` --- ## 8 步映射表(16 → 8) **优先级**:`orderStatus` 终态 > `flowStatus` 步骤映射 | 触发条件 | `flowStep` | `flowDisplayText` | |---|---|---| | `orderStatus = CANCELLED` | `null` | "已取消" | | `orderStatus = COMPLETED` | `null` | "已完成" | | `flowStatus = AWAITING_PAY` | `0` | "待支付" | | `flowStatus = AWAITING_PROFILE` | `1` | "待补全信息" | | `flowStatus = AWAITING_HOTEL_SUBMIT` | `2` | **"待提交配房需求"** | | `flowStatus = AWAITING_HOTEL_CLAIM` | `2` | "待抢房" | | `flowStatus = HOTEL_IN_PROGRESS` | `2` | "房控处理中" | | `flowStatus = HOTEL_NEED_ADJUST` | `2` | "房控需调整" | | `flowStatus = AWAITING_VEHICLE_SUBMIT` | `3` | **"待配车需求"** | | `flowStatus = VEHICLE_IN_PROGRESS` | `3` | "车控处理中" | | `flowStatus = VEHICLE_NEED_ADJUST` | `3` | "车控需调整" | | `flowStatus = PENDING_CONFIRM` | `4` | "待确认" | | `flowStatus = PENDING_DEPARTURE` | `5` | "待出行" | | `flowStatus = TRAVELLING` | `6` | "出行中" | | `flowStatus = PENDING_REVIEW` | `7` | "待核单" | | `flowStatus = REVIEWING` | `8` | "核单中" | | `flowStatus = SETTLED` | `8` | "已结算" | **说明**: - 配房 4 个并行子态(`AWAITING_HOTEL_SUBMIT` / `_CLAIM` / `HOTEL_IN_PROGRESS` / `_NEED_ADJUST`)都归到 step 2 - 配车 3 个并行子态都归到 step 3 - `REVIEWING` 和 `SETTLED` 都归到 step 8(结算后整体收尾) - `CANCELLED` / `COMPLETED` 是终态,不在 8 步串行里,`flowStep` 返 null - 未知 / 历史脏数据:`flowStep=null`, `flowDisplayText=` 原英文值(fallback 不抛错) --- ## 前端如何用(推荐) ### 推荐方式 1:只显示 `flowDisplayText`(最简单) ```html