3.6 KiB
3.6 KiB
#4727 房务回配状态、价格、推荐标识与待办超时
背景
房务配房中的订单,前端不能仅根据是否已有配房行显示“已回配”。“已回配”只等价于房务最终确认完成。 同时,订单详情已配置房型需要展示单价,候选酒店需要展示定制师推荐标识,房务待办需要标记询房超过 10 分钟未确认的订单。
修改接口
GET /v3/admin/order/{orderId}/itineraryGET /v3/admin/hotel-candidatesGET /admin/house/orders/{orderId}GET /admin/house/todos
出参变更
GET /v3/admin/order/{orderId}/itinerary
hotelGroup 新增:
| 字段 | 类型 | 含义 |
|---|---|---|
houseStatus |
string | 房务状态,如 CLAIMING / PENDING_FINALIZE / CONFIRMED |
houseStatusLabel |
string | 房务状态中文 |
finalized |
boolean | 是否最终确认完成,只有 houseStatus=CONFIRMED 为 true |
returnStatusLabel |
string | 住宿卡片建议展示文案,未最终确认不得显示“已回配” |
hotelGroup.assignments[] 新增:
| 字段 | 类型 | 含义 |
|---|---|---|
unitPrice |
string | 单价,优先用于前端价格列,等同 sellPrice |
sellPrice |
string | 成交/结算单价 |
protocolPrice |
string | 协议成本单价 |
returnStatus |
string | 所属房务状态 |
returnStatusLabel |
string | 单行展示状态,未最终确认不得显示“已回配” |
finalized |
boolean | 是否最终确认完成 |
GET /v3/admin/hotel-candidates
定制师推荐判断增强:除 hotelId 精确匹配外,后端会按酒店名称兜底匹配,兼容历史测试数据 hotelId 脏值。
前端展示要求:
isConsultantRecommended=true时展示consultantRecommendBadge。isPoolMatch=true时仍展示poolMatchBadge。- 同时命中产品池和定制师推荐时,
recommendSource=CONSULTANT,但产品池标识不要丢。
GET /admin/house/orders/{orderId}
actions.canReopen 固定为不可用:
{
"enabled": false,
"code": "REOPEN",
"label": "回配",
"disabledReason": "最终确认即回配,无需再次回配",
"endpoint": null
}
前端展示要求:
- 房务详情中移除“回配”按钮。
- 房务详情/配房弹窗中移除“提交配房方案”按钮;最终确认就是回配闭环。
GET /admin/house/todos
房务待办列表新增实时派生项:
| 字段 | 值 |
|---|---|
todoType |
HOTEL_REPLY_TIMEOUT |
urgency |
WARN |
derived |
true |
title |
询房超过 10 分钟未确认 |
口径:本人已抢单、房务状态仍在 CLAIMING,且存在 confirmStatus=INQUIRING 超过 10 分钟的配房行时,在待办列表中标记,避免房务错过长时间询房中的订单。
前端接入要求
- 订单详情住宿安排:只在
finalized=true或returnStatusLabel=已回配时显示“已回配”。 - 已配置房型弹窗:价格列优先取
unitPrice,没有时再兼容旧字段plannedCost。 - 选择酒店弹窗:支持同一酒店同时显示“定制师推荐”和“产品池内”。
- 房务详情:移除“回配”和“提交配房方案”按钮。
- 待办列表:
HOTEL_REPLY_TIMEOUT+WARN需要有明显超时/待跟进标记。
验收点
- 未最终确认的配房中订单不显示“已回配”。
- 已配置房型弹窗单价不显示
—。 - 定制师写过的候选酒店按名称兜底也能显示“定制师推荐”。
- 房务详情最终确认后不再出现“回配”按钮。
- 询房超过 10 分钟的订单在房务待办列表中有超时标记。