48 行
3.5 KiB
Markdown
48 行
3.5 KiB
Markdown
---
|
||
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 PASS(evidence/5744/gateway-probe-output.txt)。追加验收:带 groupId 全程行/逐日行混合拓扑 confirm 正常(单测+TEST 实链原子确认 rev=6 投递 DONE);直派全程行(groupId=null)与纯逐日回归保持。
|
||
|
||
## 前端交接
|
||
|
||
无。流程条「配车·处理中→下一步」由后端回写驱动,前端无需改动。
|