hl-api-changelog/changelogs-v2/2026-08/07_5666_candidates收费日注释对齐行为加子集收费回显锁定-修改接口-管理后台.md
Mimingguang 54e1cb6f28
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
chore(v2): 标记 #5666 candidates 注释对齐前端无需改动
纯文档注解对齐+测试锁定,无运行时行为变更,前端消费口径为既有行为复述。
另核实 #5657/#5667 后端自标 not_required 属实(前端不强制派满建议数/
矩阵选择器本就读 requirementId),状态正确无需改动。
2026-08-08 09:23:32 +08:00

58 行
2.9 KiB
Markdown

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

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

---
schema: "hl-changelog/v2"
ticket: "5666"
title: "candidates 收费日注释对齐行为(空数组=全部收费预览)+ 子集收费回显口径锁定"
consumer: "admin"
author: "wx"
change_type: "修改接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "not_required"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: ""
status_note: "文档/口径对齐,无行为变更:#5643 起空数组已按全部收费预览,本次仅修正 ApiModelProperty 注释并补子集收费回显测试。矩阵派车司机回填与 ¥0 两症状经排查为前端问题,由协调台另行前端 changelog 分流。"
updated_at: "2026-08-08"
base: "dev-v3"
generated: "2026-08-07T21:00:00+08:00"
---
# candidates 收费日口径对齐(#5666 后端小加固)
## 背景
排查 #5666(矩阵派车司机回填/¥0时发现 `POST /admin/fleet/assignments/candidates``chargeableServiceDates` 注释("空数组表示全部免费")与实际行为不一致:#5643 起空数组刻意按"全部服务日收费"预览(防止全免 ¥0 陷阱),且已有测试锁定。注释为 #5643 前残留。
## 变更内容
| 项 | 变更 |
|---|---|
| `AssignmentCandidateReqVO.chargeableServiceDates` 注释 | 对齐行为:不传或空数组均按全部服务日收费预览;明确与创建派单接口语义差异(创建接口空数组=全部免费且需 confirmAllServiceDatesFree+免费原因);子集时仅子集收费、其余免费回显 |
| 测试 | 新增 `query_subsetChargeableServiceDates_marksOtherDaysFree`:锁定"子集收费日→仅子集 CALENDAR、其余 FREE ¥0、总价仅含子集"回显口径 |
**无任何运行时行为变更**(纯文档注解 + 测试)。
## 前端/调用方注意(既有行为复述,非新变更)
- candidates`chargeableServiceDates` 不传/空数组 = 全部收费预览;传子集 = 仅子集收费,其余日 `assignmentPrice=0.00`/`source=FREE`(免费日 `calendarPrice=null``calendarPriceMissing` 仅收费日缺价时为 true
- 创建/改派写接口语义不变:空数组 = 全部免费,须 `confirmAllServiceDatesFree=true` + 免费原因。
- 矩阵派车司机回填suggestedDriverId 消费)与部分收费日传入两个症状的修复见协调台前端 changelog。
## 关联 / 联系人
- 工单https://git.1814.love:8443/wx/HL/issues/5666
- 后端wx
## 变更接口或验证证据
### 接口契约
- `POST /admin/fleet/assignments/candidates` 请求字段 `chargeableServiceDates`:仅 Swagger 文档注释对齐既有行为,类型/约束/行为均无变更。
### 验证证据
- 定向:`AssignmentCandidateServiceTest` 49 全过(含新增子集收费用例与 #5643 空数组用例;fleet spotless:check 通过。
- 全量:`mvn -pl hl-fleet-service -am verify`(日志见证据目录)。
- 网关:口径探针复测 candidates 空数组=全收费、子集=[首日]=首日 CALENDAR 其余 FREE与锁定口径一致