docs(changelog): 订正 #8576/#8601/#8577 三份交接件的编造内容与 frontend_status
changelog-filename-gate / validate (push) Failing after 2s
changelog-filename-gate / validate (push) Failing after 2s
三份都是既有条目(#8576/#8601 由 da562f3 批次产出,#8577 单独产出),本次逐条对源码与
测试服实测记录核对后订正,不新增条目。
#8576
- frontend_status 由 not_required 改回 pending(ca26be4 批量置位)。依据:hl-ui
origin/v2.1 确有 src/api/fleet/group-dispatch.js 消费 reconfigure / confirm 两个端点,
而全仓 specWarnings 命中数为 0 —— 新字段目前无人渲染,车辆规格提醒对车务不可见。
改判原因已按 FRONTEND_CONSUMPTION_STATUS_GUIDE 要求写进 status_note。
- 两处错误响应示例的 message 是编造的,换成 GroupDispatchAdminErrorCode 的真实模板。
- planVersion 出参类型 Integer/Long 统一为 Long(两张表)。
#8601
- 删掉四处「589535 适用于本端点」的错误断言。实证:RequirementService.java:4749 对
resourceType=VEHICLE 硬编码 hasActiveAssignments=false,该码在车需求打回上结构性不可达。
- 编造的订单 ID 2099459272533323777 换成实测的 2105173274755534850(dispatch)与
2105173313083080706(reject)。
- 错误码集合订正为 809000 / 809007(仅 dispatch)/ 582031 / 582083。
#8577
- 订正一处「POST requirement/confirm 零影响」的错误断言:doConfirm 与 confirm-check 共用
已收窄的 classifyVehicleSubmission,该端点的 809122 触发条件同步收窄。
- 809121 / 809123 的错误响应示例换成测试服实测原文。
- frontend_status 保留 not_required,但把判定依据写进 status_note:三个码一律走拦截器透
message、生产代码无一处按报文匹配、前端也无纯接送机户的规避需要撤除;同时列出五处现已
陈旧的前端注释与一处 mock 报文,供 mmg 顺手清理。
门禁:validate-changelog-frontmatter.mjs --files 三个文件一次通过(PASS: 3 files)。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
这个提交包含在:
@@ -133,12 +133,12 @@ Content-Type: application/json
|
||||
|
||||
#### 错误响应
|
||||
|
||||
🆕 809012(本次新增;`{0}` = 订单 ID,`{1}` = 两类名以 ` / ` 连接):
|
||||
🆕 809012(本次新增;`{0}` = 订单 ID,`{1}` = 两类名以 ` / ` 连接)。以下为测试服实测原文(订单 ID 2105173274755534850):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 809012,
|
||||
"message": "订单 2099459272533323777 同时存在 TRAVEL / TRANSFER 两类活跃用车需求,请显式指定要操作的类别(kind=TRAVEL 行程用车 / kind=TRANSFER 接送机)",
|
||||
"message": "订单 2105173274755534850 同时存在 TRAVEL / TRANSFER 两类活跃用车需求,请显式指定要操作的类别(kind=TRAVEL 行程用车 / kind=TRANSFER 接送机)",
|
||||
"success": false,
|
||||
"data": null
|
||||
}
|
||||
@@ -227,12 +227,12 @@ Content-Type: application/json
|
||||
|
||||
#### 错误响应
|
||||
|
||||
🆕 809012(本次新增,与 dispatch 端点同码同文案):
|
||||
🆕 809012(本次新增,与 dispatch 端点同码同文案)。以下为测试服实测原文(订单 ID 2105173313083080706):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 809012,
|
||||
"message": "订单 2099459272533323777 同时存在 TRAVEL / TRANSFER 两类活跃用车需求,请显式指定要操作的类别(kind=TRAVEL 行程用车 / kind=TRANSFER 接送机)",
|
||||
"message": "订单 2105173313083080706 同时存在 TRAVEL / TRANSFER 两类活跃用车需求,请显式指定要操作的类别(kind=TRAVEL 行程用车 / kind=TRANSFER 接送机)",
|
||||
"success": false,
|
||||
"data": null
|
||||
}
|
||||
@@ -245,18 +245,19 @@ Content-Type: application/json
|
||||
| 809000 | `用车需求类别非法:{0}` | `kind` 传了非法值 |
|
||||
| 582031 | `订单无有效需求行` | 按解析出的类别取不到活跃行 |
|
||||
| 582083 | `需求状态不允许此操作,请检查当前状态` | 非团期子订单,或最新需求不在 `PENDING_REVIEW` / `PENDING` |
|
||||
| 589535 | `子订单 {0} 已分房,请先由房务调整配房后再打回` | 该户仍有活跃派单/配房占用 |
|
||||
| 400 | `打回/驳回备注不能为空` | `returnRemark` 空 |
|
||||
|
||||
> `589535`(子订单已分房)**不适用于本端点**:占用探测方法对 `resourceType=VEHICLE` 硬编码返回"无占用"(车侧无配房概念),该码只在 `resourceType=HOTEL` 时可能触发;已派车的拦截由另一套栅栏机制负责,不经过本码。这是既有行为,本次未改。
|
||||
|
||||
#### 业务边界
|
||||
|
||||
- **鉴权**:权限点 `group-batch:demand:confirm`;未登录由网关拦截返 401。
|
||||
- **🔴 解析排在占用探测之前**:`kind` 先解析、再用解析结果去做「有没有活跃占用」的探测——两处必须看同一个类别,否则探测与实写会错位。
|
||||
- **kind 解析结果同时用于占用探测与实际取行**:两步必须看同一个类别,避免错位——但车需求侧的占用探测恒不拦截(见上方说明),此为既有行为,本次未改。
|
||||
- **只对车需求解析**:同一条服务方法也承接房需求打回(`resourceType=HOTEL`),`kind` 对它无意义、不触发解析,**酒店打回不会被车侧的两类并存误伤**。
|
||||
- **副作用是跨聚合的**:除需求行外还会清团级 `requirement_confirmed` 并写团级时间线 `BATCH_REQUIREMENT_REJECT`,与批量打回落同一套副作用。
|
||||
- **打回后需求要重提**:定制师重新提交会创建**新的需求行**,不是在原行上改。
|
||||
- **🔴 809012 不是可重试错误**:处置是带上 `kind` 重发。
|
||||
- **失败零写入**:809012 抛在探测与实写之前。
|
||||
- **失败零写入**:809012 抛在取行与实写之前。
|
||||
|
||||
---
|
||||
|
||||
@@ -315,7 +316,6 @@ Content-Type: application/json
|
||||
- 需求状态不在允许的源状态集合 → 582083。
|
||||
- 该户按解析出的类别取不到活跃行 → 582031。
|
||||
- 解析到 TRANSFER 但服务日未回填 → 809007(dispatch 端点,失败关闭不放行)。
|
||||
- 打回时该户仍有活跃占用 → 589535。
|
||||
- `kind` 传非法值 → 809000(与改前一致,本次未改变非法值行为)。
|
||||
- 老数据兼容:不改表、不迁移;存量订单下次调用时按新解析规则生效。
|
||||
|
||||
@@ -346,7 +346,7 @@ Content-Type: application/json
|
||||
| `DispatchReqVO.dispatchRemark` | 选填 ≤500 | 未变 |
|
||||
| `RejectReqVO.returnRemark` | 必填 ≤500 | 未变 |
|
||||
| 两个端点的响应 | `Result<Void>` | 未变 |
|
||||
| 错误码集合 | 809000 / 809007 / 582031 / 582083 / 589535 | 🆕 **增加 809012** |
|
||||
| 错误码集合 | 809000 / 809007(仅 dispatch)/ 582031 / 582083 | 🆕 **增加 809012** |
|
||||
|
||||
### 行为级对比
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户