docs(changelog): #4231 配房工作台抢了才能配 — 未抢单拒绝配房(808116)+前端按钮置灰

这个提交包含在:
API Changelog Bot 2026-06-22 16:01:56 +08:00
父节点 0df61a7b61
当前提交 1750cb69ab

查看文件

@ -0,0 +1,38 @@
# 【后端已修 + 前端待改·管理后台】配房工作台「抢了才能配」:未抢单拒绝配房(新增 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](https://git.1814.love:8443/wx/HL/pulls/4231)(房务测试反馈驱动,无关联 Issue
- **后端负责人**: @wx **前端**: @mmg