hl-api-changelog/changelogs-v2/2026-06/22_4231_配房工作台抢了才能配_未抢单拒绝配房808116_管理后台+前端BUG.md

2.8 KiB

【后端已修 + 前端待改·管理后台】配房工作台「抢了才能配」:未抢单拒绝配房(新增 808116(#4231)

后端 PR: #4231 | 服务: hl-order-service-v3 | 更新: 2026-06-22 前端负责人: @mmg —— 后半「前端待改」需配合:未抢单时置灰「配房」按钮。

1. 背景(房务测试反馈)

订单还在**抢单池(无人抢单)**时,房务详情里每天的「配房」按钮仍可点、配房接口仍能提交,绕过了抢单流程。应「抢了才能配」。

2. 后端已修(#4231

配房写操作(提交配房 / 最终确认 / 修改 / 删除 / 房间分配)前置守卫补齐「未抢单」拦截:

  • 需求未被任何人抢单claimerId 为空)→ 拒绝,返回新错误码 808116「订单未抢单, 请先抢单再配房」。
  • 需求被他人抢单 → 仍拒绝,返回 808110「需求不属于当前用户」原有行为不变
  • 内部 Feign / 系统调用(无 admin 上下文)不受影响。
接口 方法 路径 变更
提交配房 POST /v3/admin/order/hotel-requirements/{requirementId}/assignments 未抢单→808116
最终确认 POST /admin/house/assignments/requirements/{requirementId}/finalize 未抢单→808116
修改/删除配房、房间分配 (同需求归属校验链路) 未抢单→808116

3. 前端待改

  • 未抢单时置灰/隐藏每天的「配房」按钮(以及抢单池预览里的配房入口)。信号现成:房务详情接口 GET /admin/house/orders/{orderId} 已返 claim.isMine(是否当前用户的单)——isMine == false(含未抢单 claimerId 为空、或被他人抢)即应禁用配房操作,仅保留「抢这一单」。
  • 若仍调用配房接口命中 808116,按 message 提示「请先抢单再配房」,不要静默失败。
  • 抢单池预览(「这单还在抢单池·下方信息仅供参考」)下方的「配房」按钮应整体禁用,与顶部「抢到才能开始配房」文案一致。

4. 错误码

code 含义 触发 本次
808116 订单未抢单, 请先抢单再配房 对未抢单claimerId 空)的需求提交配房/最终确认/改删/房间分配 新增
808110 需求不属于当前用户 需求被他人抢单时操作 不变

5. 影响 / 兼容

  • 行为收紧:仅对「未抢单却调配房」的旧漏洞路径生效(属应修缺陷);正常「先抢单→再配房」流程不受影响。
  • 回滚revert PR #4231 重新部署 hl-order-service-v3。

6. 关联

  • PR: #4231(房务测试反馈驱动,无关联 Issue
  • 后端负责人: @wx 前端: @mmg