From acf586b8f3e911e32929f7b48cbc8ce106cf6a1a Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Sat, 22 Aug 2026 07:34:35 +0000 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20#6155=20=E8=A1=A5=E5=85=A8?= =?UTF-8?q?=E5=87=BA=E8=A1=8C=E4=BF=A1=E6=81=AF=E8=BA=AB=E4=BB=BD=E8=AF=81?= =?UTF-8?q?=E5=9B=BD=E7=B1=8D/=E6=B0=91=E6=97=8F=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=85=9C=E5=BA=95=EF=BC=88=E9=9D=9E=E8=BA=AB=E4=BB=BD=E8=AF=81?= =?UTF-8?q?=E9=9C=80=E5=89=8D=E7=AB=AF=E8=A1=A5=E8=BE=93=E5=85=A5=E6=A1=86?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude --- ...‘族自动兜底非身份证需前端补输入框-修改接口-管理后台.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 changelogs-v2/2026-08/22_6155_补全出行信息身份证国籍民族自动兜底非身份证需前端补输入框-修改接口-管理后台.md diff --git a/changelogs-v2/2026-08/22_6155_补全出行信息身份证国籍民族自动兜底非身份证需前端补输入框-修改接口-管理后台.md b/changelogs-v2/2026-08/22_6155_补全出行信息身份证国籍民族自动兜底非身份证需前端补输入框-修改接口-管理后台.md new file mode 100644 index 00000000..866c3002 --- /dev/null +++ b/changelogs-v2/2026-08/22_6155_补全出行信息身份证国籍民族自动兜底非身份证需前端补输入框-修改接口-管理后台.md @@ -0,0 +1,43 @@ +--- +schema: "hl-changelog/v2" +ticket: "6155" +title: "补全出行信息:身份证国籍/民族自动兜底,非身份证需前端增加输入框" +consumer: "admin" +author: "wx" +change_type: "修改接口" +backend_status: "deployed" +gateway_status: "verified" +frontend_status: "pending" +frontend_owner: "mmg" +frontend_ref: "" +target_release: "" +verified_at: "2026-08-22" +status_note: "订单详情「补全出行信息」表单:身份证(ID_CARD)出行人提交时国籍/民族传空字符串不再被 581101 拒绝,后端自动兜底为「中国/汉族」;非身份证证件(护照等)仍要求国籍/民族非空,前端需在证件类型非身份证时增加国籍/民族输入框。" +updated_at: "2026-08-22" +base: "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 验收评论。