hl-api-changelog/changelogs-v2/2026-07/68_房务选择酒店误传preferredHotelId导致只显示1家-前端待处理.md
2026-07-20 09:33:16 +08:00

51 行
2.2 KiB
Markdown

# 房务选择酒店误传 preferredHotelId 导致只显示 1 家(前端待处理)
## 现象
订单 `2078739922130243586` 第 1 晚打开“选择酒店”弹窗,只显示定制师指定的“呼伦贝尔香格里拉大酒店”,分页显示“共 1 条”,页面提示“已限定定制师指定酒店”。
## 已确认原因
`192.168.100.160:9527` 当前 Vite 服务实际返回的 `PickHotelModal.vue` 仍在候选请求中传递:
```js
preferredHotelId:
on.specifiedHotelIds?.length === 1 ? String(on.specifiedHotelIds[0]) : undefined
```
该参数会要求后端按指定酒店过滤,因此响应只剩 1 家。这与当前产品意图“定制师指定酒店置顶并标记,房务仍可选择其他酒店”冲突。
当前 `D:/work2/hl-ui` 源码已经不再传该参数,说明 `192.168.100.160:9527` 运行的是未同步的工作树或旧代码。
## 接口证据
接口:`GET /v3/admin/hotel-candidates`
公共参数:
- `orderId=2078739922130243586`
- `dayNumber=1`
- `stayDate=2026-07-22`
- `roomCount=2`
- `limit=50`
结果:
- 不传 `preferredHotelId`、无关键词:返回 21 家;香格里拉为 `isConsultantRecommended=true` 且排第 1。
- 不传 `preferredHotelId``keyword=满洲里`:返回 3 家,包括香格里拉、满洲里凯旋大酒店、满洲里饭店(百年俄式)。
- 当前截图环境传入唯一 `preferredHotelId`:只返回指定酒店 1 家。
## 前端处理要求
1. 房务候选请求不得传 `preferredHotelId`,无论 `specifiedHotelIds` 是 1 个还是多个。
2. `specifiedHotelIds` 仅用于页面提示;推荐标记以接口 `isConsultantRecommended` 为准。
3. 不输入关键词时展示后端返回的全部候选;跨城搜索继续使用 `keyword`
4. 确认 `192.168.100.160:9527` 的 Vite 进程工作目录与 `D:/work2/hl-ui` 当前目标分支一致,重启 Vite 后清除模块缓存并复测。
## 验收
- 打开本订单第 1 晚选择酒店,不输入关键词时不再显示“共 1 条”,可看到其他酒店。
- 搜索“满洲里”返回 3 家。
- 香格里拉仍显示“定制师推荐”,但不会阻止选择其他酒店。
- Network 中 `/v3/admin/hotel-candidates` 请求不含 `preferredHotelId`