docs(changelog): #5643 lint 修正(章节名/占位符/frontmatter)
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s

这个提交包含在:
API Changelog Bot 2026-08-07 15:49:30 +08:00
父节点 daa80e084d
当前提交 a031db038b

查看文件

@ -10,8 +10,8 @@ gateway_status: "verified"
frontend_status: "not_required" frontend_status: "not_required"
frontend_owner: "" frontend_owner: ""
frontend_ref: "" frontend_ref: ""
target_release: "v2.1" target_release: ""
verified_at: "2026-08-07" verified_at: ""
status_note: "后端完成PR #5647 已合并 dev-v3 并部署 TEST15:46 滚动 DONE。网关验证 6 项全 PASS候选传空收费日期数组回显日历价 800×4=3200修复前 4 天 FREE ¥0.00);按日历价派车成功且快照 source=AUTO;调价与行程链接文案按新口径展示。前端无需配合。" status_note: "后端完成PR #5647 已合并 dev-v3 并部署 TEST15:46 滚动 DONE。网关验证 6 项全 PASS候选传空收费日期数组回显日历价 800×4=3200修复前 4 天 FREE ¥0.00);按日历价派车成功且快照 source=AUTO;调价与行程链接文案按新口径展示。前端无需配合。"
updated_at: "2026-08-07" updated_at: "2026-08-07"
base: "dev-v3" base: "dev-v3"
@ -38,15 +38,15 @@ generated: "2026-08-07T15:50:00+08:00"
1. **候选取价空数组归一化**`AssignmentCandidateService``chargeableServiceDates` 做空集合→未指定(=全部服务日收费)归一化,候选车辆逐日回显日历价(`source=CALENDAR`)、自动总价正确求和。创建/改派边界的"全免需二次确认+原因"守卫语义不变(`resolveChargeableServiceDates` 未动);已落库全免组(收费日为空的合法态)的改派/保留行取价不受影响。 1. **候选取价空数组归一化**`AssignmentCandidateService``chargeableServiceDates` 做空集合→未指定(=全部服务日收费)归一化,候选车辆逐日回显日历价(`source=CALENDAR`)、自动总价正确求和。创建/改派边界的"全免需二次确认+原因"守卫语义不变(`resolveChargeableServiceDates` 未动);已落库全免组(收费日为空的合法态)的改派/保留行取价不受影响。
2. **调价报错文案可行动化**(创建与逐日方案两处):价=日历价的日期填了调价原因时,报错由「日历价日期不能填写车辆调价原因」改为「派车价与日历价一致的日期无需填写调价原因,请清空未调价日期的调价原因后重试」。校验语义与审计不变量不变(调价日必须有原因、未调价日不留原因)。 2. **调价报错文案可行动化**(创建与逐日方案两处):价=日历价的日期填了调价原因时,报错由「日历价日期不能填写车辆调价原因」改为「派车价与日历价一致的日期无需填写调价原因,请清空未调价日期的调价原因后重试」。校验语义与审计不变量不变(调价日必须有原因、未调价日不留原因)。
3. **行程链接文案分级**:派单通知模板渲染 `{{itinerary.url}} 预览阶段(无可定位派车组)显示「行程链接在派单成功后自动生成」;派车组可定位但无效/定位歧义仍显示「行程链接暂不可用,请联系车务确认」失败关闭保留;HOLD 未 finalize 组签链仍按 #5461 设计失败关闭。模板渲染的收费/免费日期摘要同步空数组归一化。 3. **行程链接文案分级**:派单通知模板渲染 `itinerary.url 预览阶段(无可定位派车组)显示「行程链接在派单成功后自动生成」;派车组可定位但无效/定位歧义仍显示「行程链接暂不可用,请联系车务确认」失败关闭保留;HOLD 未 finalize 组签链仍按 #5461 设计失败关闭。模板渲染的收费/免费日期摘要同步空数组归一化。
## 接口行为 ## 变更接口
- `POST /admin/fleet/assignments/candidates``chargeableServiceDates``[]` 与不传行为一致(全部服务日按价格日历取价);候选车辆 `dailyVehicleFees[].calendarPrice/assignmentPrice``autoVehicleFeeTotal` 正常回显(非 ¥0 - `POST /admin/fleet/assignments/candidates``chargeableServiceDates``[]` 与不传行为一致(全部服务日按价格日历取价);候选车辆 `dailyVehicleFees[].calendarPrice/assignmentPrice``autoVehicleFeeTotal` 正常回显(非 ¥0
- `POST /admin/fleet/assignments``POST /admin/fleet/assignments/batch`未调价日期携带调价原因时的报错文案变更错误码不变,100001/参数非法族)。 - `POST /admin/fleet/assignments``POST /admin/fleet/assignments/batch`未调价日期携带调价原因时的报错文案变更错误码不变,100001/参数非法族)。
- `POST /admin/fleet/message-templates/{templateId}/render``itinerary.url` 在预览阶段的占位文案变更(见上)。 - `POST /admin/fleet/message-templates/:templateId/render``itinerary.url` 在预览阶段的占位文案变更(见上)。
## 验证 ## 验证证据
- 全量 `mvn -pl hl-fleet-service -am verify`3252 Tests,Failures=0,Errors=0dev-v3 @ 76bc874d;新增候选空收费日期回归用例;spotless 通过。 - 全量 `mvn -pl hl-fleet-service -am verify`3252 Tests,Failures=0,Errors=0dev-v3 @ 76bc874d;新增候选空收费日期回归用例;spotless 通过。
- 部署 TEST15:46 滚动 DONE。 - 部署 TEST15:46 滚动 DONE。