diff --git a/changelogs-v2/2026-06/31_4514_房务配房并发事务加固-新增拒绝码808119取消态808113作废态-管理后台.md b/changelogs-v2/2026-06/31_4514_房务配房并发事务加固-新增拒绝码808119取消态808113作废态-管理后台.md index 3d6f1ef..65f13c0 100644 --- a/changelogs-v2/2026-06/31_4514_房务配房并发事务加固-新增拒绝码808119取消态808113作废态-管理后台.md +++ b/changelogs-v2/2026-06/31_4514_房务配房并发事务加固-新增拒绝码808119取消态808113作废态-管理后台.md @@ -1,8 +1,8 @@ -# 房务配房并发/事务加固——新增 2 个拒绝码(808119 取消/异常态、808113 需求作废态) +# 房务配房并发/事务加固——新增 3 个拒绝码(808119 取消/异常态、808113 需求作废态、808123 候选已更新) > 变更类型:🔒 并发/事务加固(房务管家·配房写口)+ 新增错误码 > 端类型:管理后台(房务管家) -> 日期:2026-06-27 | 工单:#4506 | PR:#4507(批1) + #4514(批2) | 服务:hl-order-service-v3(双实例已部署测试服 + happy path 回归 + 新码端到端实测通过) +> 日期:2026-06-27 | 工单:#4506 | PR:#4507(批1) + #4514(批2) + #4523(韧性审计补) | 服务:hl-order-service-v3(双实例已部署测试服 + happy path 回归 + 新码端到端实测通过) --- @@ -12,7 +12,7 @@ --- -## 一、新增 2 个拒绝错误码(前端按已有错误码机制展示 msg 即可) +## 一、新增 3 个拒绝错误码(前端按已有错误码机制展示 msg 即可) ### 808119 `ASSIGNMENT_NOT_WRITABLE_IN_EXCEPTION`——订单取消/异常处置态不可配房 - **触发**:对一个 **house_status=EXCEPTION**(订单已取消、或在“异常”桶处置中)的需求调用「提交配房」`POST .../assignments` 或「单日确认」`POST .../assignments/days/{day}/confirm`。 @@ -24,6 +24,12 @@ - **返回**:`code 808113`,msg「需求已作废, 不可提交配房, 请由定制师重新调整需求」。 - **前端**:收到 808113 说明手里的需求 id 已过期,应刷新订单/房务详情拿最新版本需求再操作(不要在旧需求上重试)。 +### 808123 `KEEP_NOT_IN_DAY_CANDIDATE`——单日确认保留的配房行不属于该天候选(配房已更新) +- **触发**:「单日确认」`POST .../assignments/days/{day}/confirm` 传的 `keepAssignmentIds` 中有 id **不属于该天「询房中」候选集**。最常见原因:配房被重新提交后该天候选行的 `assignmentId` 已轮换,前端仍用了缓存的旧 id;或误传了别天的 id。 +- **返回**:`code 808123`,msg「保留的配房行不属于该天询房中候选(可能配房已更新), 请刷新后重试」。 +- **前端**:收到 808123 应**刷新订单/房务详情**拿该天最新的 `inquiringAssignments[].assignmentId` 再确认,不要用缓存的旧 id。`keepAssignmentIds` 应始终取自当前详情返回的候选 id;省略/空表示「保留该天全部候选」(行为不变)。 +- **重要**:此前后端对全不命中的 keepAssignmentIds 会「静默把该天全部候选软删且零确认」(业务中断);现改为 fail-fast 拒绝、**不删任何候选**,前端刷新重试即可恢复。 + > 另:转单后用过期持有人身份写配房会返既有 `808110`(非本人抢单),语义不变。 ---