实现 Rooming List CP2 字段收口
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
| P0 | 邮件会话详情接口 `GET /api/source-messages/{sourceMessageId}/conversation` | 邮件会话详情页 | 已完成第一版 |
|
||||
| 联调 | 演示数据 seed 接口 `POST /api/system/reservation/demo-data` | 本地 / test 前端页面看效果 | 已完成;仅 dev/test 受控使用 |
|
||||
| 联调 | Debug EML 上传接口 `POST /api/system/debug/eml-superagent-runs` | Debug 页面上传 `.eml` 看 SuperAgent 结果 | 已完成第一版;仅 dev/test 受控使用 |
|
||||
| Done | Rooming List Excel 生成接口 `POST /api/reservation/rooming-lists/generations` | 房表生成页面 | CP1 已完成;CP2 已实现旅游日期派生、Adults 自动计算和目标默认值字段收口 |
|
||||
| P1 | S10/S99 源邮件只读通知卡与旧 S000/S999 兼容 | 任务列表、任务详情来源邮件查看 | 已完成第一版:旧 S000/S999 兼容,新结构化 S10/S99 可入站并在任务列表 / 详情只读展示 |
|
||||
| P1 | type-known manual review 同卡复核解阻 | 任务详情复核 | 已完成第一版:原业务任务卡复核、字段修正、订单归属确认、READY 流转 |
|
||||
| P1 | 任务卡前端字段白名单元数据接口 | 字段白名单调试、版本对齐 | 未完成;若任务详情已透出完整元数据,可后置 |
|
||||
@@ -1182,7 +1183,60 @@ POST /api/reservation/invoices/manual-generations
|
||||
- 第一版已写入 `workflow_reservation_invoice_generation` 生成记录和业务审计,但暂不提供前端查询历史列表 / 详情接口。
|
||||
- 错误响应中的 `error_code` 用于前端主错误文案映射;`message` / `details[]` 只作为折叠技术详情展示,不直接铺给普通用户。
|
||||
|
||||
## 13. 已确认后置接口
|
||||
## 13. Rooming List Excel 生成接口 CP2 契约
|
||||
|
||||
M010 Rooming List Excel 生成接口 CP1 已实现,前端 V1 已接入 `/reservation/rooming-lists/new`。CP2 不新增路径,继续收口同一个正式业务接口。
|
||||
|
||||
路径:
|
||||
|
||||
```text
|
||||
POST /api/reservation/rooming-lists/generations
|
||||
```
|
||||
|
||||
CP2 前端提交字段:
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `file` | 是 | 来源 Excel 文件,仅支持 `.xls` / `.xlsx`。 |
|
||||
| `hotel_id` | 否 | 当前选择酒店;不传时由后端按登录用户酒店上下文解析。 |
|
||||
| `people_per_room` | 是 | 每间房人数,正整数。 |
|
||||
| `room_type` | 是 | 目标 Excel 的 Room Type。 |
|
||||
| `payment_type` | 否 | 目标 Excel 的 Payment Type;默认和当前唯一允许值为 `CA`。 |
|
||||
| `nationality` | 是 | 目标 Excel 的 Nationality;只允许 `KR`、`CHN`。 |
|
||||
|
||||
CP2 前端不再提交:
|
||||
|
||||
```text
|
||||
arrival
|
||||
departure
|
||||
title
|
||||
rate_code
|
||||
adults
|
||||
children
|
||||
vip
|
||||
email
|
||||
id_type
|
||||
id_number
|
||||
```
|
||||
|
||||
后端派生规则:
|
||||
|
||||
- 从来源 Excel `旅游日期` 列解析入住和离店日期;样例 `2026年5月9日-5月14日` 派生 `Arrival=2026-05-09`、`Departure=2026-05-14`。
|
||||
- `Adults` 按当前分房行实际人数计算;尾房人数不足时按实际人数写入。
|
||||
- `Children` 固定为 `0`。
|
||||
- `Title`、`Rate Code`、`VIP`、`Email`、`ID Type`、`ID Number` 第一版固定为空。
|
||||
- 如果来源 Excel 缺少 `旅游日期`、日期格式无法解析、结束日期不晚于起始日期,或同一文件出现多个不同旅游日期区间,后端返回受控错误,不生成 Excel。
|
||||
|
||||
前端诉求:
|
||||
|
||||
- 页面第一部分保留上传来源 Excel、每房人数、Room Type。
|
||||
- 目标默认值区域只保留 Payment Type 和 Nationality 两个下拉。
|
||||
- Payment Type 默认选中 `CA`,当前不开放其他选项。
|
||||
- Nationality 只提供 `KR` 和 `CHN`。
|
||||
- 前端不读取完整 Excel 作为权威解析结果;旅游日期和成人数以后端生成结果为准。
|
||||
- 页面不要把上传文件内容、客人名单、生成文件内容写入浏览器日志、埋点、错误上报、URL 或 localStorage。
|
||||
|
||||
## 14. 已确认后置接口
|
||||
|
||||
普通任务切换订单接口继续后置,前端暂不开发提交能力。后续如果恢复开发,建议另行确认:
|
||||
|
||||
@@ -1211,7 +1265,7 @@ POST /api/reservation/tasks/{taskId}/order-binding
|
||||
}
|
||||
```
|
||||
|
||||
## 14. 待确认问题
|
||||
## 15. 待确认问题
|
||||
|
||||
- 订单列表、任务列表当前统一使用 `items + page` 分页结构;邮件会话详情不分页,返回同一会话全部邮件。
|
||||
- 邮件会话详情接口已优先使用 `GET /api/source-messages/{sourceMessageId}/conversation`。
|
||||
|
||||
Reference in New Issue
Block a user