3.4 KiB
3.4 KiB
配房「选择酒店」弹窗三连修(① 定制师点名标记·后端已修上线 ② 分页·前端 ③ 售价列·前端)
变更类型:① ✅ 后端修接口行为(已部署测试服 + 网关 API 实测) ② / ③ 📖 前端待办(后端无改动) 端类型:管理后台(房务管家·配房「选择酒店」弹窗) 日期:2026-06-25 | 工单/PR:① #4373 / #4374 | 服务:hl-order-service-v3 关联:承接 #4363(默认不按城市) / #4367(选房型房间数)。本篇修「定制师点名多家只标一家」+ 列出分页/售价两个前端 bug。
① 定制师点名标记:后端已修(前端可不传 preferredHotelId)
现象:定制师在用房需求里点名多家候选酒店(房控择一),弹窗候选列表只有第一家标「定制师推荐」,其余漏标。
根因(抓包实证):前端 GET /v3/admin/hotel-candidates 只传单个 preferredHotelId → 后端只标这一个。
后端修复(已上线测试服):hotel-candidates 改为按 orderId + dayNumber 自动查当前生效用房需求、标记当天全部定制师点名候选,且只标当天、不跨天。
前端动作(可选简化,不改也能工作):
- 调 hotel-candidates 只需传
orderId+dayNumber(roomCount可选),后端即自动把当天定制师点名的全部候选标isConsultantRecommended=true。 preferredHotelId/requirementId可不再传(传了也兼容,但不再是标记的唯一来源)。- 实测 order 2069593503129636865:
dayNumber=1→ 标 2 家(海拉尔海棠+香格里拉);dayNumber=2→ 标 1 家(海拉尔嘉世豪),不含 DAY1 候选。
② 弹窗「共 N 条」与分页错误(前端 bug,后端无改动)
现象:弹窗底部「共 8 条」与实际不符;分页不可用。
定位:后端 hotel-candidates 无 total / 分页字段,data.candidates 是完整数组(实测不传 city 返 21 条全部在售)。「共 8 条」是前端把 pageSize(8) 当成了 total。
前端动作:
- 「共 N 条」=
data.candidates.length(不要写死 8、不要拿 pageSize 当 total)。 - 需要分页就对完整数组做纯前端分页(后端一次性返全部、已按推荐度排好序);不需要分页可直接滚动渲染全部。
③ 列表「售价」列:去掉,改到选中酒店后填写(默认协议价)(前端,后端无改动)
现象 / 诉求:候选列表显示了「售价」列(值=协议价镜像)。结算价不应在候选列表预显示,应在选中酒店后填写、默认用协议价。
定位:后端 candidate VO 只返协议价 protoPrice,本就没有「售价」字段——列表那列「售价」是前端用协议价镜像出来的。
前端动作:
- 候选列表去掉「售价」列,只展示协议价
protoPrice(参考价)。 - 把「结算价」输入挪到选中酒店后的填写环节(与房型下拉 + 房间数一起,见 #4367),默认值 = 该酒店/房型协议价(
protoPrice或roomTypes[].protocolPrice)。 - 提交时仍带
AssignmentItemReqVO.sellPrice(房务填的结算价,后端早支持,无改动)。
说明
- ① 已部署测试服并网关 API 实测通过;②③ 后端无改动,纯前端弹窗交互修正。
- 「同步结算价到协议价」开关为另一独立后端工单(随后单独 changelog),本篇不含。