hl-api-changelog/changelogs/2026-03/2026-03-20_contract_scheme.md
API Changelog Bot 4880e0ce42 feat: 合同方案管理 + 产品合同配置改版 + 支付前出行人校验
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 17:48:10 +08:00

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 创建时间

产品接口变更(破坏性变更)

产品创建/更新/保存接口

删除的字段(以下字段不再使用):

  • contractPlatform
  • contractTemplateCode
  • contractMode
  • signatoryMode
  • agencyCode
  • disputeResolution
  • supplementaryClause
  • transactorName
  • transactorPhone

新增的字段

字段 类型 必填 说明
contractSchemeId Long 是(创建时) 合同方案ID,从 /admin/contract/scheme/list 获取

产品详情接口

响应变更

  • 删除 9 个合同字段
  • 新增 contractSchemeIdString类型

页面布局建议

合同方案管理页面

路径建议:系统管理 → 合同方案管理(类似保险方案管理)

  • 列表页:方案名称、合同平台、签约模式、旅行社、状态、操作(编辑/启停/删除)
  • 新建/编辑弹窗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,
  ...
}