diff --git a/changelogs-v2/2026-08/07_5657_确认执行不强制派满建议车辆数-修改接口-管理后台.md b/changelogs-v2/2026-08/07_5657_确认执行不强制派满建议车辆数-修改接口-管理后台.md new file mode 100644 index 0000000..5b7646a --- /dev/null +++ b/changelogs-v2/2026-08/07_5657_确认执行不强制派满建议车辆数-修改接口-管理后台.md @@ -0,0 +1,57 @@ +--- +schema: "hl-changelog/v2" +ticket: "5657" +title: "确认执行不强制派满建议车辆数(按实际槽位校验,建议数仅参考)" +consumer: "admin" +change_type: "修改接口" +author: "wx(GIT)" +backend_status: "deployed" +gateway_status: "verified" +frontend_status: "not_required" +frontend_owner: "" +frontend_ref: "" +target_release: "" +verified_at: "" +status_note: "后端完成:PR #5660 已合并 dev-v3 并部署 TEST(18:27 滚动 DONE)。网关验证真实复现工单场景 6 项全 PASS:订单 26-4949(7人/建议2辆)只派 1 辆 7 座 GL8,确认执行 200 confirmed=true(修复前 605041「缺少第2个车辆槽位」×4)。前端无需配合。" +updated_at: "2026-08-07" +base: "dev-v3" +generated: "2026-08-07T18:45:00+08:00" +--- + +# 确认执行不强制派满建议车辆数(按实际槽位校验,建议数仅参考) + +> **服务**: hl-fleet-service +> **PR**: [#5660](https://git.1814.love:8443/wx/HL/pulls/5660) +> **Issue**: [#5657](https://git.1814.love:8443/wx/HL/issues/5657) +> **日期**: 2026-08-07 +> **影响**: 🟢 **缺陷修复**,无契约结构变更(`POST /admin/fleet/assignments/:assignmentId/confirm` 行为修复)。前端无需改代码。 + +## 背景 + +#5657(P1)wx 实测:订单 26-4949(7 人),系统建议 2 辆车(suggestedVehicleCount=2),车务只派 1 辆(7 座商务车够坐)。确认执行被拦:「该服务日缺少第 2 个车辆槽位派单」(8/13-8/16 四天都报)+「订单与派单基线已变化,请按逐日差异处理后重试」(605041)。 + +**口径(wx)**:车务说的算——车务想派几辆就派几辆,建议车辆数仅作参考,不强制派满。 + +**根因**:最终确认基线校验(assertFinalConfirmationBaseline)按需求展开的**期望槽位数**逐槽逐日要求派单覆盖,未派定的槽位也强制要求补齐。 + +## 修复内容(内部,无接口/字段结构变化) + +- 确认执行基线校验改为按**实际槽位**校验:未派定的槽位跳过「缺少第 N 个槽位」强制拦截(建议车辆数仅参考); +- **已派定槽位**的服务日完整性校验保留(防止半派状态确认); +- 座位/车型相关提示与校验逻辑不变(座位数校验保留)。 + +## 变更接口 + +| 方法 | 路径 | 来源 | +|---|---|---| +| POST | /admin/fleet/assignments/:assignmentId/confirm | 确认执行:未派满建议数不再 605041,已派槽位缺服务日仍拦截 | + +## 验证证据 + +- 全量 `mvn -pl hl-fleet-service -am verify`:3258 Tests,Failures=0,Errors=0;新增 2 例回归(建议两辆仅派一辆全程行可确认——已回退验证修复前确实被拦;已派槽位缺服务日仍拦截);spotless 通过。 +- 部署 TEST:18:27 滚动 DONE。 +- 网关真实复现(订单 26-4949,蒙A-G8888 GL8 7 座对 7 人,8/13-8/16)6 项全 PASS:删除多余槽位恢复只派 1 辆现场 → 登记司机确认 → 确认执行 200 confirmed=true → DB 终态 4 行 assigned + confirmed_at 非空、无其他活跃槽位。 + +## 前端配合 + +无需配合。确认执行按车务实际派车数通过,建议车辆数仍作为参考展示。