hl-api-changelog/changelogs/2026-03/2026-03-23_create_by_scheme.md
API Changelog Bot fc80a489de feat: 合同按方案创建简化接口 create-by-scheme
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 12:38:54 +08:00

2.0 KiB

合同创建简化接口 + agency 级别凭证

功能说明

1. 新增简化合同创建接口(重要)

前端只需传 orderIdschemeId,后端自动从订单获取出行人、日期、联系人、费用等信息,结合合同方案配置完成合同创建。

替代原来的 /admin/contract/create(需要传几十个字段),新接口大幅简化前端工作量。

2. STANDARD 模式支持旅行社独立凭证

每家旅行社现在使用自己的 appId/signKey 调用 12301 API,不再共用全局测试凭证。


接口定义

按方案创建合同(简化版)

  • POST /admin/contract/create-by-scheme
  • 请求体
{
  "orderId": "2035929978981564417",
  "schemeId": "3"
}
  • 参数说明
字段 类型 必填 说明
orderId String 订单ID
schemeId String 合同方案IDGET /admin/contract/scheme/list 获取)
  • 响应Result<ContractDetailVO>(与 /admin/contract/create 完全一致)

后端自动填充的数据

数据 来源
出行人列表 订单出行人
出发日期/返回日期 订单
联系人姓名/电话 订单
合同金额 订单总价
线路名称 产品名称
签署人 第一个有手机号的出行人
模板编码/签署模式/旅行社/争议解决/补充条款 合同方案

使用流程

1. GET /admin/contract/scheme/list → 获取可用方案列表(下拉用)
2. 用户选择一个方案
3. POST /admin/contract/create-by-scheme → { orderId, schemeId }
4. 合同创建完成,返回合同详情

注意事项

  • 根据方案的 contractMode 自动选择标准签约(STANDARD)或线下报备(SYNC)
  • 如果订单已有有效合同,会报错"该订单已有有效电子合同"
  • 出行人必须已补全,否则报错
  • schemeId 是字符串类型Long 序列化,El-Select value 要对应字符串