调整Rooming List付款方式选项
This commit is contained in:
@@ -487,7 +487,7 @@ RESERVATION_ROOMING_LIST_GENERATE
|
||||
- 每组第一位旅客写入 `Name` / `First Name`,同组剩余旅客写入 `Accompanying Guests`,多人用英文逗号分隔。
|
||||
- CP2 起前端不再展示或提交 `Arrival` / `Departure`,后端从来源 Excel 的 `旅游日期` 派生。样例 `2026年5月9日-5月14日` 应生成 `Arrival=2026-05-09`、`Departure=2026-05-14`。
|
||||
- CP2 起前端不再展示或提交 `Adults`,后端按每个分房行的实际人数派生;尾房不足满房人数时按尾房实际人数写入。`Children` 第一版固定为 `0`。
|
||||
- CP2 起目标默认值区域只保留 `Payment Type` 和 `Nationality`:`Payment Type` 默认且当前唯一允许值为 `CA`;`Nationality` 只允许 `KR`、`CHN`。
|
||||
- CP2 起目标默认值区域只保留 `Payment Type` 和 `Nationality`:`Payment Type` 默认 `BTQR`,当前允许 `BTQR`、`CA`;`Nationality` 只允许 `KR`、`CHN`。
|
||||
- CP2 页面不再展示或提交 `Title`、`Rate Code`、`VIP`、`Email`、`ID Type`、`ID Number`,这些目标列第一版固定为空。
|
||||
- 第一版接口成功后直接返回 Excel 文件流,前端应按 Blob 下载处理,不要期待 JSON 里的 URL。
|
||||
- 失败时返回统一 JSON 错误,例如 `ROOMING_LIST_VALIDATION_FAILED`、`ROOMING_LIST_SOURCE_FILE_INVALID`、`HOTEL_ACCESS_DENIED` 或 `FRONTEND_PERMISSION_DENIED`。
|
||||
|
||||
@@ -1201,7 +1201,7 @@ CP2 前端提交字段:
|
||||
| `hotel_id` | 否 | 当前选择酒店;不传时由后端按登录用户酒店上下文解析。 |
|
||||
| `people_per_room` | 是 | 每间房人数,正整数。 |
|
||||
| `room_type` | 是 | 目标 Excel 的 Room Type。 |
|
||||
| `payment_type` | 否 | 目标 Excel 的 Payment Type;默认和当前唯一允许值为 `CA`。 |
|
||||
| `payment_type` | 否 | 目标 Excel 的 Payment Type;默认 `BTQR`,当前允许 `BTQR`、`CA`。 |
|
||||
| `nationality` | 是 | 目标 Excel 的 Nationality;只允许 `KR`、`CHN`。 |
|
||||
|
||||
CP2 前端不再提交:
|
||||
@@ -1231,7 +1231,7 @@ id_number
|
||||
|
||||
- 页面第一部分保留上传来源 Excel、每房人数、Room Type。
|
||||
- 目标默认值区域只保留 Payment Type 和 Nationality 两个下拉。
|
||||
- Payment Type 默认选中 `CA`,当前不开放其他选项。
|
||||
- Payment Type 默认选中 `BTQR`,当前提供 `BTQR`、`CA` 两个选项。
|
||||
- Nationality 只提供 `KR` 和 `CHN`。
|
||||
- 前端不读取完整 Excel 作为权威解析结果;旅游日期和成人数以后端生成结果为准。
|
||||
- 页面不要把上传文件内容、客人名单、生成文件内容写入浏览器日志、埋点、错误上报、URL 或 localStorage。
|
||||
|
||||
@@ -33,7 +33,7 @@ CP2 目标调整:
|
||||
- 后端从来源 Excel 的 `旅游日期` 列解析入住日期和离店日期,不再要求前端手填 `arrival` / `departure`。
|
||||
- 后端按分房结果计算目标 `Adults`,不再要求前端手填 `adults`。
|
||||
- 目标默认值区域只保留 `Payment Type` 和 `Nationality` 两个字段。
|
||||
- `Payment Type` 前端默认为 `CA`,后端也按 `CA` 作为当前唯一允许值校验。
|
||||
- `Payment Type` 前端默认为 `BTQR`,当前可选择 `BTQR` 或 `CA`,后端按同一枚举校验。
|
||||
- `Nationality` 前端只允许选择 `KR` 或 `CHN`,后端按同一枚举校验。
|
||||
|
||||
第一阶段不做:
|
||||
@@ -169,7 +169,7 @@ people_per_room = 3
|
||||
| `Number of Rooms` | 第一版每行固定为 `1`,后续如目标模板变化再调整 |
|
||||
| `Adults` | CP2 由后端按当前房间实际人数派生 |
|
||||
| `Children` | CP2 固定为 `0` |
|
||||
| `Payment Type` | 前端选择;当前默认和唯一允许值为 `CA` |
|
||||
| `Payment Type` | 前端选择;当前默认值为 `BTQR`,允许 `BTQR`、`CA` |
|
||||
| `VIP` | CP2 固定为空,后续如有稳定默认值再单独确认 |
|
||||
| `Accompanying Guests` | 同房其他旅客姓名,英文逗号分隔 |
|
||||
| `Nationality` | 前端选择;当前只允许 `KR`、`CHN` |
|
||||
@@ -202,7 +202,7 @@ Content-Type: multipart/form-data
|
||||
| `hotel_id` | string | 否 | 酒店 ID;不传时按当前登录用户默认酒店或单酒店上下文解析 |
|
||||
| `people_per_room` | integer | 是 | 每间房人数,必须大于 0 |
|
||||
| `room_type` | string | 是 | 目标 Excel 的 `Room Type` |
|
||||
| `payment_type` | string | 否 | CP2 目标 Excel 的 `Payment Type`;为空时后端按 `CA` 处理;当前只允许 `CA` |
|
||||
| `payment_type` | string | 否 | CP2 目标 Excel 的 `Payment Type`;为空时后端按 `BTQR` 处理;当前只允许 `BTQR`、`CA` |
|
||||
| `nationality` | string | 是 | CP2 目标 Excel 的 `Nationality`;当前只允许 `KR`、`CHN` |
|
||||
|
||||
CP2 不再接收以下前端业务字段作为生成依据:
|
||||
@@ -244,7 +244,7 @@ Content-Disposition: attachment; filename="rooming-list-<timestamp>.xlsx"
|
||||
|
||||
- multipart 必填字段缺失,返回 `ROOMING_LIST_VALIDATION_FAILED`。
|
||||
- `people_per_room` 数字格式错误,返回 `ROOMING_LIST_VALIDATION_FAILED`。
|
||||
- `payment_type` 非 `CA`,返回 `ROOMING_LIST_VALIDATION_FAILED`。
|
||||
- `payment_type` 非 `BTQR` / `CA`,返回 `ROOMING_LIST_VALIDATION_FAILED`。
|
||||
- `nationality` 非 `KR` / `CHN`,返回 `ROOMING_LIST_VALIDATION_FAILED`。
|
||||
- 来源文件缺失、非 `.xls` / `.xlsx`、无法读取、缺少 `护照全名` 表头或缺少 / 无法解析 `旅游日期` 表头,返回 `ROOMING_LIST_SOURCE_FILE_INVALID`。
|
||||
- 同一来源文件出现多个不同旅游日期区间,CP2 返回受控错误,不生成 Excel。
|
||||
@@ -309,7 +309,7 @@ RESERVATION_ROOMING_LIST_GENERATE
|
||||
- 填写每间房人数。
|
||||
- 填写目标 `Room Type`。
|
||||
- 目标默认值区域只保留 `Payment Type` 和 `Nationality`。
|
||||
- `Payment Type` 使用下拉或固定选择,默认 `CA`,当前不开放其他值。
|
||||
- `Payment Type` 使用下拉选择,默认 `BTQR`,当前可选择 `BTQR` 或 `CA`。
|
||||
- `Nationality` 使用下拉,只允许 `KR`、`CHN`。
|
||||
- 展示解析预览:总人数、预计房间数、前几行分房结果。
|
||||
- 点击生成后下载 `.xlsx`。
|
||||
@@ -336,7 +336,7 @@ RESERVATION_ROOMING_LIST_GENERATE
|
||||
- 尾房人数不足时仍生成一行。
|
||||
- `Adults` 按每个房间实际人数派生,尾房人数不足时不使用满房人数。
|
||||
- `Children` 默认为 `0`。
|
||||
- `payment_type` 为空时按 `CA` 处理,非 `CA` 返回受控错误。
|
||||
- `payment_type` 为空时按 `BTQR` 处理,非 `BTQR` / `CA` 返回受控错误。
|
||||
- `nationality=KR` / `CHN` 成功,其他值返回受控错误。
|
||||
- 来源文件中多个不同旅游日期区间返回受控错误。
|
||||
- 缺少 `旅游日期` 表头或旅游日期格式无法解析时返回受控错误。
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
| `POST /api/reservation/tasks/{taskId}/opera-operations/{operationId}/retry` | `FRONTEND_USER` | 当前为 OPERA 模拟 | 登录 + `RESERVATION_OPERA_SIM_EXECUTE` + 酒店访问权 | 必须写业务审计和 attempt |
|
||||
| `GET /api/reservation/tasks/{taskId}/audits` | `FRONTEND_USER` | 已强制 Bearer 登录 + `RESERVATION_AUDIT_READ`;按任务实际所属酒店校验访问权 | 保持登录 + `RESERVATION_AUDIT_READ` + 酒店访问权 | 查询审计不再写审计 |
|
||||
| `POST /api/reservation/invoices/manual-generations` | `FRONTEND_USER` | 已实现 M009 CP2;强制 Bearer 登录 + `RESERVATION_INVOICE_GENERATE` + 酒店访问权;`task_id` / `order_id` 可为空,传入时反查对象所属酒店 | 保持登录 + `RESERVATION_INVOICE_GENERATE` + 酒店访问权;后续如增加历史列表或预填接口需单独登记权限 | 写业务审计,记录来源类型、模板版本、生成结果摘要;生成失败写入生成记录安全错误摘要 |
|
||||
| `POST /api/reservation/rooming-lists/generations` | `FRONTEND_USER` | 已实现 M010 CP1 / CP2;multipart 上传来源名单并直接下载 `.xlsx`;已在 multipart 参数绑定前前置校验登录和生成权限 | 登录 + `RESERVATION_ROOMING_LIST_GENERATE` + 酒店访问权;后端从来源 Excel `旅游日期` 派生 Arrival / Departure,Adults 按分房结果计算,目标默认值区域只保留 Payment Type / Nationality;第一版仍不落库、不上传 OSS | CP1 / CP2 不落生成记录表;错误响应不得记录完整名单、证件信息、源文件内容或生成文件内容;后续若增加历史记录再补业务审计 |
|
||||
| `POST /api/reservation/rooming-lists/generations` | `FRONTEND_USER` | 已实现 M010 CP1 / CP2;multipart 上传来源名单并直接下载 `.xlsx`;已在 multipart 参数绑定前前置校验登录和生成权限 | 登录 + `RESERVATION_ROOMING_LIST_GENERATE` + 酒店访问权;后端从来源 Excel `旅游日期` 派生 Arrival / Departure,Adults 按分房结果计算,目标默认值区域只保留 Payment Type / Nationality;Payment Type 默认 `BTQR` 且仅允许 `BTQR` / `CA`;第一版仍不落库、不上传 OSS | CP1 / CP2 不落生成记录表;错误响应不得记录完整名单、证件信息、源文件内容或生成文件内容;后续若增加历史记录再补业务审计 |
|
||||
|
||||
### 3.2.1 V4 工作台、订单详情和任务详情页展示层技术信息边界
|
||||
|
||||
|
||||
Reference in New Issue
Block a user