3.0 KiB
3.0 KiB
schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref
| schema | ticket | title | consumer | author | change_type | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref |
|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | 5744 | 改派后订单 vehicle_control_status 卡 PROCESSING 不推进 DONE(五层根因修复) | admin | wx | 修改接口 | deployed | verified | not_required |
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 全程行+改派):
isFinalizedDispatchPlanTopologyRows全程槽(serviceDate=null 单行覆盖全程)逐日覆盖检查误判 → HOLD 确认/改派确认的 finalPlan 事件不发布(直派无条件发布故正常);- 改派生成的全程行携带非空 assignment_group_id,快照工厂 isFullTripRow 要求 groupId 为空 → 快照按逐日拓扑校验失败,confirm 回滚;
- order 侧最终确认 fence 占用(582092,暂时性)被快照投递按业务错误隔离而非重试;
- 隔离事件计入前驱阻塞 → 后续 revision 永久 PENDING;
- order 侧未初始化(contract_version 为空)强绑 revision=1,fleet 重发更高 revision 永远冲突。
- 修复:#5745/#5747/#5748/#5749/#5753 五 PR(dev-v3),fleet 3 处 + order 1 处 + 补偿端点;
- 测试:AssignmentServiceTest 407/407、FactoryTest 12/12、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=5;探针 4/4 PASS(evidence/5744/gateway-probe-output.txt)。
前端交接
无。流程条「配车·处理中→下一步」由后端回写驱动,前端无需改动。