hl-api-changelog/changelogs-v2/2026-08/07_5665_改派时支持增加删除槽位(调整车辆数量)-新增接口-管理后台.md
Mimingguang 506f9dd715
一些检查失败了
changelog-filename-gate / validate (push) Failing after 2s
chore(v2): 标记 #5665 admin 前端已实现 (hl-admin@f1c00ba8)
改派页增加/删除槽位:addAssignmentSlot 封装 + AssignmentSlotAddModal 弹窗
+ 删除走既有 deleteAssignmentSlot 跟随后端 canDelete;改派槽位表切到
resolveBoardAssignmentSlots 覆盖未派占位行;增删后刷新提示需重新确认。
2026-08-08 10:32:28 +08:00

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 并部署 TESThl-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 归属需求 IDactive 用车需求)
vehicleType String 新槽位车型(如 suv/mpv
seats Integer 新槽位座位需求1-60
reason String 新增原因≤200 字,操作日志留痕)

响应SlotAddRespVO

字段 类型 说明
slotId Long(字符串) 新槽位 IDassignmentSlotId
assignmentId Long(字符串) 新槽位全程占位行派单 ID
requirementId Long(字符串) 归属需求 ID
orderId Long(字符串) 归属订单 ID
fleetItemIndex Integer 新槽位需求内项次序
retainedSlotIds Long 新增后 Step2 快照保留槽位集合
snapshotVersion Long(字符串) 新增后快照版本(无快照时 null

错误码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

前端交接(改派页)

在改派页增加两个操作,编排现有接口(后端已就绪):

  1. 【增加槽位】(多派一辆):
    • POST /admin/fleet/assignments/slots(传 requirementId + vehicleType + seats + reason
    • 成功后新槽位出现在看板/改派页,车务对新槽位按初次派车(候选/价格/校验)派 1 辆车
  2. 【删除槽位】(少派一辆):
    • 调既有 DELETE /admin/fleet/assignments/slots/{slotId}(有派单时后端联动取消)
    • 行程已出发的槽位不可删605027;已完成的槽位不可删605007
  3. 换车/换司机:仍调既有 POST /{assignmentId}/change(不变)

展示/交互提示:增删槽位后改派方案需重新冻结(后端已清最终确认标记);保留槽位的确认状态/车辆/司机不变。座位数校验在派车 create 时进行(座位不足进 warnings

验证证据

  • 新增 3 用例:增槽位成功生成全程行+保留已派+Step2 追加 / 需求无派单行 605012 / 需求不可派抛错
  • AssignmentServiceTest 394/394 全绿;fleet spotless:check 通过
  • fleet verifymvn-throttle 错峰3251 测试仅 ReleaseEOccupancyMysql8033RecoveryTest(需 MySQL 8.0.33 环境)基线失败,与本案无关
  • 部署hl-fleet-service 双实例 UP20:24
  • 网关验证VEHICLE_MANAGER 调 POST /admin/fleet/assignments/slots:缺 requirementId → 400参数校验生效;不存在需求 → 605012业务校验生效;端点部署成功