182 行
5.8 KiB
Markdown
182 行
5.8 KiB
Markdown
# 合同方案 + 产品合同配置改版 + 支付前出行人校验
|
||
|
||
## 功能说明
|
||
|
||
### 1. 合同方案管理(新增)
|
||
合同配置改为"合同方案"模式(与保险方案一致),产品只需选择一个合同方案ID。
|
||
|
||
### 2. 产品合同配置改版(破坏性变更)
|
||
产品上原来的 9 个合同字段(contractPlatform, contractTemplateCode, contractMode, signatoryMode, agencyCode, disputeResolution, supplementaryClause, transactorName, transactorPhone)已全部删除,替换为单个 `contractSchemeId` 字段。
|
||
|
||
### 3. 支付前出行人校验规则变更
|
||
- **预约产品**(isBooking=true):定金支付不要求出行人,全款/尾款要求出行人齐全
|
||
- **非预约产品**(isBooking=false):所有支付类型都要求出行人齐全
|
||
|
||
### 4. HTTP 200 统一化
|
||
所有接口只要请求能到达服务器,HTTP状态码一律返回200,业务错误在响应体Result中返回。
|
||
|
||
---
|
||
|
||
## 合同方案接口清单
|
||
|
||
### 查询启用的合同方案列表(下拉选择用)
|
||
- **GET** `/admin/contract/scheme/list`
|
||
- **响应**:`Result<List<ContractSchemeVO>>`
|
||
|
||
### 查询全部合同方案列表(管理页面用)
|
||
- **GET** `/admin/contract/scheme/list-all`
|
||
- **响应**:`Result<List<ContractSchemeVO>>`
|
||
|
||
### 获取合同方案详情
|
||
- **GET** `/admin/contract/scheme/{schemeId}`
|
||
- **响应**:`Result<ContractSchemeVO>`
|
||
|
||
### 创建合同方案
|
||
- **POST** `/admin/contract/scheme`
|
||
- **请求体**:`ContractSchemeRequest`
|
||
- **响应**:`Result<ContractSchemeVO>`
|
||
|
||
### 更新合同方案
|
||
- **PUT** `/admin/contract/scheme/{schemeId}`
|
||
- **请求体**:`ContractSchemeRequest`
|
||
- **响应**:`Result<ContractSchemeVO>`
|
||
|
||
### 切换方案启用/停用状态
|
||
- **PUT** `/admin/contract/scheme/{schemeId}/toggle-status`
|
||
- **响应**:`Result<ContractSchemeVO>`
|
||
|
||
### 删除合同方案
|
||
- **DELETE** `/admin/contract/scheme/{schemeId}`
|
||
- **响应**:`Result<Void>`
|
||
|
||
---
|
||
|
||
## ContractSchemeRequest 参数
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| name | String | 是 | 方案名称,如"标准国内电子签约方案" |
|
||
| description | String | 否 | 方案描述 |
|
||
| contractPlatform | String | 是 | 合同平台:`12301`(全国旅游监管平台)/ `FADADA`(法大大) |
|
||
| contractTemplateCode | String | 是 | 合同模板编码,如 `TOURAGE_STANDARD` |
|
||
| contractMode | String | 是 | 签约模式:`STANDARD`(电子签约)/ `SYNC`(线下报备) |
|
||
| signatoryMode | Integer | 是 | 签署模式:`1`=短信签署 `2`=现场签署 `3`=线下签署 |
|
||
| agencyCode | String | 是 | 旅行社编码 |
|
||
| disputeResolution | Integer | 是 | 争议解决方式:`1`=仲裁 `2`=诉讼 |
|
||
| supplementaryClause | String | 否 | 补充条款 |
|
||
| transactorName | String | 是 | 经办人姓名 |
|
||
| transactorPhone | String | 是 | 经办人电话 |
|
||
| sortOrder | Integer | 否 | 排序(越小越靠前) |
|
||
|
||
## ContractSchemeVO 响应
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| schemeId | String | 方案ID |
|
||
| name | String | 方案名称 |
|
||
| description | String | 方案描述 |
|
||
| contractPlatform | String | 合同平台:12301/FADADA |
|
||
| contractTemplateCode | String | 合同模板编码 |
|
||
| contractMode | String | 签约模式:STANDARD/SYNC |
|
||
| signatoryMode | Integer | 签署模式:1=短信 2=现场 3=线下 |
|
||
| agencyCode | String | 旅行社编码 |
|
||
| disputeResolution | Integer | 争议解决方式:1=仲裁 2=诉讼 |
|
||
| supplementaryClause | String | 补充条款 |
|
||
| transactorName | String | 经办人姓名 |
|
||
| transactorPhone | String | 经办人电话 |
|
||
| sortOrder | Integer | 排序 |
|
||
| status | String | 状态:ACTIVE/INACTIVE |
|
||
| createTime | DateTime | 创建时间 |
|
||
|
||
---
|
||
|
||
## 产品接口变更(破坏性变更)
|
||
|
||
### 产品创建/更新/保存接口
|
||
|
||
**删除的字段**(以下字段不再使用):
|
||
- ~~contractPlatform~~
|
||
- ~~contractTemplateCode~~
|
||
- ~~contractMode~~
|
||
- ~~signatoryMode~~
|
||
- ~~agencyCode~~
|
||
- ~~disputeResolution~~
|
||
- ~~supplementaryClause~~
|
||
- ~~transactorName~~
|
||
- ~~transactorPhone~~
|
||
|
||
**新增的字段**:
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| contractSchemeId | Long | 是(创建时) | 合同方案ID,从 `/admin/contract/scheme/list` 获取 |
|
||
|
||
### 产品详情接口
|
||
|
||
**响应变更**:
|
||
- 删除 9 个合同字段
|
||
- 新增 `contractSchemeId`(String类型)
|
||
|
||
---
|
||
|
||
## 页面布局建议
|
||
|
||
### 合同方案管理页面
|
||
路径建议:系统管理 → 合同方案管理(类似保险方案管理)
|
||
- 列表页:方案名称、合同平台、签约模式、旅行社、状态、操作(编辑/启停/删除)
|
||
- 新建/编辑弹窗:ContractSchemeRequest 的所有字段
|
||
|
||
### 产品编辑页面 — 合同配置区域改版
|
||
|
||
**原来**(9个表单项):
|
||
```
|
||
合同平台 * [12301] [法大大]
|
||
合同模板 * [下拉选择]
|
||
签约模式 * [电子签约] [线下报备]
|
||
签署模式 * [短信签署] [现场签署] [线下签署]
|
||
旅行社 * [下拉选择]
|
||
争议解决方式 * [仲裁] [诉讼]
|
||
补充条款 [文本框]
|
||
经办人姓名 * [文本框]
|
||
经办人电话 * [文本框]
|
||
```
|
||
|
||
**现在**(1个下拉选择):
|
||
```
|
||
合同方案 * [请选择合同方案 ▼]
|
||
```
|
||
下拉数据来源:`GET /admin/contract/scheme/list`(返回启用的方案列表)
|
||
|
||
---
|
||
|
||
## 调用示例
|
||
|
||
### 创建合同方案
|
||
```json
|
||
POST /admin/contract/scheme
|
||
{
|
||
"name": "标准国内电子签约方案",
|
||
"contractPlatform": "12301",
|
||
"contractTemplateCode": "TOURAGE_STANDARD",
|
||
"contractMode": "STANDARD",
|
||
"signatoryMode": 1,
|
||
"agencyCode": "L-NMG-100001",
|
||
"disputeResolution": 1,
|
||
"transactorName": "张三",
|
||
"transactorPhone": "13800138000",
|
||
"sortOrder": 0
|
||
}
|
||
```
|
||
|
||
### 产品创建(使用合同方案ID)
|
||
```json
|
||
POST /admin/product
|
||
{
|
||
"name": "冰雪3.0南线",
|
||
"productType": "CORE",
|
||
"insuranceSchemeId": 123456789,
|
||
"contractSchemeId": 987654321,
|
||
...
|
||
}
|
||
```
|