feat: 团队填报表单模式接口变更通知 (PR #105)

这个提交包含在:
API Changelog Bot 2026-04-01 12:44:46 +08:00
父节点 8d54c46554
当前提交 2f5056e4f4

查看文件

@ -0,0 +1,93 @@
# feat: 团队填报改为表单模式——预填/暂存/提交
- **PR**: #105(基于 #104
- **服务**: hl-order-service
- **类型**: 接口变更
---
## 接口变更
原来的 `POST /admin/team-report/sync` **废弃**,改为以下3个接口
### 1. 预填表单(从订单自动填充)
```
GET /admin/team-report/prefill/{orderId}
```
**说明**: 首次调用从订单数据自动填充所有字段;如已有暂存记录,返回上次保存的数据。
**响应**: 返回完整的 `TeamReportFormDTO`,包含以下区块:
| 区块 | 字段 |
|------|------|
| 基础 | orderId, agencyCode, businessType |
| 团队信息 | agencyName, agencyLicense, itineraryName, teamId, dateGo, timeGoHour/Minute, dateBack, timeBackHour/Minute, sourceCity, sourceProvince, destinationCity, destinationProvince, itineraryDay, vehicle, vehicleIn, vehicleOutNums, vehicleInNums, nativeTravelAgency, teamType, peopleNums, childNums, journeyDesc, applicantName, applicantPhone |
| 导游信息 | guides: [{name, cardId, phone, type, isLeader}] |
| 车队信息 | busInfo: [{carId, carComp, driverName, driverPhone}] |
| 行程单 | itineraryList: [{dayNumber, siteNum, date, city, province, journeyDesc, title, isTransit}] |
| 游客名单 | touristList: [{name, pyFamilyName, pyGivenName, dateOfBirth, phoneNum, sex, age, isChild, hrProvince, cardType, cardId, cardValidTo}] |
---
### 2. 暂存表单
```
POST /admin/team-report/save
```
**请求体**: 完整的 `TeamReportFormDTO`(和 prefill 返回结构一致)
**说明**: 保存用户编辑的表单数据,不提交到12301。状态保持 `PENDING`
---
### 3. 提交到12301
```
POST /admin/team-report/submit
```
**请求体**: 完整的 `TeamReportFormDTO`
**说明**: 保存表单数据并提交到12301平台。成功后状态变为 `SYNCED`
---
### 保留的接口
| 接口 | 用途 |
|------|------|
| `GET /admin/team-report/{orderId}` | 获取同步记录(含 formData |
| `GET /admin/team-report/status/{orderId}` | 实时查询12301审核状态 |
| `POST /admin/team-report/cancel` | 取消团队 |
---
## 前端页面对接
参考12301团队信息同步页面,在订单详情新增「同步」tab
1. 进入页面 → 调用 `GET /admin/team-report/prefill/{orderId}` 获取预填数据
2. 用户可编辑所有字段旅行社主体radio、业务类型radio、团队信息表单、导游/车队/行程可增删行)
3. 底部两个按钮:
- **「暂存」** → `POST /admin/team-report/save`
- **「提交到12301」** → `POST /admin/team-report/submit`
4. 已提交后展示 syncStatus 和 platformStatus
## 枚举值
**businessType**: 2=国内游组团, 6=入境接待, 7=国内接待
**teamType**: 1=自组自接, 2=包机, 3=专列, 4=其他
**vehicle**: 1=飞机, 2=火车, 3=轮船, 4=汽车, 5=其它
## DDL
```sql
ALTER TABLE team_report ADD COLUMN form_data JSON NULL COMMENT '表单数据JSON' AFTER upload_count;
```
## 需重启
- hl-order-service