hl-api-changelog/changelogs-v2/2026-07/24_5211_派单通知预览补齐接送与行程数据-修改接口-管理后台.md
Mimingguang 59470f7b4c chore(changelog): 标记前端已实现 #5211
修改原因: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
2026-07-24 15:15:17 +08:00

85 行
3.2 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

---
frontend_status: "implemented"
frontend_owner: "hl-ui-codex"
frontend_ref: "mmg/hl-ui@06f9d4dce58ef64c3e5de96e44754c0793286d06"
updated_at: "2026-07-24T07:15:17.169Z"
---
# 车务:派单通知预览补齐接送与行程数据
> **服务**: hl-fleet-service8087/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 模块通过。
- Spotless598 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)