配房选择酒店候选列表:后端返全集已排序,前端需全量渲染(前端渲染 bug 澄清)
这个提交包含在:
父节点
e10e9a0b69
当前提交
9ec621d8ec
@ -0,0 +1,29 @@
|
||||
# 配房「选择酒店」候选列表:后端返回全集 + 已排序,前端需全量渲染(接口说明·后端无改动)
|
||||
|
||||
> 变更类型:📖 接口使用说明(后端无改动;澄清前端渲染缺陷)
|
||||
> 端类型:管理后台(配房·「选择酒店」弹窗)
|
||||
> 日期:2026-06-24 | 服务:hl-order-service-v3 | 接口:`GET /v3/admin/hotel-candidates`
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 关键说明(定位为前端渲染 bug)
|
||||
- **现象**:配房「选择酒店」弹窗显示「共 N 条」,列表却只渲染 1 行(只剩池内/带标签那家),城市内其余酒店没显示。
|
||||
- **定位**:**后端无问题**。`GET /v3/admin/hotel-candidates` 实测返回**城市内全部酒店**(测试服订单 2069593503129636865 第 1 晚返 **10 条**),且**已按「定制师点名 > 产品池内 > 普通」排好序**(池内的海拉尔海棠排第 1)。
|
||||
- **根因**:该接口 RespVO **没有 total / 分页字段**,只有 `candidates` 完整数组。前端「共 N 条」= `candidates.length`,即前端**已收到全部 N 条**,却只渲染了 1 行(疑似误按 `isPoolMatch / isConsultantRecommended = true` 过滤,把普通酒店漏掉)。
|
||||
- **前端动作**:**全量顺序渲染 `candidates` 数组,不要按标签过滤**。后端已排好序,带标签的天然在最前,普通酒店在后。
|
||||
|
||||
## 1. 接口出参(关键字段,本次无变更)
|
||||
`GET /v3/admin/hotel-candidates` → `data.candidates[]`(完整数组,无分页,默认上限 limit=10,可传 limit 上调,≤50):
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|---|---|---|
|
||||
| `hotelName` | String | 酒店名 |
|
||||
| `protoPrice` | String(BigDecimal) | 协议价 |
|
||||
| `matchedRoomTypeLabel` / `matchedRoomTypeAvailable` | String / Integer | 匹配房型 / 可用房 |
|
||||
| `isPoolMatch` | Boolean | 是否产品池内(前端标签「产品池内」) |
|
||||
| `isConsultantRecommended` | Boolean | 是否定制师点名(前端标签「定制师推荐」) |
|
||||
| `tags` | List<String> | 运营标签(草原景观 / 含早餐 / 性价比高 等) |
|
||||
| `recommendSource` / `score` | String / Double | 推荐来源 / 排序分(后端已据此排序,前端勿重排,按返回顺序渲染即可) |
|
||||
|
||||
## 2. 测试服实测(order 2069593503129636865 第 1 晚)
|
||||
返回 **10 条**:海拉尔海棠(`isPoolMatch=true`,第 1)+ 呼伦贝尔香格里拉 / 海拉尔嘉世豪 / 恩和瓦西里民宿 / 额尔古纳白桦 / 满洲里凯旋 / 额尔古纳豪星 / 海拉尔首旅京伦 / 额尔古纳玖成万豪 / 黑山头弘吉剌部 等 9 家城市内酒店。**前端应渲染全部 10 行**,当前只显示 1 行即缺陷所在。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户