5.8 KiB
5.8 KiB
合同方案 + 产品合同配置改版 + 支付前出行人校验
功能说明
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 | 创建时间 |
产品接口变更(破坏性变更)
产品创建/更新/保存接口
删除的字段(以下字段不再使用):
contractPlatformcontractTemplateCodecontractModesignatoryModeagencyCodedisputeResolutionsupplementaryClausetransactorNametransactorPhone
新增的字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| contractSchemeId | Long | 是(创建时) | 合同方案ID,从 /admin/contract/scheme/list 获取 |
产品详情接口
响应变更:
- 删除 9 个合同字段
- 新增
contractSchemeId(String类型)
页面布局建议
合同方案管理页面
路径建议:系统管理 → 合同方案管理(类似保险方案管理)
- 列表页:方案名称、合同平台、签约模式、旅行社、状态、操作(编辑/启停/删除)
- 新建/编辑弹窗:ContractSchemeRequest 的所有字段
产品编辑页面 — 合同配置区域改版
原来(9个表单项):
合同平台 * [12301] [法大大]
合同模板 * [下拉选择]
签约模式 * [电子签约] [线下报备]
签署模式 * [短信签署] [现场签署] [线下签署]
旅行社 * [下拉选择]
争议解决方式 * [仲裁] [诉讼]
补充条款 [文本框]
经办人姓名 * [文本框]
经办人电话 * [文本框]
现在(1个下拉选择):
合同方案 * [请选择合同方案 ▼]
下拉数据来源:GET /admin/contract/scheme/list(返回启用的方案列表)
调用示例
创建合同方案
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)
POST /admin/product
{
"name": "冰雪3.0南线",
"productType": "CORE",
"insuranceSchemeId": 123456789,
"contractSchemeId": 987654321,
...
}