文件
hl-api-changelog/changelogs-v2/2026-08/07_5656_派单详情travelers补nativePlace跨服务透传-修改接口-管理后台.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

4.8 KiB
原始文件 Blame 文件历史

schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
schema ticket title consumer author change_type backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base generated
hl-changelog/v2 5656 派单详情 travelers 补 nativePlace 跨服务透传(#5642 链路补全) admin wx 修改接口 deployed verified verified mmg 7e7085b6 2026-09-18 后端完成:PR #5661 合并 dev-v3(3ee5770af)并部署 TEST(order-v3+fleet 双服务);网关实测派单详情与 travelers 端点 nativePlace 解析正确(150784→内蒙古呼伦贝尔市等 5 场景)。[mmg 2026-09-18 批量复核翻 verified] ref 7e7085b6 可达且为 v2.1 祖先;交付文件 HEAD 均在;关联 spec 批量 891 例全绿。 2026-09-18 dev-v3 2026-08-07T18:40:00+08:00

派单详情 travelers 补 nativePlace 跨服务透传(#5656)

背景

#5642 仅为 order 管理端 TravelerVO(traveler/list 等)加了 nativePlace;派单详情走跨服务链路(order GET /v3/internal/order/orders/{orderId}/fleet-detail-context → fleet BoardOrderDetailVO.travelers),该链路 traveler DTO 未带 nativePlace,派单页/看板详情展示出行人时缺所属地。本单补全该链路。

变更内容

层 变更
hl-common OrderTravelerForFleetDTO 新增可空 nativePlace(身份证所属地,省+地级行政区名;非身份证/未命中为 null)
order 生产者 OrderFleetProviderService#toMaskedTraveler 填充(复用 #5642 IdCardParser 解析结果,同源 idProvinceName)
fleet 消费者 BoardOrderDetailVO.travelers / GET /admin/fleet/board/orders/{id}/travelers / FleetTravelerAccessService#listMasked 均直接复用共享 DTO,无逐字段映射,自动获得字段

受影响接口(均为新增只读字段,无破坏性):

  • GET /admin/fleet/board/orders/{orderId}(派单详情聚合)→ data.travelers[].nativePlace
  • GET /admin/fleet/board/orders/{orderId}/travelers → data[].nativePlace
  • internal:GET /v3/internal/order/orders/{orderId}/fleet-detail-context、GET /v3/internal/order/orders/{orderId}/fleet-travelers 的 traveler 投影同步带 nativePlace

取值口径与 #5642 一致:大陆身份证命中地级码→省短名+地市名(如 150784…→内蒙古呼伦贝尔市);直辖市→市名;省直辖县级(4190/4290/4690/6590)→6 位精确映射;非身份证或未命中(含已撤销历史码)→null 不报错。

关联 / 联系人

变更接口或验证证据

接口契约

  • 接口路径/方法/请求体:不变。
  • 响应 travelers 项新增 nativePlace(string | null)。

验证证据

  • 定向测试:order OrderFleetProviderServiceTest 53 全过(含 fleet-detail-context nativePlace 断言);fleet BoardOrderServiceTest 87 + BoardControllerTest 11 全过(含派单详情 travelers.nativePlace 透传断言)。
  • 全量:fleet mvn -pl hl-fleet-service -am verify 3256 测试,失败仅 ReleaseEMixedBinaryHarnessTest(1F)+ReleaseEOccupancyMysql8033RecoveryTest(10E) 两个 harness 类,git stash 基线复跑同类同败;order -pl hl-order-service-v3 -am verify 7610 测试 7F/95E 失败类集与 #5642 基线逐一相同;fleet spotless:check 通过。
  • 部署 TEST 成功(hl-order-service-v3 + hl-fleet-service)。
  • 网关验证(自建 HLTEST 订单 2085637067265449985,复用 #5642 五场景出行人):派单详情与 travelers 端点均断言 150784→内蒙古呼伦贝尔市、469001→海南五指山市、110101→北京市、PASSPORT→null、371201(已撤销码)→null;脱敏与省级字段回归通过。

前端/调用方动作

  • 派单页/看板详情展示出行人所属地时直接使用 travelers[].nativePlace;null 展示空(如 "-")。
  • 与 #5642 traveler/list 口径一致,前端两处共用同一展示逻辑即可。

前端核查(2026-08-08 mmg 实查,前端无需新改动)

本单即 #5642 协调台更正中所述「另立后端工单补 fleet-detail-context→BoardOrderDetailVO 链路」的后端补全。前端派单页所属地列早在 #5642(hl-admin@7e7085b6)已接入并透传:

  • src/views/fleet/board/components/Step1OrderDetail.vue 所属地列渲染 traveler.nativePlace || traveler.idProvinceName || '—'。
  • 数据链 loadBoardOrderDetail → normalizeBoardOrder(...row) → buildActiveAssignmentOrder(...order) → travelers map(...traveler) 全程透传、无白名单丢字段。
  • 后端在 BoardOrderDetailVO.travelers 补 nativePlace 后,前端列自动取值生效,前端零改动。frontend_ref 沿用 #5642 的 7e7085b6(无新提交)。