hl-api-changelog/changelogs-v2/2026-06/16_3857_3856_团期配车配房重配前置能力-后端内部.md

3.0 KiB

【后端内部·无前端影响】团期整团逐日配车/配房重配前置能力PR #3862 #3863 / 工单 #3857 #3856

端:纯后端内部(内部 Feign 端点 + 进程内事件,无前端接口)| 服务hl-fleet-service + hl-order-service-v3 | PR #3862 #3863 已合并 dev-v3 + 双实例部署实测 | 2026-06-16

⚠️ 关键说明

订单调整 epic#3643剩余阶段 G-2「团期改人数/资源后,整团逐日配车/配房实际重配」 卡在 fleet/house 两个前置域缺口。本批补齐这两侧的前置能力(消费方 order-v3 core P-G 后续才接,本批无运行时触发点,对前端零影响)。

1. fleet 团期配车领域 + 整团逐日重配端点PR #3862 / #3857

fleet 此前是纯主数据服务,无任何派车/配车业务。本次从 0 建配车前置能力:

内容
新表 fleet_group_dispatch逐日派车group_batch_id + trip_date + vehicle_id + driver_id + status + version,雪花 PK,软删,唯一索引含 deleted_at 支持软删重派。Flyway V20260616_002
新内部端点 POST /internal/fleet/dispatch/group-batch/reconfigure(幂等):入参 groupBatchId + 逐日需求数组,出参 added/removed/kept/updated/aliveCount
并发防护 @Idempotent + @Lock4j(按 groupBatchId 串行)+ @Version 乐观锁 + 唯一索引兜底
差量语义 少补 / 多删软删留痕 / 同车换司机更新(不整团作废重配)

order-v3 侧 FleetDispatchFeignClient 对齐不在本批(由 order-v3 后续做)。内部端点走 Feign LB 不过网关,无网关路由变更。

2. house 团期整团逐日配房重配前置能力PR #3863 / #3856

house 域此前只有子订单(orderId)+逐日(dayNumber)粒度,无团期(groupBatchId)维度。本次补齐:

内容
新事件契约 GroupBatchBaselineChangedEvent(进程内 Spring 事件,发布方 order-v3 core P-G 后续做)
新监听器 HouseGroupBatchEventListener AFTER_COMMIT 监听基准变更,失败只 log 不抛(降级)
整团差量重配 reconcileGroupBatchAssignments(productBatchId, 新逐日需求):按 productBatchId 聚合子订单(剔已取消)、逐日按房数差量增减、减配拆行精确收敛 target 不过删、@Lock4j 按 productBatchId 串行
ready 回填 新增 GroupBatchService.markHotelReady(跨域走 Service,house 不直写 groupbatch 表)

无新增 Flyway复用 house_hotel_assignment / order_group_batch.hotel_ready)。

验证(测试服 2026-06-16

fleet 双实例 8087/8187 全新重启(11:25),flyway 20260616.002 success=1,fleet_group_dispatch 表已落库 ✅
order-v3 双实例 8086/8186 全新重启(11:22),新监听器/事件 bean 未致 context 失败 ✅
fleet 9 单测 + house 14 单测全绿;CR 两轮(含针对性复审)无 P0/P1
两侧均为前置能力,消费方未接,无运行时可触发行为可实测,boot 即闭环