hl-api-changelog/changelogs-v2/2026-08/08_5744_改派后订单vehicle_control_status卡PROCESSING修复-修改接口-管理后台.md
API Changelog Bot 5158b4ef7e
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
docs(changelog): #5744 补充追加验收(PR 5761/5763)
2026-08-09 18:44:44 +08:00

48 行
3.5 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

---
schema: "hl-changelog/v2"
ticket: "5744"
title: "改派后订单 vehicle_control_status 卡 PROCESSING 不推进 DONE五层根因修复"
consumer: "admin"
author: "wx"
change_type: "修改接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "not_required"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: ""
updated_at: "2026-08-09"
base: "dev-v3"
generated: "2026-08-09T16:20:00+08:00"
---
# 08_5744_改派后订单vehicle_control_status卡PROCESSING修复-修改接口-管理后台
- **date**: 2026-08-09
- **ticket**: 5744
- **change_type**: 修改接口
- **service**: hl-fleet-service, hl-order-service-v3
- **frontend_status**: not_required
- **status_note**: 修复改派(含接续/按天改派)后订单 vehicle_control_status 卡 PROCESSING 不回写 DONE 的问题(实证 26-6436。五层修复全部为 fleet→order 快照回写链路的行为修正,前端无改动项;订单流程条由后端回写自然推进。## 变更接口或验证证据
### 接口契约
**无契约变更**POST /admin/fleet/assignments/:assignmentId/change、/:assignmentId/confirm、/:assignmentId/driver-confirmation、/requirements/:requirementId/confirm 的请求/响应字段、错误码均不变;internal 新增补偿端点 POST /internal/fleet/jobs/vehicle-assignment-snapshot/refinalize运维补偿用,不影响对外契约
### 验证证据
- **根因(五层,代码级实证 26-6436 全程行+改派)**
1. `isFinalizedDispatchPlanTopologyRows` 全程槽serviceDate=null 单行覆盖全程)逐日覆盖检查误判 → HOLD 确认/改派确认的 finalPlan 事件不发布(直派无条件发布故正常);
2. 改派生成的全程行携带非空 assignment_group_id,快照工厂 isFullTripRow 要求 groupId 为空 → 快照按逐日拓扑校验失败,confirm 回滚;
3. order 侧最终确认 fence 占用582092,暂时性被快照投递按业务错误隔离而非重试;
4. 隔离事件计入前驱阻塞 → 后续 revision 永久 PENDING;
5. order 侧未初始化contract_version 为空)强绑 revision=1,fleet 重发更高 revision 永远冲突。
- **修复**#5745/#5747/#5748/#5749/#5753 五 PR + 追加验收 #5761/#5763(混合拓扑按槽位分桶校验+nullsFirst 排序;当前代身份排除同槽被替换的 canceled 旧行,fleet 4 处 + order 1 处 + 补偿端点;
- **测试**AssignmentServiceTest 408/408含 canceled 旧全程行回归、FactoryTest 14/14含混合拓扑/逐日槽缺天、GenerationServiceTest 15/15、OutboxSenderTest 26/26、OutboxMapperTest 13/13、order DailyVehicleAssignmentSnapshotServiceTest 17/17;fleet 全量 verify 3313 tests 失败项全部归账ReleaseEMixedBinaryHarnessTest 2F + ReleaseEOccupancyMysql8033RecoveryTest 10E 为既有环境类基线);
- **部署自验TEST 实单 26-6436 全链)**change(HOLD)→driver-confirmation→confirm 全部成功;快照 rev=5 生成;fence 占用期间投递重试retry_count=6, HTTP_582092,非隔离;fence 过期后自动投递 SUCCESS;**order_main.vehicle_control_status PROCESSING→DONE、order_vehicle_requirement.status=DONE、contract=DAILY_V3 rev=6**;探针 4/4 PASSevidence/5744/gateway-probe-output.txt。追加验收带 groupId 全程行/逐日行混合拓扑 confirm 正常(单测+TEST 实链原子确认 rev=6 投递 DONE;直派全程行groupId=null与纯逐日回归保持。
## 前端交接
无。流程条「配车·处理中→下一步」由后端回写驱动,前端无需改动。