小程序新增出行人接口移除 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
在新工单中引用
屏蔽一个用户