一些检查失败了
changelog-filename-gate / validate (push) Failing after 2s
改派页增加/删除槽位:addAssignmentSlot 封装 + AssignmentSlotAddModal 弹窗 + 删除走既有 deleteAssignmentSlot 跟随后端 canDelete;改派槽位表切到 resolveBoardAssignmentSlots 覆盖未派占位行;增删后刷新提示需重新确认。
5.4 KiB
5.4 KiB
schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
| schema | ticket | title | consumer | author | change_type | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref | target_release | verified_at | status_note | updated_at | base | generated |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | 5665 | 改派时支持增加/删除槽位(调整车辆数量) | admin | wx(GIT) | 新增接口 | deployed | verified | implemented | mmg | f1c00ba8 | 后端完成:PR #5669 已合并 dev-v3 并部署 TEST(hl-fleet-service 双实例)。新增 POST /admin/fleet/assignments/slots 增槽位;删除槽位复用既有 DELETE /slots/{slotId}。前端需在改派页加【增加槽位】【删除槽位】操作并编排现有接口(见前端交接)。 | 2026-08-08 | dev-v3 | 2026-08-07T20:26:00+08:00 |
改派时支持增加/删除槽位(调整车辆数量)
后端完成:PR #5669 已合并 dev-v3 并部署 TEST,网关验证通过。前端需在改派页增加【增加槽位】【删除槽位】操作。
关联 / 联系人
链接
联系人
- 后端负责人: @wx
背景
改派(change)原本只能换车/换司机(同槽位内换),不能增加/删除槽位(调整车辆数量)。wx 要改派时可增删槽位。对齐 #5562 槽位模型(派车时可增删)。按协调台口径走 A 方案:复用 expand/slots 机制,只增删差异、保留已派,不新建独立重派流程、不侵入 change 主流程。
变更接口
新增:POST /admin/fleet/assignments/slots(增加槽位)
在 active 用车需求上新增 1 个全程槽位(unassigned 全程占位行覆盖整个服务期),新槽位待确认按初次派车。保留已有槽位(含已派)完全不动。
请求(SlotAddReqVO):
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| requirementId | Long | 是 | 归属需求 ID(active 用车需求) |
| vehicleType | String | 是 | 新槽位车型(如 suv/mpv) |
| seats | Integer | 是 | 新槽位座位需求(1-60) |
| reason | String | 否 | 新增原因(≤200 字,操作日志留痕) |
响应(SlotAddRespVO):
错误码:400 参数校验失败(需求 ID/车型/座位数缺失)/ 605012 需求无派单行 / 605007 需求不可派(非 active/已取消/不可派)/ 605008 抢锁超时 / 401 未登录 / 403 非车务角色。
行为:
- 新槽位生成 1 条 unassigned 全程占位行(
service_date/assignment_group_id为 NULL,start_date~end_date覆盖整个服务期),车务在该槽派 1 辆管全程的车(候选/价格日历/校验同初次派车 create) - 保留已有槽位(含 holding/assigned 已派)完全不动——只增差异槽位,不重置/重派
- 确认状态:清最终确认标记(改派需重新冻结方案);保留槽位确认状态不变
- Step2 快照 retained 追加 + 版本递增 + digest 重算;FleetBoardChangedEvent + 操作日志 SLOT_ADDED
复用:DELETE /admin/fleet/assignments/slots/{slotId}(删除槽位,零改动)
既有端点(#5550/#5572),删除已派(holding/assigned)槽位时联动取消派单(释放占用+退保意图+取消事件),行程已出发拒绝(605027)。
前端交接(改派页)
在改派页增加两个操作,编排现有接口(后端已就绪):
- 【增加槽位】(多派一辆):
- 调
POST /admin/fleet/assignments/slots(传 requirementId + vehicleType + seats + reason) - 成功后新槽位出现在看板/改派页,车务对新槽位按初次派车(候选/价格/校验)派 1 辆车
- 调
- 【删除槽位】(少派一辆):
- 调既有
DELETE /admin/fleet/assignments/slots/{slotId}(有派单时后端联动取消) - 行程已出发的槽位不可删(605027);已完成的槽位不可删(605007)
- 调既有
- 换车/换司机:仍调既有
POST /{assignmentId}/change(不变)
展示/交互提示:增删槽位后改派方案需重新冻结(后端已清最终确认标记);保留槽位的确认状态/车辆/司机不变。座位数校验在派车 create 时进行(座位不足进 warnings)。
验证证据
- 新增 3 用例:增槽位成功生成全程行+保留已派+Step2 追加 / 需求无派单行 605012 / 需求不可派抛错
- AssignmentServiceTest 394/394 全绿;fleet spotless:check 通过
- fleet verify(mvn-throttle 错峰):3251 测试仅
ReleaseEOccupancyMysql8033RecoveryTest(需 MySQL 8.0.33 环境)基线失败,与本案无关 - 部署:hl-fleet-service 双实例 UP(20:24)
- 网关验证:VEHICLE_MANAGER 调
POST /admin/fleet/assignments/slots:缺 requirementId → 400(参数校验生效);不存在需求 → 605012(业务校验生效);端点部署成功