hl-api-changelog/changelogs-v2/2026-06/25_4373_配房选酒店弹窗_定制师标记修复+分页+售价列_管理后台.md

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 + dayNumberroomCount 可选),后端即自动把当天定制师点名的全部候选标 isConsultantRecommended=true
  • preferredHotelId / requirementId 可不再传(传了也兼容,但不再是标记的唯一来源)。
  • 实测 order 2069593503129636865dayNumber=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默认值 = 该酒店/房型协议价protoPriceroomTypes[].protocolPrice)。
  • 提交时仍带 AssignmentItemReqVO.sellPrice(房务填的结算价,后端早支持,无改动)。

说明

  • ① 已部署测试服并网关 API 实测通过;②③ 后端无改动,纯前端弹窗交互修正。
  • 「同步结算价到协议价」开关为另一独立后端工单(随后单独 changelog,本篇不含。