比较提交

...
作者 SHA1 备注 提交日期
wx de960761df docs(changelog): hand off configured vehicle details (#5254)
changelog-filename-gate / validate (pull_request) Successful in 2s
2026-07-26 09:58:39 +08:00
Mimingguang ee1c4a3167 chore(changelog): 标记前端已实现 #5245
changelog-filename-gate / validate (push) Failing after 2s
修改原因:hl-ui changelog loop 需要把前端消费进度回写到契约源,避免领取、实现状态与实际交付脱节。

修改内容:将 frontend_status 与已有 legacy frontend 同步为 implemented,记录负责人 hl-ui-codex,并关联 mmg/hl-ui@cd8aff9b0c6499a1dee1b9c3ca00ddbceb4b5aed;发布和验收字段保持不变。

实际验证:回写器已校验目标文件、状态单调性、提交范围和 Front Matter 内容,提交只包含当前 changelog。

Frontend-Status: tools/mcp-api-sync/.changelog-repo/changelogs-v2/2026-07/25_5245_行程短链预览与同槽位改派解析-修改接口-管理后台.md
2026-07-26 09:23:05 +08:00
共修改 2 个文件,包含 97 行新增和 3 行删除
@@ -6,13 +6,13 @@ consumer: "admin"
change_type: "修改接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "claimed"
frontend_status: "implemented"
frontend_owner: "hl-ui-codex"
frontend_ref: ""
frontend_ref: "mmg/hl-ui@cd8aff9b0c6499a1dee1b9c3ca00ddbceb4b5aed"
target_release: ""
verified_at: ""
status_note: "后端已部署并完成网关验证;用户验收发现排车页缺少新增车辆槽位入口,前端已退回 claimed 继续修复。"
updated_at: "2026-07-25"
updated_at: "2026-07-26T01:23:05.110Z"
base: "dev-v3"
---
@@ -0,0 +1,94 @@
---
schema: "hl-changelog/v2"
ticket: "5254"
title: "订单侧已配置车辆补充车型车队服务日期与日单价"
consumer: "admin"
change_type: "修改接口"
backend_status: "pending"
gateway_status: "pending"
frontend_status: "pending"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: ""
status_note: ""
updated_at: "2026-07-26"
base: "dev-v3"
generated: "2026-07-26T09:57:21+08:00"
---
# 订单侧已配置车辆补充车型车队服务日期与日单价
订单详情的已配置车辆补齐车型标题、车队、连续服务日期、服务天数和协议日单价。
本记录只表示后端契约交接,`frontend_status` 在真实前端领取前保持 `pending`。
## 关联
- Issue: #5254
- PR: 待补充
## 变更接口
| 方法 | 路径 | 来源 |
|---|---|---|
| GET | `/v3/admin/order/{id}/itinerary` | `data.vehicleGroup.assignments[]` |
### `data.vehicleGroup.assignments[]`
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `brand` | string | 否 | 兼容字段;Fleet 实时数据下回填车辆车型名称,前端标题可按 `brand \|\| vehicleType \|\| '—'` 展示 |
| `fleetTeamId` | string | 否 | 车辆所属车队 ID;雪花 ID 按字符串返回 |
| `fleetTeamName` | string | 否 | 车辆所属车队名称;归档车辆或历史快照无法补齐时为空 |
| `startDate` | string(`yyyy-MM-dd`) | 否 | 车辆/司机连续服务段开始日 |
| `endDate` | string(`yyyy-MM-dd`) | 否 | 车辆/司机连续服务段结束日 |
| `serviceDays` | integer | 否 | 连续服务天数,首尾日期均计入 |
| `plannedDailyFee` | string(decimal) | 否 | 协议日单价;连续段内每日协议价不一致或无价格时为空,不得按 0 元展示 |
既有 `vehicleType`、`licensePlate`、`seats`、`driverName` 和
`driverPhoneMasked` 继续返回;手机号保持脱敏。
### 内部 Feign/shared Java
`OrderDriverVehicleCandidateDTO` 新增可空字段:
- `fleetTeamId: Long`(JSON 字符串)
- `fleetTeamName: String`
- `protocolPrice: BigDecimal`(JSON 字符串)
既有 `startDate`、`endDate` 本次开始映射到订单侧公开响应。新旧 Fleet/Order
可滚动部署:旧消费者忽略新增字段,新消费者读取旧生产者时新增字段为空。
## 契约影响文件
- `hl-common/hl-common-core/src/main/java/com/hulalv/common/dto/fleet/OrderDriverVehicleCandidateDTO.java`
- `hl-order-service-v3/src/main/java/com/hulalv/order/core/controller/admin/vo/detail/ItineraryVO.java`
- `hl-order-service-v3/src/test/java/com/hulalv/order/core/controller/admin/OrderControllerTest.java`
- `hl-order-service-v3/src/test/java/com/hulalv/order/fleet/feign/FleetDriverVehicleFeignContractTest.java`
## 前端/调用方动作
- `src/views/order-v2/detail/_shared/v3Adapter.js` 映射新增字段:
`fleetTeamName`、`startDate`、`endDate`、`serviceDays`、`plannedDailyFee`。
- 车型标题使用 `brand || vehicleType || '—'`;`brand === vehicleType` 时不要重复展示同一车型。
- “用车安排”摘要展示车型、车牌、座位、司机、脱敏手机号和服务日期。
- “已配置车辆”弹窗展示车型、车牌、座位、所属车队、司机、脱敏手机号、
服务起止日期、服务天数和协议日单价。
- `plannedDailyFee == null` 时显示 `—`,不得显示 0 元;无车辆时保持“暂无已配车”。
- 多车/改派连续段按接口数组逐条渲染,不按车牌或司机姓名自行去重。
## 验证证据
- Fleet 定向测试:
`mvn -pl hl-fleet-service -am -Dtest=OrderDriverVehicleQueryServiceTest,AssignmentConverterTest -Dsurefire.failIfNoSpecifiedTests=false test`
(31 项通过)。
- Order 消费者与内部契约:
`mvn -pl hl-order-service-v3 -am -Dtest=OrderDetailServiceTest,FleetDriverVehicleFeignContractTest -Dsurefire.failIfNoSpecifiedTests=false test`
(79 项通过)。
- 前端 API 序列化:
`mvn -pl hl-order-service-v3 -am -Dtest=OrderControllerTest#getItinerary_validId_returns200 -Dsurefire.failIfNoSpecifiedTests=false test`
(1 项通过)。
- Fleet Spotless:`mvn -pl hl-fleet-service spotless:check`(通过)。
- 网关验证:待补充
- 兼容性结论:仅新增可空响应字段并补齐既有空字段;内部 Feign JSON 双向兼容,
不修改方法、路径、参数、必填项、枚举或错误码。