文件
hl-api-changelog/changelogs-v2/2026-08/06_5571_派车价0与未填价格允许发送司机(0价不再被非负金额拦截)-修改接口-管理后台.md
T
Mimingguang 87ed9d0a3f
changelog-filename-gate / validate (push) Failing after 2s
chore(changelog): 全量清理 implemented 存量——81 条复核翻 verified + 1 条改判 not_required + #5827 补登 frontend_ref
处置明细(mmg 2026-09-18):
- 68 条机械核验通过批量翻 verified:frontend_ref 均可达且为 v2.1 祖先、
  交付文件 HEAD 均在、关联 spec 批量 58 文件 891 例全绿。
- 11 条带演进史的例外逐条核后翻 verified:3 条交付自删文件(06_5610/
  07_5655/11_5810,删除即交付内容且终态保持);8 条被后续 changelog 预期
  演进(10_5784→#5810、07_5664/08_5592→#5827、07_5665→去槽位化 U1、
  01_5380/05_5356/06_5567/06_5581→settlement 族A扁平化与 mock 清理),
  status_note 均如实记录演进链。
- 05_5552 改判 not_required:frontend_ref 自述前端无需改动,grep 实证
  vehicleFeeAmount.js 直接读后端 calendarPrice/calendarPriceMissing。
- 11_5827 frontend_ref 原空,经核交付即 753503c8(向导 4 步改 3 步提交
  即派定),补登全哈希 753503c87cc635e5646b4368a8ed506746c79cf1。
另:保险域 2 条相邻条目(05_5530/06_5593)同标准复核翻 verified。
2026-07 历史月 45 条按规则不回扫,保持原状。
2026-09-18 15:56:52 +08:00

5.8 KiB
原始文件 Blame 文件历史

schema, ticket, title, consumer, change_type, author, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
schema ticket title consumer change_type author backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base generated
hl-changelog/v2 5571 派车价0与未填价格允许发送司机(0价不再被非负金额拦截) admin 修改接口 wx(GIT) deployed verified verified pi-main-session hl-admin@e2a060d09a66cdb5b89184e3c35a3fbfd923064f v2.1 2026-09-18 后端完成:PR #5577 + #5580 已合并 dev-v3 并部署 TEST;网关实测 0 价 batchCreate 发送司机成功(assigned/protocolPrice=0.00)。前端需确认校验规则放行 0/空价并适配日格价格默认值展示(anchor #5571,hl-ui v2.1 已有 DailyVehicleFeeList 编辑入口,需前端部署后核验)。[mmg 2026-09-18 批量复核翻 verified] ref e2a060d0 可达且为 v2.1 祖先;交付文件 HEAD 均在;关联 spec 批量 891 例全绿。 2026-09-18 dev-v3 2026-08-06T01:33:44+08:00

派车价0与未填价格允许发送司机(0价不再被非负金额拦截)

服务: hl-fleet-service PR: #5577 + #5580 Issue: #5571 日期: 2026-08-06

背景

#5571(P1 阻断)协调台浏览器实测:26-4220 派车 2 全程槽派好车/司机后,日格"本次派车价"显示 ¥0.00,行内报"价格应为非负金额,整数最多 10 位、小数最多 2 位","下一步·发送给司机"被前端表单校验拦死(0/8 日格无法完成)。wx 口径:实际派车价格为 0 是允许的(含团费/内部结算等场景)——0 价不得拦截发送司机。

校验出处定位

  • 该文案出自前端 hl-ui v2.1 src/views/fleet/board/utils/daily-vehicle-plan.js 提交门禁(ASSIGNMENT_PRICE_PATTERN 拒绝空值)与 DailyVehiclePlanMatrix 输入校验;后端 dev-v3 无此文案。
  • 触发链:后端详情 dailyVehiclePlan[].assignmentPrice 曾回显 null(逐日行未冻结价格时直接取单值 protocolPrice),前端显示层兜底为 ¥0.00 但提交校验拿到空值即拦截。

变更接口

方法 路径 来源 变更
POST /admin/fleet/assignments/batch AssignmentController(fleet) 语义变更:用车日 assignmentPrice 允许为空或 0(未填→日历参考价代入);0 价为合法派车价
GET /admin/fleet/board/orders/<orderId> BoardOrderController(fleet) 语义变更:dailyVehiclePlan[].assignmentPrice 不再回显 null——快照价→协议价→日历参考价→0 兜底;priceSource 同步(快照源优先,全缺=MISSING)
POST /admin/fleet/assignments/<assignmentId>/change 等 AssignmentController(fleet) 语义变更:DAILY_V3 快照豁免矩阵仅约束免费日;收费日 0 价(无豁免原因)不再被拦截

字段结构均不变(无新增/删除/改名),仅取值语义与门禁口径调整。

前端/调用方动作(anchor #5571)

  1. 校验规则放行 0 与空价:daily-vehicle-plan.js 提交门禁与矩阵输入校验应允许 0 与空值(空值按 0/日历价兜底,由后端回显保证非 null);仅负数与超精度(整数≤10 位、小数≤2 位)拒绝
  2. 日格价格默认值展示:后端已按"日历参考价代入→0 兜底"回显;前端如遇 assignmentPrice=null 的历史数据(修复前已存),可显示 0.00 或 -,不得触发"价格应为非负金额"拦截
  3. 编辑入口:hl-ui v2.1 已具备 DailyVehicleFeeList 日格价格输入框(editable 状态);若当前部署版本无编辑入口,请升级前端或按后端候选参考价自动代入
  4. 与日历参考价不一致的 0 价仍必须填写改价原因(priceAdjustmentReason,#5292 口径),前端原因输入逻辑保持不变

验证证据

  • 定向测试:VehicleFeeQuoteServiceTest 16/16(未填→日历价代入、显式 0 价、0 日历价)、AssignmentServiceTest 371/371(null/0 放行、负数/缺司机拒绝)、BoardOrderServiceTest 84/84(回显兜底链:快照 0 优先/日历价回退/全缺 0+MISSING)、DailyVehicleAssignmentSnapshotFactoryTest 9/9(收费日 0 价免豁免、免费日必填豁免);fleet 全量 mvn -pl hl-fleet-service -am verify:3168 tests,0 failures,0 errors,4 skipped(含 spotless:check)
  • 网关验证(TEST):0 价 batchCreate(HL20260804104759654,5 日 dailyPlan 全 0 价 + 改价原因,holdMode=0)→ code=200 发送司机成功:assigned、protocolPrice=0.00、vehicleFeeTotal=0.00、MANUAL;详情回显 2080599963561005058 8/8 日格 assignmentPrice 非 null 且为逐日快照价(600-730)而非旧 protocolPrice 单值;候选接口日历价参考回显不变(1500.00 CALENDAR)
  • 环境说明:MySQL 集成测试依赖 127.0.0.1:3306 固定映射,本机 Docker 端口 TIME_WAIT 竞争导致部分用例偶发失败,清理残留容器+等待端口消退后单独重跑全绿

关联/联系人

链接

联系人

  • 后端负责人: @wx
  • 前端消费: 待认领(hl-admin)