合同中心设计概要

本文档详述了电子合同中心的设计概要,包括多租户SAAS服务、电子签章功能对接、合同模板管理、电子签章申请及使用流程等关键环节。设计中采用E签宝作为电子签章服务,支持不同业务线需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个小型合同中心设计概要,适合需要电子签章的业务,满足多个业务线。多租户。
SAAS 服务。

设计中选择E签宝,也可以替换其他电子签章通道

图片

版本修订人备注修改时间
V1.0andy初稿2020.02.03
V1.1hamish接口修订2020.02.13

一、 引言

1.1 项目背景

目前合同与订单数据耦合在一起,合同模板唯一,生成合同采用硬编码方式

1.2 术语名称

电子合同:根据合同模板填充数据,数据来源于业务系统或着数据库

电子印章:E签宝生成一个电子签名,添加到电子合同的签名处

1.3 范围

业务系统,能力中心

合同生成,电子印章功能

1.4 其他约定

二、 总体设计

2.1 需求概述

客户线下自定义Word合同模板,上传至合同系统,有业务系统发起根据合同模板生成相关的电子合同信息,双方审批申请添加电子签章,生成最终版电子合同

2.2 基本涉及描述

2.3 主流程设计描述

2.3.1制作合同模板

图片

2.3.2供应链金融创建合同流程

图片

2.4 技术目标

三、模块设计

模板

合同

电子签章对接

签章账户

3.1 合同模板模块

合同模板模块包含模板的上传、列表以及管理,合同模板涉及到一些法律安全问题,须产品和法务的审批或者由法务创建

3.2 合同信息模块

合同信息模块包含订单基本信息,附加条款信息,以及电子签章信息,订单及附加信息全部都由业务方传入,合同中心不去主动拉取信息,电子签章信息,需要经过审批流程,确认无误才可以使用电子签章

3.3 电子签章模块

电子签章的基本信息维护,申请变更记录

电子签章对接,电子签章开户,电子签章认证信息管理。

确认:签署意愿是否对接

3.4 电子签章服务对接

对接不同服务商的电子签证,满足不同业务线需求z

四 、接口设计

4.0 上传合同模板附件

URL: http://localhost:8080/contract/temp/upload

HTTP: POST

请求参数:

参数名类型含义是否必传备注
applicationIdLong业务应用IDM业务应用:供应链金融
fileMultipartFile线下制作的合同模板Mword 文件模板

响应参数:

{
  "code": 200,
  "data": {
    "path" : "string",
    "tempId" : "String"
  },
  "message": "操作成功",
  "success": true
}

返回模板ID
使用模板时根据 应用ID 模板ID 确定使用的模板

4.1 获取合同模板列表

URL: http://localhost:8080/contract/temp/list

HTTP: GET

请求参数:

参数名类型含义是否必传备注
applicationIdLong应用IDM应用ID

响应参数:

{
	"code": 200,
	"data": {
		"list": [{
			"tempId ": 1,
            "tempName":"二方合同模板",
			"tempPath": "string"
		}]
	},
	"message": "操作成功",
	"success": true
}

4.2 创建合同接口 (预览)

URL: http://localhost:8080/contract/temp/add

HTTP: POST

请求参数:

参数名类型含义是否必传备注
applicationIdLong应用IDM应用ID
boothListMap<String,String>占位符列表M需要替换的占位符值
tempIdString合同模板IDM模板ID

响应参数:

{
  "code": 200,
  "data": {
    "contractId": 1L, //合同编号
    "tempPath": "string"  // 合同预览地址
  },
  "message": "操作成功",
  "success": true
}

生成预览合同,PDF,应用服务保存合同ID

4.3 编辑合同模板(模板更新)

URL: http://localhost:8080/contract/temp/update

HTTP: POST

请求参数:

参数名类型含义是否必传备注
applicationIdIdLong应用IDM
tempIdLong模板IdM
fileMultipartFile线下制作的合同模板Mword 文件模板

响应参数:

{
	"code": 200,
	"data": {
			"tempId ": 1,
            "tempName":"劳动合同模板名称"
	},
	"message": "操作成功",
	"success": true
}

合同模板版本问题

4.6 获取合同详情接口(合同下载)

URL: http://localhost:8080/contract/info/get

HTTP: GET

请求参数:

参数名类型含义是否必传备注
applicationIdLong应用IDM
contractIdLong合同 IdM

响应参数:

{
	"code": 200,
	"data": {"contractId ": 1,
			"contractPath": "string",
            "contractName":"contractName"
            "contractURL": "http:// xxxx.pdf"
			
	},
	"message": "操作成功",
	"success": true
}

讨论 :合同中心鉴权粒度

4.7 申请电子签章(电子签章开户-企业)

URL: http://localhost:8080/contract/electronic/apply

HTTP: POST

请求参数:

参数名类型含义是否必传备注
applicationIdLong应用IDM应用ID
emailString(30)邮箱地址可空备注
mobileString(11)手机号码可空
nameString(20)机构名称M
organTypeint单位类型,0-普通企业,1-社会团体,2-事业单位,3-民办非企业单位,4-党政及国家机构,默认0可空
userTypeint注册类型,1-代理人注册,2-法人注册,默认1可空
organCodeString(18)组织机构代码号、社会信用代码号或工商注册号M
legalNameString(20)法定代表姓名,当注册类型为2时必填可空
legalIdNoString(25)法定代表身份证号/护照号,当注册类型为2时必填可空
legalAreaint法定代表人归属地,0-大陆,1-香港,2-澳门,3-台湾,4-外籍,默认0可空
agentNameString(20)代理人姓名,当注册类型为1时必填可空
agentIdNoString(25)代理人身份证号,当注册类型为1时必填可空
addressString(100)公司地址可空
scopeString(100)经营范围可空
electronicTypeString电子签章服务商M默认E签宝
regType[OrganRegType]企业注册类型,含组织机构代码号、多证合一或工商注册码,默认组织机构代码号M

响应参数:

{
	"code": 200,
	"data": {
            "electronicId": 1
			
	},
	"message": "操作成功",
	"success": true
}

合同中心电子签章ID
可以对应多个第三方电子签章服务。

新建一张电子签章表

4.8 获取电子签章信息

URL: http://localhost:8080/contract/electronic/get

HTTP: GET

请求参数:

参数名类型含义是否必传备注
applicationIdLong应用IDM
electronicIdLong电子签章IdM系统电子签章ID 维护与第三方系统账户关系,对接多个电子签章服务

响应参数:

{
	"code": 200,
	"data": {
           
			
	},
	"message": "操作成功",
	"success": true
}

4.9 发送签署短信验证码

URL: http://localhost:8080/contract/electronic/send-sign-mobile-code

HTTP: POST

请求参数:

参数名类型含义是否必传备注
applicationIdLong应用IDM
electronicIdLong电子签章IdM电子签章账户ID

响应参数:

{
	"code": 200,
	"data": {
           
			
	},
	"message": "操作成功",
	"success": true
}

4.10 发送签署短信验证码(指定手机号码)

URL: http://localhost:8080/contract/electronic/send-sign-mobile-code-3rd

HTTP: POST

请求参数:

参数名类型含义是否必传备注
applicationIdLong应用IDM
electronicIdLong电子签章IdM电子签章账户ID
mobileString手机号码M
isForeignboolean标记是否为国外账号true为国内手机号,false为国外手机号,默认true

响应参数:

{
	"code": 200,
	"data": {
           
			
	},
	"message": "操作成功",
	"success": true
}

4.11 使用电子签章 (合同盖章)

URL: http://localhost:8080/contract/electronic/use

HTTP: POST

请求参数:

参数名类型含义是否必传备注
applicationIdLong应用IDM
electronicIdLong电子签章IdM
contractIdString合同IDM
codeString验证码M

响应参数:

{
	"code": 200,
	"data": {
           
			
	},
	"message": "操作成功",
	"success": true
}

五、领域模型图

图片

六、数据库设计

6.1合同模板表(contract_temp)

字段名称字段类型长度是否为空描述
idbigint20主键
user_idvarchar40企业id
namevarchar40合同模板名称
statechar1合同模板状态
gmt_create_timedatetime创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人
remarkvarchar40备注

6.2 合同模板占位符表(template_placeholder)

信息校验,管理后台展示。

字段名称字段类型长度是否为空描述
idbigint20主键
gmt_create_timedatetime创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人
user_idvarchar40企业id
contract_temp_idbigint20合同模板主键
placeholder_namevarchar30模板中占位符名称
placeholder_valuevarchar30模板中占位符的值

6.3 合同表

字段名称字段类型长度是否为空描述
idbigint20主键
gmt_create_timedatetime创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人
client_idvarchar40业务线id
namevarchar30合同名称
file_idvarchar100合同文件ID
contract_statusvarchar20合同状态:枚举,已签字,已作废,未签字
contract_infovarchar1000合同中占位符内容json存储

6.4 电子签章申请表

字段名称字段类型长度是否为空描述
idbigint20主键
gmt_create_timedatetime创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人
company_idvarchar40企业id
holdervarchar30持章人
holder_telvarchar11持章人手机号
statetinyint1状态
typetinyint4类型 1公章
user_idvarchar40用户id

系统发短息还是选择签章服务发短信

6.5 电子印章表(signature_seal)

财务章、合同章

字段名称字段类型长度是否为空描述
idbigint20主键
gmt_create_timedatetime创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人
third_company_idvarchar40企业id
user_idvarchar40用户id
third_account_idvarchar40账号标识 3方系统唯一标识
seal_datatext0电子印章图片的Base64数据
seal_typevarchar电子印章类型
statetinyint1状态 1有效 0无效

6.6 电子签章账户表(signature_account)

字段名称字段类型长度是否为空描述
idbigint20主键 electronicId
gmt_create_timedatetime创建时间
gmt_modify_timedatetime修改时间
creatorvarchar20创建人
modifiervarchar20修改人
third_company_idvarchar40企业id
user_idvarchar40用户id
electronicTypevarchar80签章服务商类型
third_account_idvarchar40账号标识 3方系统唯一标识
statetinyint1状态 1有效 0无效

七、技术架构

7.1 技术选型

技术栈用途说明
SpringBoot2.2.2
SpringCloud2.2.0[Hoxton]Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)
Nacos配置中心、服务注册中心
Mybatis-plusMybatis 功能加强,分页
Mysql关系型数据库,数据持久化,业务数据存储

八、数据架构

**8.1 持久化机制的选择 **

MySQL 数据库持久化。Mysql 使用Mysql 集群。

**8.2 持久化存储方案 **

Mybatis-plus + Mysql 持久存储业务数据。

8.3 数据同步与复制策略

RDS 策略。

九、部署方案

Jenkins 阿里云

十、计划排期

开发排期:2月19日-2月24日

对接供应链金融:2月25日-3月3日

审核 使用新的架构构建,非制式合同的电子签章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值