2.7 KiB
2.7 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
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | 6155 | 补全出行信息:身份证国籍/民族自动兜底,非身份证需前端增加输入框 | admin | wx | 修改接口 | deployed | verified | verified | mmg | 8569529c | 2026-08-22 | 订单详情「补全出行信息」表单:身份证(ID_CARD)出行人提交时国籍/民族传空字符串不再被 581101 拒绝,后端自动兜底为「中国/汉族」;非身份证证件(护照等)仍要求国籍/民族非空,前端需在证件类型非身份证时增加国籍/民族输入框。 | 2026-08-22 | dev-v3 |
补全出行信息:身份证国籍/民族自动兜底,非身份证需前端增加输入框(#6155)
⚠️ 关键变化
- 之前:
PUT /v3/admin/orders/{id}/traveler-info(补全出行信息)与POST /v3/admin/orders/{id}/traveler/batch-edit(批量编辑)对国籍/民族空字符串一律抛 581101(12301 必报字段缺失)。前端表单无国籍/民族输入框,身份证出行人补全提交被拒。 - 现在:证件类型 = 身份证(ID_CARD)时,国籍/民族空字符串放行,后端兜底为「中国/汉族」落库;证件类型 ≠ 身份证时维持原行为(空串仍抛 581101)。
变更接口清单
| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
|---|---|---|---|---|---|
| 1 | 补全出行信息 | PUT | /v3/admin/orders/{id}/traveler-info |
校验行为变更 | ID_CARD 时 nationality/race 空串不再抛 581101,兜底「中国/汉族」;非身份证仍抛 |
| 2 | 批量编辑出行人 | POST | /v3/admin/orders/{id}/traveler/batch-edit |
校验行为变更 | 同上(两处共用 validate12301Fields,行为一致) |
前端动作(非身份证场景)
- 身份证场景:前端无需改动,空串提交即可,后端兜底。
- 非身份证(护照等)场景:前端需增加国籍/民族输入框,用户显式填写后再提交,否则仍报 581101。
- 字段说明:
nationality(国籍)、race(民族)传空字符串时——身份证兜底「中国/汉族」;非身份证报 581101「12301 必报字段缺失(国籍 / 民族不能为空字符串)」。
验证证据
- 单测:
TravelerServiceTest+3(身份证空串放行 / 非身份证 nationality 空串仍抛 / 非身份证 race 空串仍抛)、TravelerConverterTest+4(新增空串兜底 / 新增 null 兜底 / 更新空串不覆盖原值 / 更新 null 不覆盖原值),全绿。 - TEST 网关实测:见工单 #6155 验收评论。