hl-api-changelog/changelogs-v2/2026-08/07_5642_出行人所属地后端解析返回nativePlace-修改接口-管理后台.md
API Changelog Bot 88d1e4843e
一些检查失败了
changelog-filename-gate / validate (push) Failing after 2s
docs(5642): 前端核查——派单页所属地仍显示脱敏名,未生效 nativePlace,frontend_status 打回 claimed
2026-08-07 17:32:27 +08:00

4.6 KiB

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 5642 出行人所属地后端解析返回 nativePlace身份证前6位→地区名 admin wx 修改接口 deployed verified claimed mmg 7e7085b6 后端完成PR #5650 合并 dev-v31e37a1d53并部署 TEST;网关实测 150784→内蒙古呼伦贝尔市、469001→海南五指山市、110101→北京市,PASSPORT/已撤销历史码 nativePlace 为 null 不报错。 2026-08-07 dev-v3 2026-08-07T16:15:00+08:00

出行人所属地后端解析返回 nativePlace#5642

背景

出行人"所属地"此前由前端从身份证号前 6 位自行解析,显示乱码。改为后端解析返回。口径经协调台确认:按权威 GB/T 2260(现行版,省+地级粒度解析——150784=内蒙古呼伦贝尔市(工单示例"赤峰"系笔误,1504xx 才是赤峰);不新建 district 表,沿用 IdCardParser 静态码表模式(与 idProvinceName 同源)。

变更内容

GET /v3/admin/order/{id}/traveler/list 等 admin 出行人出参(TravelerVO,含 traveler list / 协同单 / 结算退回详情等所有 toAdminVO 路径)新增 nativePlace 字段

场景 nativePlace
大陆身份证,命中地级码 省短名+地市名,如 150784…内蒙古呼伦贝尔市320101…江苏南京市
直辖市1101/1201/3101/5001/5002 市名,如 110101…北京市
省直辖县级4190/4290/4690/6590 按 6 位精确映射,如 469001…海南五指山市659001…新疆石河子市
非身份证PASSPORT 等) null
未命中(含已撤销历史码如 3712 莱芜) null(不报错)

补充说明:

  • 解析基于解密后的明文 idNoconverter 层既有行为),仅 18 位结构 + 合法生日段才解析;数据源为现行 GB/T 2260 地级行政区码表,不含已撤销历史代码(历史码身份证所属地返回 null
  • 既有字段不受影响:idCardMasked 仍脱敏、idProvinceCode/idProvinceName 逻辑不变。
  • internal VO明文 Feign 契约未加该字段,admin 出参仅新增只读字段,无破坏性。

关联 / 联系人

变更接口或验证证据

接口契约

  • 接口路径/方法/请求体:不变。
  • 响应 data[].nativePlace 新增字段string | null所属地省+地级行政区名);非身份证或未命中为 null

验证证据

  • 定向测试 274 全过:IdCardParserTest#extractNativePlace_*(地级码/省直辖县级/非法与未命中 3 例)、TravelerConverterTest#toAdminVO_*nativePlace*2 例),覆盖 TravelerService/TravelerAdminController/OrderDetailService。
  • 全量 mvn -pl hl-order-service-v3 -am verify7610 测试,7F/95E 全部位于 30 个基线已坏的 Mapper/集成 IT 类Feign loadbalancer Bean 缺失、Flyway IT schema 校验等环境问题,git stash 基线复跑同类同败,无一涉及 traveler/idcard 影响面。
  • 部署 TEST 成功hl-order-service-v3 双实例 8086/8186 UP
  • 网关验证 10/10 PASS自建 HLTEST 订单 2085637067265449985150784→内蒙古呼伦贝尔市、469001→海南五指山市、110101→北京市、PASSPORT→null、371201→null 不报错;脱敏与省级字段回归通过。

前端/调用方动作

  • 出行人"所属地"列直接展示后端返回的 nativePlace删除前端自行解析身份证前 6 位的逻辑(当前乱码来源)。
  • nativePlacenull 时展示空(如 "-"),不要 fallback 到前端解析。
  • 适用接口:所有返回 TravelerVO 的 admin 接口(出行人列表等)。

⚠️ 前端核查2026-08-07 协调台实测)

TEST 环境派单页出行人"所属地"仍显示旧的脱敏名(如"陈"),未显示 nativePlace 地区名**。

  • 后端 nativePlace 已就绪150784→内蒙古呼伦贝尔市,网关实测 PASS,含所有 toAdminVO 路径)
  • changelog 标记 implemented7e7085b6,但派单页实测未生效
  • 请核查:①前端是否已部署最新到 TEST;②派单页订单派车-订单详情-出行人信息)的所属地列是否已改用 字段(而非自行解析/脱敏名)
  • frontend_status 打回 claimed,待前端确认部署+该位置接入后重新标 implemented