小程序新增出行人接口移除 travelerType 入参,后端按字典实时计算且不落库 (HL #1197)
小程序「常用出行人」页新增/编辑接口请求体不再传 travelerType, 后端按 birthday + 字典 traveler_type_age_rule 实时算并返回,DB 列不再写入。 响应字段不变。下单路径 MpOrderTravelerSaveReqVO 未涉及。
这个提交包含在:
父节点
7edd339569
当前提交
770d439780
@ -0,0 +1,86 @@
|
|||||||
|
---
|
||||||
|
date: 2026-04-22
|
||||||
|
type: change
|
||||||
|
scope: mp-traveler
|
||||||
|
pr: "#1197"
|
||||||
|
issue: "#1196"
|
||||||
|
breaking: false
|
||||||
|
consumers: [mp-miniprogram]
|
||||||
|
---
|
||||||
|
|
||||||
|
# 小程序新增/编辑出行人接口移除 `travelerType` 入参,后端按字典实时计算
|
||||||
|
|
||||||
|
## 摘要
|
||||||
|
|
||||||
|
`POST /mp/user/traveler` 与 `PUT /mp/user/traveler/{id}` 的请求体**不再接收 `travelerType` 字段**。出行人类型(ADULT/CHILD/YOUNG_CHILD/BABY)由后端依据 `birthday` + 字典 `traveler_type_age_rule` **实时计算**,且**不落库**——字典规则后续调整时历史数据口径会自动跟随,无须数据迁移。
|
||||||
|
|
||||||
|
## 前端需要做什么
|
||||||
|
|
||||||
|
### 1. 新增 / 编辑出行人
|
||||||
|
|
||||||
|
- **删除请求体里的 `travelerType` 字段**。即使偷传也会被后端忽略(字段已从 DTO 删除,JSON 反序列化静默丢弃)。
|
||||||
|
- `birthday` 仍可选;不传则后端兜底 `ADULT`。
|
||||||
|
|
||||||
|
**之前**:
|
||||||
|
|
||||||
|
```json
|
||||||
|
POST /mp/user/traveler
|
||||||
|
{
|
||||||
|
"name": "张三",
|
||||||
|
"travelerType": "CHILD", // ← 删掉
|
||||||
|
"birthday": "2020-05-01",
|
||||||
|
"idCardType": "PASSPORT",
|
||||||
|
"idCardNo": "E12345678"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**之后**:
|
||||||
|
|
||||||
|
```json
|
||||||
|
POST /mp/user/traveler
|
||||||
|
{
|
||||||
|
"name": "张三",
|
||||||
|
"birthday": "2020-05-01",
|
||||||
|
"idCardType": "PASSPORT",
|
||||||
|
"idCardNo": "E12345678"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 响应字段不变
|
||||||
|
|
||||||
|
`travelerType` 仍出现在所有响应 VO(POST/PUT/GET/GET list)里,值由后端按 birthday + 字典实时算:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 200,
|
||||||
|
"data": {
|
||||||
|
"travelerId": 2046901540208214018,
|
||||||
|
"name": "张三",
|
||||||
|
"birthday": "2020-05-01",
|
||||||
|
"travelerType": "CHILD", // 实时计算
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 年龄分段规则(来自字典 `traveler_type_age_rule`)
|
||||||
|
|
||||||
|
| 类型 | 年龄范围(含下限不含上限) |
|
||||||
|
|---|---|
|
||||||
|
| BABY | 0 ≤ age < 2 |
|
||||||
|
| YOUNG_CHILD | 2 ≤ age < 5 |
|
||||||
|
| CHILD | 5 ≤ age < 12 |
|
||||||
|
| ADULT | 12 ≤ age |
|
||||||
|
| 无 birthday | → ADULT(兜底) |
|
||||||
|
|
||||||
|
> 规则由管理端「字典管理 → traveler_type_age_rule」配置,后端缓存到 Redis `cache:dict:data:traveler_type_age_rule`,改动后自动生效。
|
||||||
|
|
||||||
|
## 兼容性
|
||||||
|
|
||||||
|
- **非 breaking**:旧前端仍带 `travelerType` 不会报错,字段被静默忽略。
|
||||||
|
- 下单路径 `MpOrderTravelerSaveReqVO` **暂不涉及**(仍接受 `travelerType`),只改「常用出行人」页的 `MpTravelerRequest`。
|
||||||
|
|
||||||
|
## 相关
|
||||||
|
|
||||||
|
- 后端 PR: https://git.1814.love:8443/wx/HL/pulls/1197
|
||||||
|
- 工单: https://git.1814.love:8443/wx/HL/issues/1196
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户