修改原因:hl-ui changelog loop 需要把前端消费进度回写到契约源,避免领取、实现状态与实际交付脱节。 修改内容:将 frontend_status 与已有 legacy frontend 同步为 implemented,记录负责人 hl-ui-codex,并关联 mmg/hl-ui@06f9d4dce58ef64c3e5de96e44754c0793286d06;发布和验收字段保持不变。 实际验证:回写器已校验目标文件、状态单调性、提交范围和 Front Matter 内容,提交只包含当前 changelog。 Frontend-Status: tools/mcp-api-sync/.changelog-repo/changelogs-v2/2026-07/24_5211_派单通知预览补齐接送与行程数据-修改接口-管理后台.md
85 行
3.2 KiB
Markdown
85 行
3.2 KiB
Markdown
---
|
||
frontend_status: "implemented"
|
||
frontend_owner: "hl-ui-codex"
|
||
frontend_ref: "mmg/hl-ui@06f9d4dce58ef64c3e5de96e44754c0793286d06"
|
||
updated_at: "2026-07-24T07:15:17.169Z"
|
||
---
|
||
# 车务:派单通知预览补齐接送与行程数据
|
||
|
||
> **服务**: hl-fleet-service(8087/8187)
|
||
> **PR**: #5213
|
||
> **Issue**: #5211
|
||
> **日期**: 2026-07-24
|
||
> **影响范围**: 管理后台派车弹窗“排车待确认”通知预览
|
||
|
||
---
|
||
|
||
## ⚠️ 关键变化
|
||
|
||
原预览接口只读取订单主表基础字段,导致已有大交通和行程的订单仍把“接团、送团、行程链接、有效期”渲染为空。现在预览与 HOLD 实际发送共用接送口径,并在不创建派单、不写短链记录的前提下补齐行程长链和有效期。
|
||
|
||
## 一、变更接口
|
||
|
||
| 接口 | 方法 | 路径 | 变更类型 |
|
||
|------|------|------|----------|
|
||
| 微信通知模板预览 | POST | `/admin/fleet/message-templates/{templateId}/render` | 响应内容修正,结构不变 |
|
||
|
||
### 入参
|
||
|
||
请求体字段、类型和必填规则均不变:
|
||
|
||
```json
|
||
{
|
||
"orderId": "订单雪花 ID",
|
||
"vehicleId": "车辆雪花 ID",
|
||
"driverId": "司机雪花 ID",
|
||
"serviceDates": ["2026-07-29", "2026-07-30", "2026-07-31"],
|
||
"chargeableServiceDates": ["2026-07-29", "2026-07-30", "2026-07-31"],
|
||
"vehicleFeeWaiverReason": null
|
||
}
|
||
```
|
||
|
||
### 出参
|
||
|
||
`MessageTemplateRenderRespVO` 结构仍为:
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| `renderedBody` | String | 已替换变量的完整通知正文 |
|
||
| `variablesUsed` | String[] | 模板实际引用的变量 key |
|
||
|
||
本次修正以下既有变量在 `renderedBody` 中的取值:
|
||
|
||
| 变量 | 新口径 |
|
||
|------|--------|
|
||
| `order.pickupInfo` | 从订单到达方向大交通格式化;无需平台接送或资料缺失时输出明确文案 |
|
||
| `order.dropoffInfo` | 从订单返程方向大交通格式化;单方向缺失不再留空 |
|
||
| `itinerary.url` | 使用 `orderId + 行程结束日` 无副作用现签订单级长链;签发失败时输出明确不可用文案 |
|
||
| `itinerary.expireAt` | 与行程链接签发口径同源计算;无法计算时输出“待确认” |
|
||
|
||
## 二、前端调用约束
|
||
|
||
- 前端无需新增请求字段,也无需自行拼接接送或行程文案。
|
||
- 继续直接展示后端返回的 `renderedBody`。
|
||
- 预览中的行程链接不会提前创建派单、派单短链或通知记录;真实发送仍由 HOLD 冻结链路生成稳定短链。
|
||
- 数据不可用时后端返回明确降级文案,前端不要再把这些文案转换为空串。
|
||
|
||
## 三、不影响范围
|
||
|
||
- 不修改模板、派单和通知接口的 JSON 结构。
|
||
- 不修改订单、大交通或行程数据。
|
||
- 不改变 HOLD 通知冻结、Outbox 投递和真实短链幂等规则。
|
||
- 不涉及 `hl-ui` 代码修改。
|
||
|
||
## 四、验证
|
||
|
||
- 定向测试:`MessageTemplateRenderServiceTest` + `AssignmentHoldNotificationSnapshotFactoryTest`,22/22 通过。
|
||
- 全量验证:`mvn -pl hl-fleet-service -am verify`,14 个 reactor 模块通过。
|
||
- Spotless:598 files clean。
|
||
- 测试环境网关验收将在 PR 合并并部署后补录到 Issue #5211。
|
||
|
||
## 五、相关文档
|
||
|
||
- [后端 Issue #5211](https://git.1814.love:8443/wx/HL/issues/5211)
|
||
- [后端 PR #5213](https://git.1814.love:8443/wx/HL/pulls/5213)
|