Compare commits
3 Commits
44b56f732a
...
851542aadd
| Author | SHA1 | Date | |
|---|---|---|---|
| 851542aadd | |||
| 6c0cb35982 | |||
| 694866eea0 |
Binary file not shown.
@ -3309,14 +3309,14 @@ CJKmainfont: "PingFang SC"
|
||||
|
||||
**图表 1**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
### 业务核心表关系图
|
||||
|
||||
**图表 2**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
## 业务视图设计
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -548,7 +548,7 @@ CJKmainfont: "PingFang SC"
|
||||
|
||||
**图表 1**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
### 系统数据流向图
|
||||
@ -556,7 +556,7 @@ CJKmainfont: "PingFang SC"
|
||||
|
||||
**图表 2**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
### 表现层
|
||||
@ -590,7 +590,7 @@ CJKmainfont: "PingFang SC"
|
||||
|
||||
**图表 3**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
### 容器化部署架构
|
||||
@ -598,7 +598,7 @@ CJKmainfont: "PingFang SC"
|
||||
|
||||
**图表 4**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
### 硬件配置规格表
|
||||
@ -1089,7 +1089,7 @@ h、**错误响应码**
|
||||
|
||||
**图表 5**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1124,7 +1124,7 @@ h、**错误响应码**
|
||||
|
||||
**图表 6**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 业务规则
|
||||
@ -1291,7 +1291,7 @@ f、**响应参数**
|
||||
|
||||
**图表 7**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1425,7 +1425,7 @@ f、**响应参数**
|
||||
|
||||
**图表 8**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 输入输出数据
|
||||
@ -1528,7 +1528,7 @@ f、**响应参数**
|
||||
|
||||
**图表 9**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1589,7 +1589,7 @@ f、**响应参数**
|
||||
|
||||
**图表 10**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1650,7 +1650,7 @@ f、**响应参数**
|
||||
|
||||
**图表 11**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1710,7 +1710,7 @@ f、**响应参数**
|
||||
|
||||
**图表 12**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1771,7 +1771,7 @@ f、**响应参数**
|
||||
|
||||
**图表 13**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1832,7 +1832,7 @@ f、**响应参数**
|
||||
|
||||
**图表 14**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1910,7 +1910,7 @@ f、**响应参数**
|
||||
|
||||
**图表 15**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -1988,7 +1988,7 @@ f、**响应参数**
|
||||
|
||||
**图表 16**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -2143,7 +2143,7 @@ f、**响应参数**
|
||||
|
||||
**图表 17**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 数据设计
|
||||
@ -2190,7 +2190,7 @@ f、**响应参数**
|
||||
|
||||
**图表 18**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 业务规则
|
||||
@ -2238,7 +2238,7 @@ f、**响应参数**
|
||||
|
||||
**图表 19**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 业务规则
|
||||
@ -2271,7 +2271,7 @@ f、**响应参数**
|
||||
|
||||
**图表 20**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 业务规则
|
||||
@ -2304,7 +2304,7 @@ f、**响应参数**
|
||||
|
||||
**图表 21**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 业务规则
|
||||
@ -2588,14 +2588,14 @@ f、**响应参数**
|
||||
|
||||
**图表 22**
|
||||
|
||||

|
||||

|
||||
|
||||
- 申请受理阶段
|
||||
|
||||
|
||||
**图表 23**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
- 现场勘查设计阶段
|
||||
@ -2603,7 +2603,7 @@ f、**响应参数**
|
||||
|
||||
**图表 24**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
- 工程施工阶段
|
||||
@ -2611,7 +2611,7 @@ f、**响应参数**
|
||||
|
||||
**图表 25**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
- 验收移交阶段
|
||||
@ -2619,7 +2619,7 @@ f、**响应参数**
|
||||
|
||||
**图表 26**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 业务规则
|
||||
@ -2967,7 +2967,7 @@ f、**响应参数**
|
||||
|
||||
**图表 27**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 界面设计要点
|
||||
@ -3263,7 +3263,7 @@ flowchart TD
|
||||
|
||||
**图表 30**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###### 界面设计要点
|
||||
@ -3601,7 +3601,7 @@ flowchart TD
|
||||
|
||||
**图表 32**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
**接口参数:**
|
||||
@ -3668,7 +3668,7 @@ flowchart TD
|
||||
|
||||
**图表 33**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
**接口参数:**
|
||||
@ -3707,7 +3707,7 @@ flowchart TD
|
||||
|
||||
**图表 34**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
## 物联网接口
|
||||
@ -3729,7 +3729,7 @@ flowchart TD
|
||||
|
||||
**图表 35**
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
## 政务系统接口
|
||||
|
||||
573
parsed_docs_new/营收系统银行接口规范设计文档.md
Normal file
573
parsed_docs_new/营收系统银行接口规范设计文档.md
Normal file
@ -0,0 +1,573 @@
|
||||
# 营收系统接口规范设计文档
|
||||
|
||||
## 1. 文档概述
|
||||
|
||||
### 1.1 文档信息
|
||||
- **文档名称**:营收系统接口规范设计文档
|
||||
- **版本**:1.0
|
||||
- **编写日期**:2024年12月
|
||||
- **基于原始文档**:营收系统缴费接口 v1.5
|
||||
|
||||
### 1.2 设计目标
|
||||
本文档旨在为营收系统与银行/第三方支付机构之间的接口交互提供标准化、规范化的设计指导,确保系统的高可用性、安全性和可扩展性。
|
||||
|
||||
### 1.3 适用范围
|
||||
- 公用事业单位(水司、电力等)
|
||||
- 银行机构
|
||||
- 第三方支付平台
|
||||
- 系统集成商
|
||||
|
||||
## 2. 系统架构设计
|
||||
|
||||
### 2.1 整体架构
|
||||
|
||||
```
|
||||
┌─────────────────┐ HTTP/HTTPS ┌─────────────────┐
|
||||
│ │<──────────────────>│ │
|
||||
│ 银行/支付平台 │ │ 营收系统 │
|
||||
│ │ │ │
|
||||
└─────────────────┘ └─────────────────┘
|
||||
│ │
|
||||
│ │
|
||||
v v
|
||||
┌─────────────────┐ ┌─────────────────┐
|
||||
│ 对账文件处理 │ │ 业务数据库 │
|
||||
└─────────────────┘ └─────────────────┘
|
||||
```
|
||||
|
||||
### 2.2 接口分层设计
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ 表示层 (Presentation Layer) │
|
||||
│ HTTP/HTTPS + XML/JSON │
|
||||
├─────────────────────────────────────────────────────────┤
|
||||
│ 业务层 (Business Layer) │
|
||||
│ 查询服务 | 缴费服务 | 代扣服务 | 对账服务 │
|
||||
├─────────────────────────────────────────────────────────┤
|
||||
│ 数据层 (Data Layer) │
|
||||
│ 用户数据 | 账单数据 | 交易数据 │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 3. 接口设计规范
|
||||
|
||||
### 3.1 RESTful设计原则
|
||||
|
||||
虽然原系统使用XML格式,但建议遵循RESTful设计原则:
|
||||
|
||||
| 功能模块 | HTTP方法 | 资源路径 | 描述 |
|
||||
|----------|----------|----------|------|
|
||||
| 账单查询 | POST | `/api/app/billQuery/query` | 查询用户账单 |
|
||||
| 账单缴费 | POST | `/api/app/billPay/pay` | 执行缴费操作 |
|
||||
| 账单红冲 | POST | `/api/app/payInvalid/payInvalid` | 红冲已缴费账单 |
|
||||
| 代扣签约 | POST | `/api/app/bankWithholding/signing` | 代扣签约 |
|
||||
| 代扣解约 | POST | `/api/app/bankWithholding/termination` | 代扣解约 |
|
||||
| 代扣送盘 | POST | `/api/app/bankWithholding/sendDisc` | 代扣送盘 |
|
||||
| 代扣回盘 | POST | `/api/app/bankWithholding/backDisc` | 代扣回盘 |
|
||||
|
||||
### 3.2 数据格式规范
|
||||
|
||||
#### 3.2.1 请求格式
|
||||
- **内容类型**:`application/xml` 或 `application/json`
|
||||
- **字符编码**:GBK(XML)或 UTF-8(JSON)
|
||||
- **请求方法**:POST
|
||||
|
||||
#### 3.2.2 响应格式
|
||||
- **状态码**:200 OK(业务成功/失败通过返回码区分)
|
||||
- **内容类型**:与请求格式保持一致
|
||||
- **响应结构**:统一的响应格式
|
||||
|
||||
### 3.3 安全设计规范
|
||||
|
||||
#### 3.3.1 加密策略
|
||||
|
||||
```
|
||||
┌─────────────────┐ 加密传输 ┌─────────────────┐
|
||||
│ 客户端 │ ──────────────> │ 服务端 │
|
||||
│ │ │ │
|
||||
│ 1. 数据加密 │ │ 1. 数据解密 │
|
||||
│ 2. Base64编码 │ │ 2. Base64解码 │
|
||||
│ 3. HTTP传输 │ │ 3. 业务处理 │
|
||||
└─────────────────┘ └─────────────────┘
|
||||
```
|
||||
|
||||
#### 3.3.2 支持的加密算法
|
||||
|
||||
| 加密类型 | 加密模式 | 填充方式 | 安全等级 |
|
||||
|----------|----------|----------|----------|
|
||||
| 3DES | ECB | PKCS7 | 中等 |
|
||||
| SM2 | C1C3C2/C1C2C3 | - | 高 |
|
||||
| SM4 | ECB/CBC | PKCS7 | 高 |
|
||||
|
||||
#### 3.3.3 请求头设计
|
||||
|
||||
```http
|
||||
Content-Type: application/xml; charset=GBK
|
||||
EncryptType: 3DES
|
||||
EncryptMode: ECB
|
||||
DataType: XML
|
||||
```
|
||||
|
||||
### 3.4 错误处理规范
|
||||
|
||||
#### 3.4.1 统一错误码设计
|
||||
|
||||
```
|
||||
AAAAAAA: 成功
|
||||
DEF0xxx: 业务错误 (0001-0999)
|
||||
SYS1xxx: 系统错误 (1000-1999)
|
||||
SEC2xxx: 安全错误 (2000-2999)
|
||||
NET3xxx: 网络错误 (3000-3999)
|
||||
```
|
||||
|
||||
#### 3.4.2 错误响应格式
|
||||
|
||||
```xml
|
||||
<out>
|
||||
<Version>1.0.1</Version>
|
||||
<InstId>00001</InstId>
|
||||
<TranCode>QueryRes</TranCode>
|
||||
<TranDate>20240101</TranDate>
|
||||
<TranSeq>123456789012</TranSeq>
|
||||
<RespCode>DEF0001</RespCode>
|
||||
<RespMessage>无相应记录</RespMessage>
|
||||
<ErrorDetail>
|
||||
<ErrorCode>DEF0001</ErrorCode>
|
||||
<ErrorMsg>用户编号123456不存在</ErrorMsg>
|
||||
<ErrorTime>2024-01-01 12:00:00</ErrorTime>
|
||||
</ErrorDetail>
|
||||
</out>
|
||||
```
|
||||
|
||||
## 4. 数据模型设计
|
||||
|
||||
### 4.1 核心实体模型
|
||||
|
||||
#### 4.1.1 用户实体 (Customer)
|
||||
|
||||
```sql
|
||||
CREATE TABLE customer (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||||
bill_key VARCHAR(35) NOT NULL UNIQUE COMMENT '客户编号',
|
||||
customer_name VARCHAR(150) NOT NULL COMMENT '客户姓名',
|
||||
contract_no VARCHAR(30) COMMENT '合同号',
|
||||
company_id VARCHAR(30) NOT NULL COMMENT '机构编码',
|
||||
created_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
INDEX idx_bill_key (bill_key),
|
||||
INDEX idx_company_id (company_id)
|
||||
);
|
||||
```
|
||||
|
||||
#### 4.1.2 账单实体 (Bill)
|
||||
|
||||
```sql
|
||||
CREATE TABLE bill (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||||
bill_key VARCHAR(35) NOT NULL COMMENT '客户编号',
|
||||
company_id VARCHAR(30) NOT NULL COMMENT '机构编码',
|
||||
pay_amount DECIMAL(16,2) NOT NULL COMMENT '缴费金额',
|
||||
balance DECIMAL(16,2) DEFAULT 0.00 COMMENT '余额',
|
||||
begin_date DATE COMMENT '账单开始日期',
|
||||
end_date DATE COMMENT '账单结束日期',
|
||||
bill_status TINYINT DEFAULT 0 COMMENT '账单状态 0:未缴费 1:已缴费',
|
||||
created_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
INDEX idx_bill_key (bill_key),
|
||||
INDEX idx_company_id (company_id),
|
||||
INDEX idx_status (bill_status)
|
||||
);
|
||||
```
|
||||
|
||||
#### 4.1.3 交易记录 (Transaction)
|
||||
|
||||
```sql
|
||||
CREATE TABLE transaction (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||||
tran_seq VARCHAR(40) NOT NULL UNIQUE COMMENT '交易流水号',
|
||||
bill_key VARCHAR(35) NOT NULL COMMENT '客户编号',
|
||||
company_id VARCHAR(30) NOT NULL COMMENT '机构编码',
|
||||
tran_code VARCHAR(20) NOT NULL COMMENT '交易码',
|
||||
pay_amount DECIMAL(16,2) NOT NULL COMMENT '交易金额',
|
||||
pay_date DATETIME NOT NULL COMMENT '交易时间',
|
||||
sub_channel TINYINT COMMENT '二级渠道 1:支付宝 2:微信 6:其它',
|
||||
tran_status TINYINT DEFAULT 0 COMMENT '交易状态 0:处理中 1:成功 2:失败',
|
||||
resp_code VARCHAR(7) COMMENT '返回码',
|
||||
resp_message VARCHAR(60) COMMENT '返回消息',
|
||||
created_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
INDEX idx_tran_seq (tran_seq),
|
||||
INDEX idx_bill_key (bill_key),
|
||||
INDEX idx_pay_date (pay_date),
|
||||
INDEX idx_status (tran_status)
|
||||
);
|
||||
```
|
||||
|
||||
### 4.2 代扣相关实体
|
||||
|
||||
#### 4.2.1 代扣协议 (WithholdingAgreement)
|
||||
|
||||
```sql
|
||||
CREATE TABLE withholding_agreement (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||||
bill_key VARCHAR(35) NOT NULL COMMENT '客户编号',
|
||||
company_id VARCHAR(30) NOT NULL COMMENT '机构编码',
|
||||
account_name VARCHAR(150) NOT NULL COMMENT '开户名',
|
||||
account_no VARCHAR(30) NOT NULL COMMENT '开户账号',
|
||||
bank_name VARCHAR(150) COMMENT '银行名称',
|
||||
contract_no VARCHAR(150) COMMENT '合同号',
|
||||
agreement_no VARCHAR(150) COMMENT '协议号',
|
||||
bank_type TINYINT COMMENT '银行类型 0:本行 1:他行',
|
||||
agreement_status TINYINT DEFAULT 0 COMMENT '协议状态 0:未签约 1:已签约 2:已解约',
|
||||
signing_date DATE COMMENT '签约日期',
|
||||
termination_date DATE COMMENT '解约日期',
|
||||
created_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
INDEX idx_bill_key (bill_key),
|
||||
INDEX idx_account_no (account_no),
|
||||
INDEX idx_status (agreement_status)
|
||||
);
|
||||
```
|
||||
|
||||
## 5. 接口实现规范
|
||||
|
||||
### 5.1 查询接口实现
|
||||
|
||||
#### 5.1.1 业务流程
|
||||
|
||||
```
|
||||
Client Request → Parameter Validation → Business Logic → Data Query → Response Format → Client Response
|
||||
```
|
||||
|
||||
#### 5.1.2 核心逻辑
|
||||
|
||||
```java
|
||||
@Service
|
||||
public class BillQueryService {
|
||||
|
||||
public QueryResponse queryBill(QueryRequest request) {
|
||||
// 1. 参数校验
|
||||
validateRequest(request);
|
||||
|
||||
// 2. 业务逻辑处理
|
||||
List<Bill> bills = billRepository.findByBillKeyAndCompanyId(
|
||||
request.getBillKey(),
|
||||
request.getCompanyId()
|
||||
);
|
||||
|
||||
// 3. 构造响应
|
||||
return buildQueryResponse(bills);
|
||||
}
|
||||
|
||||
private void validateRequest(QueryRequest request) {
|
||||
if (StringUtils.isEmpty(request.getBillKey())) {
|
||||
throw new BusinessException("DEF0001", "客户编号不能为空");
|
||||
}
|
||||
// 其他校验逻辑...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 5.2 缴费接口实现
|
||||
|
||||
#### 5.2.1 业务流程
|
||||
|
||||
```
|
||||
Client Request → Parameter Validation → Balance Check → Payment Processing → Transaction Record → Response
|
||||
```
|
||||
|
||||
#### 5.2.2 事务处理
|
||||
|
||||
```java
|
||||
@Service
|
||||
@Transactional
|
||||
public class BillPayService {
|
||||
|
||||
public PayResponse payBill(PayRequest request) {
|
||||
// 1. 参数校验
|
||||
validatePayRequest(request);
|
||||
|
||||
// 2. 账单查询
|
||||
Bill bill = billRepository.findByBillKeyAndCompanyId(
|
||||
request.getBillKey(),
|
||||
request.getCompanyId()
|
||||
);
|
||||
|
||||
// 3. 金额校验
|
||||
if (bill.getPayAmount().compareTo(request.getPayAmount()) != 0) {
|
||||
throw new BusinessException("DEF0002", "缴费金额不匹配");
|
||||
}
|
||||
|
||||
// 4. 更新账单状态
|
||||
bill.setBillStatus(1);
|
||||
billRepository.save(bill);
|
||||
|
||||
// 5. 记录交易
|
||||
Transaction transaction = createTransaction(request);
|
||||
transactionRepository.save(transaction);
|
||||
|
||||
// 6. 构造响应
|
||||
return buildPayResponse(request);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 6. 性能设计规范
|
||||
|
||||
### 6.1 性能指标
|
||||
|
||||
| 指标类型 | 要求 | 说明 |
|
||||
|----------|------|------|
|
||||
| 响应时间 | < 3秒 | 95%的请求在3秒内响应 |
|
||||
| 并发量 | 1000 TPS | 支持1000笔/秒的交易处理 |
|
||||
| 可用性 | 99.9% | 年度可用性不低于99.9% |
|
||||
| 错误率 | < 0.1% | 系统错误率控制在0.1%以内 |
|
||||
|
||||
### 6.2 缓存策略
|
||||
|
||||
```java
|
||||
@Service
|
||||
public class BillQueryService {
|
||||
|
||||
@Cacheable(value = "billCache", key = "#billKey + '_' + #companyId")
|
||||
public List<Bill> queryBillWithCache(String billKey, String companyId) {
|
||||
return billRepository.findByBillKeyAndCompanyId(billKey, companyId);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 6.3 数据库优化
|
||||
|
||||
#### 6.3.1 索引设计
|
||||
- 主要查询字段建立索引
|
||||
- 复合索引优化多条件查询
|
||||
- 定期分析索引使用情况
|
||||
|
||||
#### 6.3.2 分表策略
|
||||
- 按时间分表:每月一张交易表
|
||||
- 按机构分库:不同机构使用不同数据库
|
||||
|
||||
## 7. 监控与日志规范
|
||||
|
||||
### 7.1 日志规范
|
||||
|
||||
#### 7.1.1 日志级别
|
||||
- ERROR: 系统错误,需要立即处理
|
||||
- WARN: 业务警告,需要关注
|
||||
- INFO: 关键业务流程记录
|
||||
- DEBUG: 调试信息
|
||||
|
||||
#### 7.1.2 日志格式
|
||||
|
||||
```
|
||||
[时间戳] [日志级别] [线程名] [类名] [方法名] - [交易流水号] [业务描述] [详细信息]
|
||||
```
|
||||
|
||||
示例:
|
||||
```
|
||||
2024-01-01 12:00:00.123 [INFO] [http-thread-1] [BillQueryService] [queryBill] - [TXN123456789012] 查询账单开始 {"billKey":"123456","companyId":"654321"}
|
||||
```
|
||||
|
||||
### 7.2 监控指标
|
||||
|
||||
#### 7.2.1 业务监控
|
||||
- 交易成功率
|
||||
- 平均响应时间
|
||||
- 接口调用量
|
||||
- 错误码分布
|
||||
|
||||
#### 7.2.2 系统监控
|
||||
- CPU使用率
|
||||
- 内存使用率
|
||||
- 数据库连接数
|
||||
- 网络IO
|
||||
|
||||
## 8. 部署架构规范
|
||||
|
||||
### 8.1 生产环境架构
|
||||
|
||||
```
|
||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||
│ 负载均衡器 │────>│ Web服务器1 │ │ 数据库主库 │
|
||||
│ (Nginx/F5) │ │ (Tomcat) │────>│ (MySQL) │
|
||||
│ │ └─────────────────┘ │ │
|
||||
│ │ ┌─────────────────┐ └─────────────────┘
|
||||
│ │────>│ Web服务器2 │ ┌─────────────────┐
|
||||
└─────────────────┘ │ (Tomcat) │────>│ 数据库从库 │
|
||||
└─────────────────┘ │ (MySQL) │
|
||||
└─────────────────┘
|
||||
```
|
||||
|
||||
### 8.2 容器化部署
|
||||
|
||||
#### 8.2.1 Docker配置
|
||||
|
||||
```dockerfile
|
||||
FROM openjdk:8-jre-alpine
|
||||
VOLUME /tmp
|
||||
ADD app.jar app.jar
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
|
||||
```
|
||||
|
||||
#### 8.2.2 Kubernetes配置
|
||||
|
||||
```yaml
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: billing-api
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: billing-api
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: billing-api
|
||||
spec:
|
||||
containers:
|
||||
- name: billing-api
|
||||
image: billing-api:latest
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
resources:
|
||||
requests:
|
||||
memory: "512Mi"
|
||||
cpu: "500m"
|
||||
limits:
|
||||
memory: "1Gi"
|
||||
cpu: "1"
|
||||
```
|
||||
|
||||
## 9. 测试规范
|
||||
|
||||
### 9.1 测试策略
|
||||
|
||||
#### 9.1.1 单元测试
|
||||
- 覆盖率 >= 80%
|
||||
- 核心业务逻辑 100% 覆盖
|
||||
- Mock 外部依赖
|
||||
|
||||
#### 9.1.2 集成测试
|
||||
- 接口层面的集成测试
|
||||
- 数据库集成测试
|
||||
- 第三方服务集成测试
|
||||
|
||||
#### 9.1.3 性能测试
|
||||
- 压力测试:测试系统极限
|
||||
- 负载测试:测试正常负载下的性能
|
||||
- 稳定性测试:长时间运行测试
|
||||
|
||||
### 9.2 测试用例设计
|
||||
|
||||
#### 9.2.1 查询接口测试用例
|
||||
|
||||
```java
|
||||
@Test
|
||||
public void testQueryBill_Success() {
|
||||
// Given
|
||||
QueryRequest request = new QueryRequest();
|
||||
request.setBillKey("123456");
|
||||
request.setCompanyId("654321");
|
||||
|
||||
// When
|
||||
QueryResponse response = billQueryService.queryBill(request);
|
||||
|
||||
// Then
|
||||
assertEquals("AAAAAAA", response.getRespCode());
|
||||
assertNotNull(response.getData());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQueryBill_NotFound() {
|
||||
// Given
|
||||
QueryRequest request = new QueryRequest();
|
||||
request.setBillKey("999999");
|
||||
request.setCompanyId("654321");
|
||||
|
||||
// When & Then
|
||||
BusinessException exception = assertThrows(
|
||||
BusinessException.class,
|
||||
() -> billQueryService.queryBill(request)
|
||||
);
|
||||
assertEquals("DEF0001", exception.getCode());
|
||||
}
|
||||
```
|
||||
|
||||
## 10. 安全审计规范
|
||||
|
||||
### 10.1 安全审计要求
|
||||
|
||||
#### 10.1.1 审计内容
|
||||
- 所有接口调用记录
|
||||
- 敏感操作日志
|
||||
- 异常访问记录
|
||||
- 系统配置变更
|
||||
|
||||
#### 10.1.2 审计日志格式
|
||||
|
||||
```json
|
||||
{
|
||||
"timestamp": "2024-01-01T12:00:00.123Z",
|
||||
"event_type": "API_CALL",
|
||||
"user_id": "bank_001",
|
||||
"ip_address": "192.168.1.100",
|
||||
"endpoint": "/api/app/billQuery/query",
|
||||
"request_id": "TXN123456789012",
|
||||
"response_code": "AAAAAAA",
|
||||
"execution_time": 1500,
|
||||
"data_accessed": {
|
||||
"bill_key": "123456",
|
||||
"company_id": "654321"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 10.2 安全控制措施
|
||||
|
||||
#### 10.2.1 访问控制
|
||||
- IP白名单机制
|
||||
- API密钥认证
|
||||
- 请求频率限制
|
||||
|
||||
#### 10.2.2 数据保护
|
||||
- 敏感数据加密存储
|
||||
- 传输过程加密
|
||||
- 数据脱敏处理
|
||||
|
||||
## 11. 运维规范
|
||||
|
||||
### 11.1 发布流程
|
||||
|
||||
```
|
||||
开发环境 → 测试环境 → 预生产环境 → 生产环境
|
||||
↓ ↓ ↓ ↓
|
||||
单元测试 集成测试 性能测试 灰度发布
|
||||
```
|
||||
|
||||
### 11.2 回滚策略
|
||||
|
||||
#### 11.2.1 快速回滚
|
||||
- 保留前一版本的部署包
|
||||
- 数据库版本管理
|
||||
- 配置文件版本控制
|
||||
|
||||
#### 11.2.2 回滚触发条件
|
||||
- 系统错误率超过阈值
|
||||
- 响应时间超过预期
|
||||
- 业务功能异常
|
||||
|
||||
## 12. 总结
|
||||
|
||||
本规范设计文档为营收系统接口的设计、开发、测试、部署和运维提供了全面的指导。通过遵循这些规范,可以确保系统的:
|
||||
|
||||
1. **可靠性**:通过完善的错误处理和事务管理
|
||||
2. **安全性**:通过多层次的安全控制措施
|
||||
3. **性能**:通过合理的架构设计和优化策略
|
||||
4. **可维护性**:通过标准化的代码和文档规范
|
||||
5. **可扩展性**:通过模块化和微服务架构设计
|
||||
|
||||
建议在实际项目中根据具体需求对本规范进行适当调整和完善。
|
||||
@ -26,7 +26,8 @@
|
||||
| `water_biz_security_design.md` | ✅ 已完成 | 100% | A级 | 2024-12-19 | 已剔除等保三级内容,移除标题序号 |
|
||||
| `新-数据库设计说明书.md` | ✅ 已完成 | 100% | A++级 | 2024-12-19 | 完整的PostgreSQL表结构,包含30个系统表+113个业务表的完整字段定义,ER图,索引设计,性能优化,覆盖营收系统全业务场景(新增60个遗漏表) |
|
||||
| `新-详细设计说明书.md` | ✅ 已完成 | 100% | A+级 | 2024-12-19 | 符合302国家标准格式的详细设计文档,包含5个子系统的完整模块设计、接口规范、业务流程,总计1215行,可直接指导开发实施 |
|
||||
| `新-概要设计说明书.md` | ✅ 已完成 | 100% | A+级 | 2024-12-19 | 符合301国家标准格式的概要设计文档,已完整整合微网厅子系统设计,现包含4个完整子系统(统一平台、营收业务系统、手机抄表APP、微网厅系统)的概要设计、非功能性需求等章节,形成完整的设计文档体系 |
|
||||
| `新-概要设计说明书.md` | ✅ 已完成 | 100% | A+级 | 2025-08-22 | 架构调整:将工单、表务、报装从营收业务系统中剥离为独立子系统(SYS-005/006/007);更新目录、功能范围、子系统列表、调用关系图、接口定义及相关章节,保留客户服务模块在营收业务系统内的作用。新增报装系统CA电子签章依赖(外部接口、架构图、方案说明)。 |
|
||||
| 新增 | — | — | — | 2025-08-18 | 新增发票服务子系统(SYS-008):作为基础服务层统一开票能力中心,优先对接航天信息,预留博思等供应商。 |
|
||||
|
||||
### 补充文档 (可选交付)
|
||||
|
||||
@ -128,6 +129,8 @@
|
||||
| 2024-12-19 | 统一导出工具 | 创建统一文档导出工具unified_export.sh | 解决多文件图表混乱和标题样式问题 | 正面影响,但图表处理可能卡住 |
|
||||
| 2024-12-19 | 快速导出工具 | 创建快速统一导出工具quick_unified_export.sh | 解决统一导出工具卡住问题,稳定高效 | 正面影响,完美解决所有问题 |
|
||||
| 2024-12-19 | 分离文档导出 | 修改unified_export.sh支持分离文档导出,创建manage_separated_docs.sh管理工具 | 用户需求:将每个文档分别导出为不同格式,而不是合并成一个大文档 | 正面影响,提供更灵活的文档导出选项 |
|
||||
| 2025-08-22 | 文档更新 | 新-概要设计说明书:在报装业务系统(SYS-007)新增CA电子签章依赖;补充INST-004签章回执接口;更新子系统架构图与方案说明;在主要接口定义中同步新增报装签章回执接口 | 对齐集成依赖,完善报装环节签署合规流程 | 正面影响,接口与架构更完整,便于实施 |
|
||||
| 2025-08-22 | 文档修复 | 修复微网厅子系统架构图Mermaid语法(中文节点引用导致Lexical error),将`Backend -.->|支付调用| 支付与结算(SYS-009)`改为`Backend -.->|支付调用| PAY_SYS[支付与结算(SYS-009)]` | 解决Mermaid解析错误,保证图表可渲染 | 正面影响,导出稳定性提升 |
|
||||
| 2024-12-19 | 数据库设计简化 | 剔除数据库设计文档中的SQL语句和DDL语句,保留核心设计概念和表结构说明 | 用户要求:剔除SQL语句简化内容 | 正面影响,符合概要设计标准,提升可读性 |
|
||||
| 2024-12-19 | 新增引言文档 | 创建water_biz_overview_design.md引言文档 | 用户需求:添加标准的第一章内容(编写目的、背景、定义、参考资料) | 正面影响,完善文档体系结构 |
|
||||
| 2024-12-19 | 代码简化优化 | 删除文档中过于详细的代码示例,保持概要设计抽象层次 | 用户反馈:删除过多详细的代码 | 正面影响,符合概要设计标准,提升文档可读性 |
|
||||
@ -159,6 +162,7 @@
|
||||
| 2024-12-19 | 单点登录采用OAuth2.0协议 | 在三个设计文档中完善单点登录设计,明确采用OAuth2.0协议实现。包括:1. 详细设计说明书中新增OAuth2.0授权码模式流程、6个OAuth2.0接口设计、4个相关数据表;2. 概要设计说明书中更新单点登录模块描述,强调基于OAuth2.0协议;3. 数据库设计说明书中新增OAuth2.0客户端信息表、访问令牌表、刷新令牌表、授权码表。所有文档版本更新至V1.4 | 用户要求单点登录采用OAuth2.0协议 | 正面影响,OAuth2.0是业界标准的开放授权协议,具有良好的安全性和扩展性。支持授权码模式和客户端凭证模式,满足不同应用场景需求。完善的数据表设计支持令牌管理、客户端管理等功能,为系统的安全认证和第三方集成提供了标准化的技术基础 |
|
||||
| 2024-12-19 | OAuth2.0表设计修正 | 根据实际SQL文件(oauth_table.sql)修正OAuth2.0表设计,确保文档与实际表结构保持一致。包括:1. 数据库设计说明书中更新5个OAuth2.0表的详细字段定义:system_oauth2_client、system_oauth2_access_token、system_oauth2_refresh_token、system_oauth2_code、system_oauth2_approve;2. 详细设计说明书中更新OAuth2.0数据表引用,修正表名为system_oauth2_*系列;3. 文档版本更新至V1.5 | 用户提供实际的OAuth2.0表SQL文件 | 正面影响,确保设计文档与实际SQL表结构完全一致,避免开发过程中的混乱。实际的表结构更加完善,包含了OAuth2.0批准表(system_oauth2_approve),支持用户授权记录管理,字段设计更加规范,符合PostgreSQL数据库特性,为OAuth2.0功能的实现提供了准确的数据模型指导 |
|
||||
| 2025-08-01 | 数据库对齐 | 明确约定:若`parsed_docs_new/数据库设计.md`存在对应表,以其为准;并完成关键对齐:`biz_meter_caliber`新增`code`字段,`meter_info`补充源设计字段,新增标准表`system_user_form_config`并保留`infra_user_form_config`兼容说明;在`新-详细/概要设计说明书.md`中加入统一对齐声明 | 对齐源数据库设计 | 正面影响,数据库定义一致性提升,开发实施口径统一,减少后续返工 |
|
||||
| 2025-08-18 | 功能点对齐 | 对照《福建水投营收系统操作手册》《福建水投微网厅操作手册》,补充概要设计缺失功能点:客户分组/集收/定额/册本、特殊开账/柜台结账/红冲、统计报表/欠费/缴费记录查询、代收实时收费/银行托收、业务参数配置;微网厅账户流水、机构切换/绑定/解绑/默认客户、退款/失败处理引导、预约/叫号/提醒、业务进度通知 | 与操作手册保持一致 | 正面影响,提升功能覆盖与一致性 |
|
||||
| 2024-12-19 | 业务工单模块设计整合 | 参考营收系统详细设计说明书,在新版设计文档中新增业务工单模块,并将表务系统的工单管理功能整合到业务工单中。包括:1. 详细设计说明书中新增营收系统模块9-业务工单,包含业务清单管理、上报清单管理、稽查工单管理、换表工单管理4个功能模块;2. 概要设计说明书中同步新增业务工单模块描述,调整表务系统模块结构;3. 数据库设计说明书中新增4个业务工单相关表:business_work_order、report_work_order、audit_work_order、work_order_log,并更新总表数量为147个 | 用户要求参考营收系统详细设计说明书添加业务工单模块,并将表务工单管理整合到业务工单中 | 正面影响,实现了工单管理的统一化设计,避免了功能重复。业务工单模块覆盖了客户服务、账务处理、投诉建议、故障报修等全业务场景,支持工单全生命周期管理。表务系统专注于仓库管理和设备档案管理,功能边界更加清晰。新增的4个工单表设计完善了工单数据模型,支持不同类型工单的差异化管理需求 |
|
||||
| 2024-12-19 | 概要设计文档目录结构调整 | 按照用户要求调整新-概要设计说明书.md的目录结构,重新组织为:2系统总体设计、2.1任务概述、2.2设计概述、2.3系统架构设计、2.4子系统定义。参照202-营业收费管理系统需求规格说明书的任务概述写法,结合现有内容编写任务概述部分,包含系统总体目标、功能范围、系统涉众与用户特点。重新调整系统架构设计章节,分为逻辑架构设计和物理架构设计两个部分 | 用户要求按照标准的概要设计文档目录结构进行调整 | 正面影响,文档结构更加标准化和规范化,符合概要设计文档的标准格式要求。任务概述部分更加完整,包含了项目背景、目标、功能范围等关键信息。系统架构设计章节结构更加清晰,便于理解和使用 |
|
||||
| 2024-12-19 | 微网厅子系统新增 | 根据福建水投微网厅操作手册,在新-概要设计说明书.md中新增微网厅子系统设计。包括:1. 新增子系统7-微网厅系统,设计6个核心模块:账户绑定管理、信息查询服务、在线缴费服务、电子发票服务、营业网点服务、业务办理服务;2. 更新子系统列表和关系图,将微网厅从客户服务中分离为独立子系统;3. 新增微网厅系统对外接口定义,包含5个主要接口;4. 完整的模块架构设计和业务流程图 | 用户要求根据微网厅操作手册添加微网厅子系统 | 正面影响,微网厅系统作为独立子系统,功能边界更加清晰,覆盖了基于微信公众号的完整客户服务流程。设计6个模块完整覆盖了用户认证、信息查询、在线缴费、发票管理、网点服务、业务办理等全流程,提供了完整的技术架构和业务流程设计,为微网厅的实际开发提供了全面的指导 |
|
||||
|
||||
@ -657,9 +657,9 @@ main() {
|
||||
# "water_biz_deployment_design.md"
|
||||
# "water_biz_security_design.md"
|
||||
# "water_biz_overview_design.md"
|
||||
"新-详细设计说明书.md"
|
||||
# "新-详细设计说明书.md"
|
||||
"新-概要设计说明书.md"
|
||||
"新-数据库设计说明书.md"
|
||||
# "新-数据库设计说明书.md"
|
||||
)
|
||||
|
||||
local processed_count=0
|
||||
|
||||
@ -182,6 +182,7 @@
|
||||
- [x] 集成到Makefile构建流程 ✅
|
||||
- [x] 生成包含图表的Word文档 ✅
|
||||
- [x] 处理所有设计文档中的流程图 ✅
|
||||
- [x] 修复微网厅架构图中文节点引用导致的Mermaid语法错误 ✅ (2025-08-22)
|
||||
|
||||
## 📅 第二阶段任务 (内容完善)
|
||||
|
||||
@ -197,11 +198,18 @@
|
||||
- [ ] 阶梯水价计算流程
|
||||
- [ ] 欠费催缴流程
|
||||
|
||||
- [x] **业务工单管理流程** ✅ (2024-12-19)
|
||||
- [x] 业务工单统一管理设计 ✅
|
||||
- [x] 表务工单整合到业务工单模块 ✅
|
||||
- [x] 工单全生命周期管理流程 ✅
|
||||
- [x] 四类工单管理:业务清单、上报清单、稽查工单、换表工单 ✅
|
||||
- [x] **工单管理子系统化** ✅ (2025-08-18)
|
||||
- [x] 将工单从营收系统中剥离为SYS-005 ✅
|
||||
- [x] 更新子系统列表与关系图 ✅
|
||||
- [x] 新增工单系统接口与架构图 ✅
|
||||
|
||||
### 📋 功能点对齐(操作手册 → 概要设计)(2025-08-18)
|
||||
- [x] 营收系统:客户分组/集收/定额/册本功能补充 ✅
|
||||
- [x] 营业收费:特殊开账/柜台结账/红冲子项补充 ✅
|
||||
- [x] 统计分析:报表查询/欠费查询/缴费记录补充 ✅
|
||||
- [x] 代收业务:实时收费/银行托收补充(经SYS-009)✅
|
||||
- [x] 业务参数配置模块新增(价格体系/水表参数/基础配置)✅
|
||||
- [x] 微网厅:账户流水、机构切换/绑定/解绑/默认客户、退款/失败处理引导、预约/叫号/提醒、业务进度通知补充 ✅
|
||||
|
||||
### 📋 安全设计完善
|
||||
|
||||
@ -314,11 +322,11 @@
|
||||
- [x] **架构图设计** - 整体架构图、物理部署图、子系统调用关系图 ✅
|
||||
|
||||
### 子系统概要设计
|
||||
- [x] **统一平台设计** - 功能界面、工程目录、模块列表、模块关系、中间件设计 ✅
|
||||
- [x] **营收系统设计** - 核心业务流程、模块设计、业务规则、接口定义 ✅
|
||||
- [x] **表务系统设计** - 工单管理、仓库管理、设备档案管理 ✅
|
||||
- [x] **报装系统设计** - 报装流程、现场踏勘、施工验收管理 ✅
|
||||
- [x] **客户服务设计** - 多渠道服务、在线缴费、移动端服务 ✅
|
||||
- [x] **统一平台设计** - 功能界面、模块列表、模块关系、中间件设计 ✅
|
||||
- [x] **营收系统设计** - 保留客户服务模块,移除工单/表务/报装(独立子系统) ✅
|
||||
- [x] **表务管理系统设计(SYS-006)** - 基础、仓库、档案 ✅
|
||||
- [x] **报装业务系统设计(SYS-007)** - 流程、工程、档案 ✅
|
||||
- [x] **工单管理系统设计(SYS-005)** - 工单中心、流程引擎、监控、统计 ✅
|
||||
|
||||
### 技术规范设计
|
||||
- [x] **硬件配置规格** - DMZ区域、应用服务区、数据服务区、管理服务区配置 ✅
|
||||
|
||||
391
water_biz_ca_integration_summary.md
Normal file
391
water_biz_ca_integration_summary.md
Normal file
@ -0,0 +1,391 @@
|
||||
# 报装业务系统与泛微CA电子签章系统集成方案总结报告
|
||||
|
||||
## 文档信息
|
||||
| 项目信息 | 详情 |
|
||||
|---------|------|
|
||||
| **项目名称** | 福建水务营收系统 |
|
||||
| **文档类型** | 集成方案总结报告 |
|
||||
| **文档版本** | v1.0 |
|
||||
| **编写日期** | 2024-12-19 |
|
||||
| **文档状态** | ✅ 已完成 |
|
||||
|
||||
## 1. 项目背景
|
||||
|
||||
福建水务营收系统报装业务流程中涉及多种合同文件的签署,传统的纸质合同签署方式存在流程繁琐、效率低下、存储管理困难等问题。为提高业务办理效率,降低运营成本,同时确保合同的法律效力,本项目拟将泛微CA电子签章系统集成到报装业务系统中,实现合同的电子签署、身份认证和电子存证服务。
|
||||
|
||||
## 2. 需求概述
|
||||
|
||||
### 2.1 业务需求
|
||||
|
||||
1. **合同电子签署**:支持报装申请、用水协议等合同文档的电子签署
|
||||
2. **身份认证**:提供可靠的签署方身份认证机制
|
||||
3. **时间戳服务**:为签署过程提供可信时间戳
|
||||
4. **电子存证**:签署完成的文档需进行安全存储和防篡改保护
|
||||
5. **签署流程管理**:支持多方签署、签署状态跟踪
|
||||
6. **签署结果查询**:提供签署结果的查询和验证功能
|
||||
|
||||
### 2.2 技术需求
|
||||
|
||||
1. **系统集成**:与泛微CA电子签章系统进行无缝集成
|
||||
2. **安全性**:确保签署过程的安全性和数据传输的加密
|
||||
3. **可靠性**:保证签署服务的高可用性
|
||||
4. **合规性**:符合《中华人民共和国电子签名法》等相关法规
|
||||
5. **可扩展性**:支持未来更多类型的合同和文档签署
|
||||
|
||||
## 3. 集成方案设计
|
||||
|
||||
### 3.1 总体架构
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "福建水务营收系统"
|
||||
subgraph "报装业务系统"
|
||||
INST_APP[报装申请模块]
|
||||
INST_CONT[合同管理模块]
|
||||
INST_ARCH[档案管理模块]
|
||||
INST_SIGN[电子签章模块]
|
||||
end
|
||||
|
||||
SYS_PLAT[统一平台]
|
||||
end
|
||||
|
||||
subgraph "外部系统"
|
||||
CA_SYS[泛微CA电子签章系统]
|
||||
end
|
||||
|
||||
INST_APP --> INST_CONT
|
||||
INST_CONT --> INST_SIGN
|
||||
INST_SIGN --> INST_ARCH
|
||||
INST_SIGN <--> CA_SYS
|
||||
SYS_PLAT <--> INST_SIGN
|
||||
```
|
||||
|
||||
### 3.2 集成模式
|
||||
|
||||
本项目采用**API接口集成模式**,通过泛微CA电子签章系统提供的标准REST API接口,实现报装业务系统与CA系统的对接。该模式具有以下特点:
|
||||
|
||||
1. **松耦合**:系统间通过标准HTTP/HTTPS协议通信,降低系统间耦合度
|
||||
2. **灵活性**:可根据业务需求灵活调用不同的CA服务接口
|
||||
3. **易维护**:接口变更时只需调整适配层,不影响业务逻辑
|
||||
4. **安全性**:采用HTTPS加密传输和签名验证机制,确保数据安全
|
||||
|
||||
### 3.3 核心模块设计
|
||||
|
||||
#### 3.3.1 电子签章模块(INST-SIGN)
|
||||
|
||||
作为报装业务系统与泛微CA系统的桥梁,负责处理合同签署、验证和存证等核心功能。
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph "电子签章模块(INST-SIGN)"
|
||||
ADAPTER[泛微CA适配器]
|
||||
CONTRACT[合同签署组件]
|
||||
VERIFY[签章验证组件]
|
||||
STORAGE[签章存储组件]
|
||||
MONITOR[签章监控组件]
|
||||
end
|
||||
|
||||
ADAPTER --> CONTRACT
|
||||
ADAPTER --> VERIFY
|
||||
CONTRACT --> STORAGE
|
||||
VERIFY --> STORAGE
|
||||
STORAGE --> MONITOR
|
||||
```
|
||||
|
||||
#### 3.3.2 泛微CA适配器
|
||||
|
||||
负责与泛微CA系统的直接交互,封装CA系统接口调用细节,提供统一的服务接口给上层组件。主要功能包括:
|
||||
|
||||
1. **接口调用**:封装CA系统API调用逻辑
|
||||
2. **参数转换**:处理业务参数与CA接口参数的转换
|
||||
3. **结果解析**:解析CA系统返回结果
|
||||
4. **异常处理**:处理接口调用异常情况
|
||||
5. **连接管理**:管理与CA系统的连接
|
||||
|
||||
## 4. 接口设计
|
||||
|
||||
### 4.1 内部接口
|
||||
|
||||
| 接口名称 | 接口描述 | 请求方式 | 输入参数 | 输出参数 |
|
||||
|---------|---------|---------|---------|---------|
|
||||
| createContract | 创建电子合同 | POST | 合同类型、合同内容、签署方信息 | 合同ID、状态 |
|
||||
| initiateSignature | 发起签署流程 | POST | 合同ID、签署方信息 | 签署任务ID、状态 |
|
||||
| querySignatureStatus | 查询签署状态 | GET | 签署任务ID | 签署状态、结果 |
|
||||
| verifySignature | 验证签章 | POST | 合同ID | 验证结果、详情 |
|
||||
| applyEvidence | 申请电子存证 | POST | 合同ID | 存证ID、状态 |
|
||||
| queryEvidence | 查询存证信息 | GET | 存证ID | 存证状态、详情 |
|
||||
|
||||
### 4.2 外部接口(泛微CA系统)
|
||||
|
||||
| 接口名称 | 接口描述 | 请求方式 | URL | 安全措施 |
|
||||
|---------|---------|---------|-----|---------|
|
||||
| 身份认证接口 | 验证签署方身份 | POST | /api/v1/auth | HTTPS、签名验证 |
|
||||
| 电子签章接口 | 执行电子签章操作 | POST | /api/v1/signature | HTTPS、签名验证 |
|
||||
| 时间戳接口 | 获取可信时间戳 | POST | /api/v1/timestamp | HTTPS、签名验证 |
|
||||
| 电子存证接口 | 存储签署后的合同 | POST | /api/v1/evidence | HTTPS、签名验证 |
|
||||
| 验证接口 | 验证签章和存证 | POST | /api/v1/verify | HTTPS、签名验证 |
|
||||
|
||||
### 4.3 接口调用示例
|
||||
|
||||
#### 身份认证接口
|
||||
|
||||
```json
|
||||
// 请求
|
||||
POST /api/v1/auth HTTP/1.1
|
||||
Host: ca.fanwei.com
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer {token}
|
||||
|
||||
{
|
||||
"userId": "user123",
|
||||
"authType": "face",
|
||||
"authData": "base64_encoded_data"
|
||||
}
|
||||
|
||||
// 响应
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": {
|
||||
"authId": "auth_123456",
|
||||
"authResult": true,
|
||||
"authTime": "2024-12-19T10:30:00Z"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 电子签章接口
|
||||
|
||||
```json
|
||||
// 请求
|
||||
POST /api/v1/signature HTTP/1.1
|
||||
Host: ca.fanwei.com
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer {token}
|
||||
|
||||
{
|
||||
"documentId": "doc123",
|
||||
"documentData": "base64_encoded_document",
|
||||
"signatureInfo": {
|
||||
"position": { "page": 1, "x": 100, "y": 200 },
|
||||
"signatureType": "personal"
|
||||
}
|
||||
}
|
||||
|
||||
// 响应
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": {
|
||||
"signatureId": "sign_123456",
|
||||
"signatureImage": "base64_encoded_image",
|
||||
"signatureTime": "2024-12-19T10:35:00Z",
|
||||
"documentHash": "sha256_hash_value"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 5. 数据库设计
|
||||
|
||||
### 5.1 数据表设计
|
||||
|
||||
集成方案涉及5个核心数据表:
|
||||
|
||||
1. **电子合同表(installation_contract)**:存储合同基本信息
|
||||
2. **电子签章记录表(installation_signature)**:记录签章信息
|
||||
3. **电子存证记录表(installation_evidence)**:存储存证信息
|
||||
4. **CA系统配置表(installation_ca_config)**:存储CA系统配置
|
||||
5. **签章模板表(installation_signature_template)**:存储签章模板
|
||||
|
||||
### 5.2 表关系设计
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
installation_contract ||--o{ installation_signature : "签署"
|
||||
installation_contract ||--o{ installation_evidence : "存证"
|
||||
installation_signature }|--|| installation_signature_template : "使用"
|
||||
installation_contract }|--|| installation_application : "关联"
|
||||
|
||||
installation_contract {
|
||||
bigint id PK
|
||||
varchar contract_code
|
||||
bigint installation_id FK
|
||||
varchar contract_type
|
||||
varchar contract_status
|
||||
}
|
||||
|
||||
installation_signature {
|
||||
bigint id PK
|
||||
varchar signature_code
|
||||
bigint contract_id FK
|
||||
varchar signer_type
|
||||
varchar signature_status
|
||||
}
|
||||
|
||||
installation_evidence {
|
||||
bigint id PK
|
||||
varchar evidence_code
|
||||
bigint contract_id FK
|
||||
varchar evidence_type
|
||||
varchar evidence_status
|
||||
}
|
||||
```
|
||||
|
||||
## 6. 业务流程设计
|
||||
|
||||
### 6.1 合同签署流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 客户
|
||||
participant 报装系统
|
||||
participant 电子签章模块
|
||||
participant 泛微CA系统
|
||||
|
||||
客户->>报装系统: 提交报装申请
|
||||
报装系统->>报装系统: 生成合同
|
||||
报装系统->>电子签章模块: 创建签署任务
|
||||
电子签章模块->>泛微CA系统: 身份认证请求
|
||||
泛微CA系统-->>电子签章模块: 返回认证结果
|
||||
电子签章模块->>泛微CA系统: 发送签章请求
|
||||
泛微CA系统-->>电子签章模块: 返回签章结果
|
||||
电子签章模块->>泛微CA系统: 申请时间戳
|
||||
泛微CA系统-->>电子签章模块: 返回时间戳凭证
|
||||
电子签章模块->>泛微CA系统: 申请电子存证
|
||||
泛微CA系统-->>电子签章模块: 返回存证凭证
|
||||
电子签章模块-->>报装系统: 返回签署结果
|
||||
报装系统-->>客户: 通知签署完成
|
||||
```
|
||||
|
||||
### 6.2 签署验证流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 用户
|
||||
participant 报装系统
|
||||
participant 电子签章模块
|
||||
participant 泛微CA系统
|
||||
|
||||
用户->>报装系统: 请求验证合同
|
||||
报装系统->>电子签章模块: 发送验证请求
|
||||
电子签章模块->>泛微CA系统: 签章验证请求
|
||||
泛微CA系统-->>电子签章模块: 返回验证结果
|
||||
电子签章模块->>泛微CA系统: 存证验证请求
|
||||
泛微CA系统-->>电子签章模块: 返回存证验证结果
|
||||
电子签章模块-->>报装系统: 返回综合验证结果
|
||||
报装系统-->>用户: 显示验证结果
|
||||
```
|
||||
|
||||
## 7. 安全设计
|
||||
|
||||
### 7.1 传输安全
|
||||
|
||||
- **HTTPS加密传输**:所有接口调用采用HTTPS协议,确保数据传输安全
|
||||
- **数据签名验证**:对请求和响应数据进行签名验证,防止数据篡改
|
||||
- **敏感信息加密**:对身份信息等敏感数据进行加密存储
|
||||
|
||||
### 7.2 身份认证安全
|
||||
|
||||
- **多因素身份认证**:支持人脸识别、手机验证码等多种身份认证方式
|
||||
- **签署权限控制**:基于角色的权限控制,确保只有授权用户才能进行签署
|
||||
- **操作日志记录**:记录所有签署操作,便于审计和追溯
|
||||
|
||||
### 7.3 数据安全
|
||||
|
||||
- **签章数据防篡改**:采用数字签名技术确保签章数据的完整性
|
||||
- **存证数据保护**:通过区块链技术或第三方存证服务确保存证数据不可篡改
|
||||
- **数据备份机制**:定期备份签章和存证数据,防止数据丢失
|
||||
|
||||
## 8. 实施计划
|
||||
|
||||
### 8.1 阶段划分
|
||||
|
||||
| 阶段 | 工作内容 | 时间周期 | 交付物 |
|
||||
|------|---------|---------|-------|
|
||||
| 需求分析 | 详细需求调研、业务流程分析 | 2周 | 需求规格说明书 |
|
||||
| 系统设计 | 架构设计、接口设计、数据库设计 | 3周 | 设计文档 |
|
||||
| 开发实施 | 模块开发、接口对接、单元测试 | 6周 | 系统代码 |
|
||||
| 系统测试 | 功能测试、集成测试、性能测试 | 3周 | 测试报告 |
|
||||
| 部署上线 | 环境准备、系统部署、验收测试 | 2周 | 部署文档 |
|
||||
| 运维支持 | 系统监控、问题处理、版本迭代 | 长期 | 运维手册 |
|
||||
|
||||
### 8.2 关键里程碑
|
||||
|
||||
| 里程碑 | 时间点 | 验收标准 |
|
||||
|-------|-------|---------|
|
||||
| 需求确认 | 第2周末 | 需求文档评审通过 |
|
||||
| 设计完成 | 第5周末 | 设计文档评审通过 |
|
||||
| 开发完成 | 第11周末 | 代码开发完成并通过代码审查 |
|
||||
| 测试通过 | 第14周末 | 测试用例通过率>95% |
|
||||
| 系统上线 | 第16周末 | 系统功能验收通过 |
|
||||
|
||||
## 9. 风险评估与应对策略
|
||||
|
||||
| 风险项 | 风险级别 | 影响范围 | 应对策略 |
|
||||
|-------|---------|---------|---------|
|
||||
| CA系统接口变更 | 中 | 签章功能 | 1. 建立接口版本管理机制<br>2. 设计适配层隔离变更影响<br>3. 与CA系统供应商建立变更通知机制 |
|
||||
| 签章过程中断 | 高 | 业务流程 | 1. 实现断点续签功能<br>2. 完善异常处理机制<br>3. 建立签章失败自动重试机制 |
|
||||
| 存证服务不可用 | 高 | 法律效力 | 1. 建立本地缓存机制<br>2. 实施异步存证策略<br>3. 设置服务可用性监控告警 |
|
||||
| 签章效率问题 | 中 | 用户体验 | 1. 优化签章流程<br>2. 实施批量签章功能<br>3. 签章预处理机制 |
|
||||
| 法规政策变化 | 低 | 合规性 | 1. 定期跟踪法规更新<br>2. 系统设计预留政策调整空间<br>3. 建立合规评估机制 |
|
||||
|
||||
## 10. 预期效益
|
||||
|
||||
### 10.1 业务效益
|
||||
|
||||
1. **提高业务效率**:电子签章将报装合同签署时间从平均3天缩短至30分钟内完成
|
||||
2. **降低运营成本**:减少纸质合同打印、邮寄、存储成本,预计年节省成本30万元
|
||||
3. **优化客户体验**:客户无需到营业厅即可完成合同签署,提升服务满意度
|
||||
4. **提升合规性**:电子签章符合法律法规要求,具有与纸质合同同等的法律效力
|
||||
|
||||
### 10.2 技术效益
|
||||
|
||||
1. **系统现代化**:引入电子签章技术,提升系统现代化水平
|
||||
2. **数据标准化**:合同数据电子化,便于统一管理和分析
|
||||
3. **流程标准化**:签署流程标准化,减少人为干预和错误
|
||||
4. **安全性提升**:采用先进的加密和存证技术,提高数据安全性
|
||||
|
||||
## 11. 结论与建议
|
||||
|
||||
### 11.1 结论
|
||||
|
||||
本集成方案通过将泛微CA电子签章系统与福建水务营收系统的报装业务系统进行对接,实现了合同电子签署、身份认证和电子存证等核心功能,有效解决了传统纸质合同签署方式存在的效率低下、成本高昂、管理困难等问题。方案设计充分考虑了系统安全性、可靠性、合规性和可扩展性,能够满足业务需求并适应未来发展。
|
||||
|
||||
### 11.2 建议
|
||||
|
||||
1. **分阶段实施**:建议按照合同类型分阶段实施电子签章功能,先从用水协议等高频简单合同开始,逐步扩展到复杂合同
|
||||
2. **加强用户培训**:对系统操作人员和客户进行必要的培训,提高电子签章功能的接受度和使用率
|
||||
3. **持续优化体验**:基于用户反馈持续优化签章流程和界面,提升用户体验
|
||||
4. **定期合规检查**:定期对电子签章系统进行合规性检查,确保符合最新的法律法规要求
|
||||
5. **扩展应用范围**:在报装业务成功实施后,可考虑将电子签章功能扩展到其他业务领域,如客户服务、表务管理等
|
||||
|
||||
## 12. 附录
|
||||
|
||||
### 12.1 术语表
|
||||
|
||||
| 术语 | 英文 | 说明 |
|
||||
|------|------|------|
|
||||
| 电子签章 | Electronic Seal | 使用电子技术手段产生的、与实体印章具有同等法律效力的数字印记 |
|
||||
| 电子存证 | Electronic Evidence | 对电子数据进行保全和存储,确保其法律效力的技术手段 |
|
||||
| 时间戳 | Timestamp | 证明电子数据在某一时刻已经存在且未被篡改的数字证明 |
|
||||
| CA系统 | Certificate Authority System | 数字证书认证系统,提供电子认证服务 |
|
||||
|
||||
### 12.2 参考文档
|
||||
|
||||
1. 《泛微CA电子签章系统接口规范》v2.0
|
||||
2. 《福建水务营收系统报装业务需求规格说明书》
|
||||
3. 《中华人民共和国电子签名法》
|
||||
4. GB/T 35275-2017 《电子签名 可信电子签名生成技术规范》
|
||||
5. GB/T 38540-2020 《信息安全技术 电子签名数据电子存证规范》
|
||||
|
||||
### 12.3 相关设计文档
|
||||
|
||||
1. [报装业务系统电子签章功能设计](water_biz_module_design_installation_ca.md)
|
||||
2. [报装业务系统电子签章数据库设计](water_biz_database_design_ca.md)
|
||||
3. [报装业务系统电子签章集成概要设计](water_biz_overview_design_ca.md)
|
||||
442
water_biz_database_design_ca.md
Normal file
442
water_biz_database_design_ca.md
Normal file
@ -0,0 +1,442 @@
|
||||
# 报装业务系统电子签章数据库设计
|
||||
|
||||
## 文档信息
|
||||
| 项目信息 | 详情 |
|
||||
|---------|------|
|
||||
| **项目名称** | 福建水务营收系统 |
|
||||
| **文档类型** | 数据库设计文档 |
|
||||
| **文档版本** | v1.0 |
|
||||
| **编写日期** | 2024-12-19 |
|
||||
| **文档状态** | 🟡 进行中 |
|
||||
|
||||
## 表结构设计
|
||||
|
||||
### 1. 电子合同表(installation_contract)
|
||||
|
||||
#### 表描述
|
||||
存储报装业务系统中的电子合同信息,包括合同基本信息、状态和文件链接等。
|
||||
|
||||
#### 表结构
|
||||
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 |
|
||||
|-------|------|------|-------|-------|------|------|
|
||||
| id | bigint | - | 否 | - | 是 | 主键ID |
|
||||
| contract_code | varchar | 32 | 否 | - | - | 合同编号 |
|
||||
| installation_id | bigint | - | 否 | - | - | 报装申请ID |
|
||||
| contract_type | varchar | 20 | 否 | - | - | 合同类型 |
|
||||
| contract_title | varchar | 100 | 否 | - | - | 合同标题 |
|
||||
| contract_content | text | - | 是 | NULL | - | 合同内容 |
|
||||
| contract_file_url | varchar | 255 | 是 | NULL | - | 合同文件URL |
|
||||
| contract_status | varchar | 20 | 否 | - | - | 合同状态 |
|
||||
| valid_from | datetime | - | 是 | NULL | - | 生效时间 |
|
||||
| valid_to | datetime | - | 是 | NULL | - | 到期时间 |
|
||||
| create_by | varchar | 64 | 是 | NULL | - | 创建人 |
|
||||
| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 |
|
||||
| update_by | varchar | 64 | 是 | NULL | - | 更新人 |
|
||||
| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 |
|
||||
|
||||
#### 索引设计
|
||||
| 索引名 | 索引类型 | 字段 | 说明 |
|
||||
|-------|---------|------|------|
|
||||
| PRIMARY | 主键 | id | 主键索引 |
|
||||
| uk_contract_code | 唯一索引 | contract_code | 合同编号唯一索引 |
|
||||
| idx_installation_id | 普通索引 | installation_id | 报装申请ID索引 |
|
||||
|
||||
#### 字段说明
|
||||
- **contract_type**: 合同类型,如"用水协议"、"施工合同"等
|
||||
- **contract_status**: 合同状态,包括"待签署"、"签署中"、"已签署"、"已作废"等
|
||||
|
||||
### 2. 电子签章记录表(installation_signature)
|
||||
|
||||
#### 表描述
|
||||
记录电子合同的签章信息,包括签署方信息、签署时间、签章数据等。
|
||||
|
||||
#### 表结构
|
||||
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 |
|
||||
|-------|------|------|-------|-------|------|------|
|
||||
| id | bigint | - | 否 | - | 是 | 主键ID |
|
||||
| signature_code | varchar | 32 | 否 | - | - | 签章编号 |
|
||||
| contract_id | bigint | - | 否 | - | - | 合同ID |
|
||||
| signer_type | varchar | 20 | 否 | - | - | 签署方类型 |
|
||||
| signer_id | varchar | 64 | 否 | - | - | 签署方ID |
|
||||
| signer_name | varchar | 100 | 否 | - | - | 签署方名称 |
|
||||
| signature_time | datetime | - | 是 | NULL | - | 签署时间 |
|
||||
| signature_ip | varchar | 50 | 是 | NULL | - | 签署IP |
|
||||
| signature_location | varchar | 255 | 是 | NULL | - | 签署位置 |
|
||||
| signature_image | varchar | 255 | 是 | NULL | - | 签章图像URL |
|
||||
| signature_data | text | - | 是 | NULL | - | 签章数据 |
|
||||
| timestamp_cert | text | - | 是 | NULL | - | 时间戳凭证 |
|
||||
| signature_status | varchar | 20 | 否 | - | - | 签章状态 |
|
||||
| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 |
|
||||
| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 |
|
||||
|
||||
#### 索引设计
|
||||
| 索引名 | 索引类型 | 字段 | 说明 |
|
||||
|-------|---------|------|------|
|
||||
| PRIMARY | 主键 | id | 主键索引 |
|
||||
| uk_signature_code | 唯一索引 | signature_code | 签章编号唯一索引 |
|
||||
| idx_contract_id | 普通索引 | contract_id | 合同ID索引 |
|
||||
| idx_signer_id | 普通索引 | signer_id | 签署方ID索引 |
|
||||
|
||||
#### 字段说明
|
||||
- **signer_type**: 签署方类型,如"客户"、"水务公司"等
|
||||
- **signature_status**: 签章状态,包括"待签署"、"已签署"、"签署失败"、"已撤销"等
|
||||
- **signature_data**: 签章的原始数据,通常为加密后的数据
|
||||
- **timestamp_cert**: 时间戳凭证,用于证明签署时间的真实性
|
||||
|
||||
### 3. 电子存证记录表(installation_evidence)
|
||||
|
||||
#### 表描述
|
||||
存储电子合同的存证信息,包括存证哈希、存证时间、存证凭证等。
|
||||
|
||||
#### 表结构
|
||||
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 |
|
||||
|-------|------|------|-------|-------|------|------|
|
||||
| id | bigint | - | 否 | - | 是 | 主键ID |
|
||||
| evidence_code | varchar | 32 | 否 | - | - | 存证编号 |
|
||||
| contract_id | bigint | - | 否 | - | - | 合同ID |
|
||||
| evidence_type | varchar | 20 | 否 | - | - | 存证类型 |
|
||||
| evidence_hash | varchar | 128 | 否 | - | - | 存证哈希值 |
|
||||
| evidence_time | datetime | - | 否 | - | - | 存证时间 |
|
||||
| evidence_cert | text | - | 是 | NULL | - | 存证凭证 |
|
||||
| evidence_status | varchar | 20 | 否 | - | - | 存证状态 |
|
||||
| storage_location | varchar | 255 | 是 | NULL | - | 存储位置 |
|
||||
| verify_url | varchar | 255 | 是 | NULL | - | 验证URL |
|
||||
| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 |
|
||||
| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 |
|
||||
|
||||
#### 索引设计
|
||||
| 索引名 | 索引类型 | 字段 | 说明 |
|
||||
|-------|---------|------|------|
|
||||
| PRIMARY | 主键 | id | 主键索引 |
|
||||
| uk_evidence_code | 唯一索引 | evidence_code | 存证编号唯一索引 |
|
||||
| idx_contract_id | 普通索引 | contract_id | 合同ID索引 |
|
||||
|
||||
#### 字段说明
|
||||
- **evidence_type**: 存证类型,如"区块链存证"、"第三方存证"等
|
||||
- **evidence_hash**: 存证文件的哈希值,通常使用SHA-256算法生成
|
||||
- **evidence_status**: 存证状态,包括"存证中"、"存证成功"、"存证失败"等
|
||||
- **verify_url**: 存证验证URL,可用于在线验证存证的真实性
|
||||
|
||||
### 4. CA系统配置表(installation_ca_config)
|
||||
|
||||
#### 表描述
|
||||
存储泛微CA电子签章系统的配置信息,包括接口地址、认证信息等。
|
||||
|
||||
#### 表结构
|
||||
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 |
|
||||
|-------|------|------|-------|-------|------|------|
|
||||
| id | bigint | - | 否 | - | 是 | 主键ID |
|
||||
| config_name | varchar | 50 | 否 | - | - | 配置名称 |
|
||||
| config_key | varchar | 50 | 否 | - | - | 配置键 |
|
||||
| config_value | varchar | 500 | 否 | - | - | 配置值 |
|
||||
| config_desc | varchar | 255 | 是 | NULL | - | 配置描述 |
|
||||
| is_enabled | tinyint | - | 否 | 1 | - | 是否启用 |
|
||||
| create_by | varchar | 64 | 是 | NULL | - | 创建人 |
|
||||
| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 |
|
||||
| update_by | varchar | 64 | 是 | NULL | - | 更新人 |
|
||||
| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 |
|
||||
|
||||
#### 索引设计
|
||||
| 索引名 | 索引类型 | 字段 | 说明 |
|
||||
|-------|---------|------|------|
|
||||
| PRIMARY | 主键 | id | 主键索引 |
|
||||
| uk_config_key | 唯一索引 | config_key | 配置键唯一索引 |
|
||||
|
||||
#### 字段说明
|
||||
- **config_key**: 配置键,如"ca.api.url"、"ca.api.key"等
|
||||
- **config_value**: 配置值,存储实际的配置内容
|
||||
- **is_enabled**: 是否启用,1表示启用,0表示禁用
|
||||
|
||||
### 5. 签章模板表(installation_signature_template)
|
||||
|
||||
#### 表描述
|
||||
存储电子签章模板信息,用于快速生成签章。
|
||||
|
||||
#### 表结构
|
||||
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 |
|
||||
|-------|------|------|-------|-------|------|------|
|
||||
| id | bigint | - | 否 | - | 是 | 主键ID |
|
||||
| template_code | varchar | 32 | 否 | - | - | 模板编号 |
|
||||
| template_name | varchar | 100 | 否 | - | - | 模板名称 |
|
||||
| template_type | varchar | 20 | 否 | - | - | 模板类型 |
|
||||
| template_image | varchar | 255 | 是 | NULL | - | 模板图像URL |
|
||||
| template_data | text | - | 是 | NULL | - | 模板数据 |
|
||||
| is_default | tinyint | - | 否 | 0 | - | 是否默认 |
|
||||
| is_enabled | tinyint | - | 否 | 1 | - | 是否启用 |
|
||||
| create_by | varchar | 64 | 是 | NULL | - | 创建人 |
|
||||
| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 |
|
||||
| update_by | varchar | 64 | 是 | NULL | - | 更新人 |
|
||||
| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 |
|
||||
|
||||
#### 索引设计
|
||||
| 索引名 | 索引类型 | 字段 | 说明 |
|
||||
|-------|---------|------|------|
|
||||
| PRIMARY | 主键 | id | 主键索引 |
|
||||
| uk_template_code | 唯一索引 | template_code | 模板编号唯一索引 |
|
||||
|
||||
#### 字段说明
|
||||
- **template_type**: 模板类型,如"个人签章"、"企业签章"等
|
||||
- **template_data**: 模板数据,包含签章的样式、大小等信息
|
||||
- **is_default**: 是否默认模板,1表示是,0表示否
|
||||
- **is_enabled**: 是否启用,1表示启用,0表示禁用
|
||||
|
||||
## 表关系设计
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
installation_contract ||--o{ installation_signature : "签署"
|
||||
installation_contract ||--o{ installation_evidence : "存证"
|
||||
installation_signature }|--|| installation_signature_template : "使用"
|
||||
installation_contract }|--|| installation_application : "关联"
|
||||
|
||||
installation_contract {
|
||||
bigint id PK
|
||||
varchar contract_code
|
||||
bigint installation_id FK
|
||||
varchar contract_type
|
||||
varchar contract_title
|
||||
text contract_content
|
||||
varchar contract_file_url
|
||||
varchar contract_status
|
||||
datetime valid_from
|
||||
datetime valid_to
|
||||
}
|
||||
|
||||
installation_signature {
|
||||
bigint id PK
|
||||
varchar signature_code
|
||||
bigint contract_id FK
|
||||
varchar signer_type
|
||||
varchar signer_id
|
||||
varchar signer_name
|
||||
datetime signature_time
|
||||
varchar signature_ip
|
||||
varchar signature_location
|
||||
varchar signature_image
|
||||
text signature_data
|
||||
text timestamp_cert
|
||||
varchar signature_status
|
||||
}
|
||||
|
||||
installation_evidence {
|
||||
bigint id PK
|
||||
varchar evidence_code
|
||||
bigint contract_id FK
|
||||
varchar evidence_type
|
||||
varchar evidence_hash
|
||||
datetime evidence_time
|
||||
text evidence_cert
|
||||
varchar evidence_status
|
||||
varchar storage_location
|
||||
varchar verify_url
|
||||
}
|
||||
|
||||
installation_ca_config {
|
||||
bigint id PK
|
||||
varchar config_name
|
||||
varchar config_key
|
||||
varchar config_value
|
||||
varchar config_desc
|
||||
tinyint is_enabled
|
||||
}
|
||||
|
||||
installation_signature_template {
|
||||
bigint id PK
|
||||
varchar template_code
|
||||
varchar template_name
|
||||
varchar template_type
|
||||
varchar template_image
|
||||
text template_data
|
||||
tinyint is_default
|
||||
tinyint is_enabled
|
||||
}
|
||||
|
||||
installation_application {
|
||||
bigint id PK
|
||||
varchar application_code
|
||||
varchar customer_name
|
||||
varchar application_status
|
||||
}
|
||||
```
|
||||
|
||||
## 数据字典
|
||||
|
||||
### 合同类型(contract_type)
|
||||
| 代码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| WATER_AGREEMENT | 用水协议 | 客户与水务公司签订的用水服务协议 |
|
||||
| CONSTRUCTION_CONTRACT | 施工合同 | 水务工程施工合同 |
|
||||
| INSTALLATION_AGREEMENT | 报装协议 | 新用户报装服务协议 |
|
||||
|
||||
### 合同状态(contract_status)
|
||||
| 代码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| DRAFT | 草稿 | 合同草稿状态,尚未发起签署 |
|
||||
| PENDING | 待签署 | 合同已创建,等待签署 |
|
||||
| SIGNING | 签署中 | 合同正在签署过程中 |
|
||||
| COMPLETED | 已签署 | 合同已完成所有签署 |
|
||||
| EXPIRED | 已过期 | 合同已过期 |
|
||||
| CANCELLED | 已作废 | 合同已被作废 |
|
||||
|
||||
### 签署方类型(signer_type)
|
||||
| 代码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| CUSTOMER | 客户 | 用水客户 |
|
||||
| COMPANY | 水务公司 | 水务服务提供方 |
|
||||
| CONTRACTOR | 施工方 | 工程施工单位 |
|
||||
| SUPERVISOR | 监理方 | 工程监理单位 |
|
||||
|
||||
### 签章状态(signature_status)
|
||||
| 代码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| PENDING | 待签署 | 等待签署 |
|
||||
| COMPLETED | 已签署 | 签署完成 |
|
||||
| FAILED | 签署失败 | 签署过程中出现错误 |
|
||||
| REVOKED | 已撤销 | 签章已被撤销 |
|
||||
|
||||
### 存证类型(evidence_type)
|
||||
| 代码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| BLOCKCHAIN | 区块链存证 | 使用区块链技术进行电子存证 |
|
||||
| THIRD_PARTY | 第三方存证 | 通过第三方机构进行电子存证 |
|
||||
| LOCAL | 本地存证 | 在本地系统进行电子存证 |
|
||||
|
||||
### 存证状态(evidence_status)
|
||||
| 代码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| PROCESSING | 存证中 | 正在进行存证 |
|
||||
| COMPLETED | 存证成功 | 存证已完成 |
|
||||
| FAILED | 存证失败 | 存证过程中出现错误 |
|
||||
| EXPIRED | 已过期 | 存证已过期 |
|
||||
|
||||
## 数据库优化建议
|
||||
|
||||
### 索引优化
|
||||
1. **合理使用索引**:已为高频查询字段创建索引,如合同ID、签署方ID等
|
||||
2. **避免过度索引**:仅为必要的查询条件创建索引,避免影响写入性能
|
||||
3. **考虑复合索引**:对于经常一起查询的字段,考虑创建复合索引
|
||||
|
||||
### 性能优化
|
||||
1. **大字段处理**:对于签章数据、存证凭证等大字段,考虑使用文件存储,数据库中只存储文件路径
|
||||
2. **分表策略**:当数据量增长到一定程度时,考虑按年份或业务单元进行分表
|
||||
3. **缓存机制**:对于频繁访问的合同和签章信息,实施适当的缓存策略
|
||||
|
||||
### 安全建议
|
||||
1. **敏感数据加密**:对于签章数据、存证哈希等敏感信息,采用加密存储
|
||||
2. **访问控制**:实施严格的数据库访问控制,限制对签章表的直接访问
|
||||
3. **审计日志**:记录所有对签章和存证数据的操作,便于追踪和审计
|
||||
|
||||
## 数据迁移与升级计划
|
||||
|
||||
### 初始数据迁移
|
||||
1. **现有合同数据导入**:将现有纸质合同信息导入电子合同表
|
||||
2. **签章模板初始化**:预设常用的签章模板
|
||||
3. **CA系统配置初始化**:配置泛微CA系统的连接参数
|
||||
|
||||
### 版本升级计划
|
||||
1. **v1.1版本**:增加签章权限控制表,细化签章权限管理
|
||||
2. **v1.2版本**:增加签章日志表,记录详细的签章操作日志
|
||||
3. **v2.0版本**:支持多CA系统集成,增加CA系统路由表
|
||||
|
||||
## 附录
|
||||
|
||||
### SQL创建脚本
|
||||
|
||||
```sql
|
||||
-- 电子合同表
|
||||
CREATE TABLE `installation_contract` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`contract_code` varchar(32) NOT NULL COMMENT '合同编号',
|
||||
`installation_id` bigint NOT NULL COMMENT '报装申请ID',
|
||||
`contract_type` varchar(20) NOT NULL COMMENT '合同类型',
|
||||
`contract_title` varchar(100) NOT NULL COMMENT '合同标题',
|
||||
`contract_content` text COMMENT '合同内容',
|
||||
`contract_file_url` varchar(255) DEFAULT NULL COMMENT '合同文件URL',
|
||||
`contract_status` varchar(20) NOT NULL COMMENT '合同状态',
|
||||
`valid_from` datetime DEFAULT NULL COMMENT '生效时间',
|
||||
`valid_to` datetime DEFAULT NULL COMMENT '到期时间',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_contract_code` (`contract_code`),
|
||||
KEY `idx_installation_id` (`installation_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装合同表';
|
||||
|
||||
-- 电子签章记录表
|
||||
CREATE TABLE `installation_signature` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`signature_code` varchar(32) NOT NULL COMMENT '签章编号',
|
||||
`contract_id` bigint NOT NULL COMMENT '合同ID',
|
||||
`signer_type` varchar(20) NOT NULL COMMENT '签署方类型',
|
||||
`signer_id` varchar(64) NOT NULL COMMENT '签署方ID',
|
||||
`signer_name` varchar(100) NOT NULL COMMENT '签署方名称',
|
||||
`signature_time` datetime DEFAULT NULL COMMENT '签署时间',
|
||||
`signature_ip` varchar(50) DEFAULT NULL COMMENT '签署IP',
|
||||
`signature_location` varchar(255) DEFAULT NULL COMMENT '签署位置',
|
||||
`signature_image` varchar(255) DEFAULT NULL COMMENT '签章图像URL',
|
||||
`signature_data` text COMMENT '签章数据',
|
||||
`timestamp_cert` text COMMENT '时间戳凭证',
|
||||
`signature_status` varchar(20) NOT NULL COMMENT '签章状态',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_signature_code` (`signature_code`),
|
||||
KEY `idx_contract_id` (`contract_id`),
|
||||
KEY `idx_signer_id` (`signer_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装签章记录表';
|
||||
|
||||
-- 电子存证记录表
|
||||
CREATE TABLE `installation_evidence` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`evidence_code` varchar(32) NOT NULL COMMENT '存证编号',
|
||||
`contract_id` bigint NOT NULL COMMENT '合同ID',
|
||||
`evidence_type` varchar(20) NOT NULL COMMENT '存证类型',
|
||||
`evidence_hash` varchar(128) NOT NULL COMMENT '存证哈希值',
|
||||
`evidence_time` datetime NOT NULL COMMENT '存证时间',
|
||||
`evidence_cert` text COMMENT '存证凭证',
|
||||
`evidence_status` varchar(20) NOT NULL COMMENT '存证状态',
|
||||
`storage_location` varchar(255) DEFAULT NULL COMMENT '存储位置',
|
||||
`verify_url` varchar(255) DEFAULT NULL COMMENT '验证URL',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_evidence_code` (`evidence_code`),
|
||||
KEY `idx_contract_id` (`contract_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装存证记录表';
|
||||
|
||||
-- CA系统配置表
|
||||
CREATE TABLE `installation_ca_config` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`config_name` varchar(50) NOT NULL COMMENT '配置名称',
|
||||
`config_key` varchar(50) NOT NULL COMMENT '配置键',
|
||||
`config_value` varchar(500) NOT NULL COMMENT '配置值',
|
||||
`config_desc` varchar(255) DEFAULT NULL COMMENT '配置描述',
|
||||
`is_enabled` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_config_key` (`config_key`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CA系统配置表';
|
||||
|
||||
-- 签章模板表
|
||||
CREATE TABLE `installation_signature_template` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`template_code` varchar(32) NOT NULL COMMENT '模板编号',
|
||||
`template_name` varchar(100) NOT NULL COMMENT '模板名称',
|
||||
`template_type` varchar(20) NOT NULL COMMENT '模板类型',
|
||||
`template_image` varchar(255) DEFAULT NULL COMMENT '模板图像URL',
|
||||
`template_data` text COMMENT '模板数据',
|
||||
`is_default` tinyint NOT NULL DEFAULT '0' COMMENT '是否默认',
|
||||
`is_enabled` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_template_code` (`template_code`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='签章模板表';
|
||||
```
|
||||
500
water_biz_module_design_installation_ca.md
Normal file
500
water_biz_module_design_installation_ca.md
Normal file
@ -0,0 +1,500 @@
|
||||
# 报装业务系统电子签章功能设计
|
||||
|
||||
## 文档信息
|
||||
| 项目信息 | 详情 |
|
||||
|---------|------|
|
||||
| **项目名称** | 福建水务营收系统 |
|
||||
| **文档类型** | 模块设计文档 |
|
||||
| **文档版本** | v1.0 |
|
||||
| **编写日期** | 2024-12-19 |
|
||||
| **文档状态** | 🟡 进行中 |
|
||||
|
||||
## 功能概述
|
||||
|
||||
报装业务系统电子签章功能是通过集成泛微CA电子签章系统,实现合同电子签署、身份认证和电子存证服务,确保电子合同的法律效力,提高报装业务办理效率,降低纸质文档处理成本。
|
||||
|
||||
## 需求分析
|
||||
|
||||
### 业务需求
|
||||
|
||||
1. **合同电子签署**:支持报装申请、用水协议等合同文档的电子签署
|
||||
2. **身份认证**:提供可靠的签署方身份认证机制
|
||||
3. **时间戳服务**:为签署过程提供可信时间戳
|
||||
4. **电子存证**:签署完成的文档需进行安全存储和防篡改保护
|
||||
5. **签署流程管理**:支持多方签署、签署状态跟踪
|
||||
6. **签署结果查询**:提供签署结果的查询和验证功能
|
||||
|
||||
### 技术需求
|
||||
|
||||
1. **系统集成**:与泛微CA电子签章系统进行无缝集成
|
||||
2. **安全性**:确保签署过程的安全性和数据传输的加密
|
||||
3. **可靠性**:保证签署服务的高可用性
|
||||
4. **合规性**:符合《中华人民共和国电子签名法》等相关法规
|
||||
5. **可扩展性**:支持未来更多类型的合同和文档签署
|
||||
|
||||
## 技术架构
|
||||
|
||||
### 集成架构
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph "报装业务系统"
|
||||
INST_APP[报装申请模块]
|
||||
INST_CONT[合同管理模块]
|
||||
INST_ARCH[档案管理模块]
|
||||
INST_SIGN[电子签章模块]
|
||||
end
|
||||
|
||||
subgraph "泛微CA电子签章系统"
|
||||
CA_AUTH[身份认证服务]
|
||||
CA_SIGN[电子签章服务]
|
||||
CA_TIME[时间戳服务]
|
||||
CA_STORE[电子存证服务]
|
||||
end
|
||||
|
||||
INST_APP --> INST_CONT
|
||||
INST_CONT --> INST_SIGN
|
||||
INST_SIGN --> CA_AUTH
|
||||
INST_SIGN --> CA_SIGN
|
||||
INST_SIGN --> CA_TIME
|
||||
INST_SIGN --> CA_STORE
|
||||
INST_SIGN --> INST_ARCH
|
||||
```
|
||||
|
||||
### 模块组件
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph "电子签章模块(INST-SIGN)"
|
||||
ADAPTER[泛微CA适配器]
|
||||
CONTRACT[合同签署组件]
|
||||
VERIFY[签章验证组件]
|
||||
STORAGE[签章存储组件]
|
||||
MONITOR[签章监控组件]
|
||||
end
|
||||
|
||||
ADAPTER --> CONTRACT
|
||||
ADAPTER --> VERIFY
|
||||
CONTRACT --> STORAGE
|
||||
VERIFY --> STORAGE
|
||||
STORAGE --> MONITOR
|
||||
```
|
||||
|
||||
## 功能模块设计
|
||||
|
||||
### 电子签章模块(INST-SIGN)
|
||||
|
||||
#### 核心功能
|
||||
|
||||
1. **合同签署管理**
|
||||
- 合同模板管理
|
||||
- 签署流程定义
|
||||
- 签署任务创建
|
||||
- 签署状态跟踪
|
||||
|
||||
2. **电子签章服务**
|
||||
- 签章申请
|
||||
- 签章执行
|
||||
- 签章验证
|
||||
- 签章结果通知
|
||||
|
||||
3. **电子存证管理**
|
||||
- 存证申请
|
||||
- 存证查询
|
||||
- 存证验证
|
||||
- 存证下载
|
||||
|
||||
4. **系统集成服务**
|
||||
- CA系统连接管理
|
||||
- 接口调用监控
|
||||
- 异常处理机制
|
||||
- 日志记录与审计
|
||||
|
||||
#### 数据模型
|
||||
|
||||
1. **电子合同表(installation_contract)**
|
||||
- 合同ID
|
||||
- 合同类型
|
||||
- 合同标题
|
||||
- 合同内容
|
||||
- 创建时间
|
||||
- 有效期
|
||||
- 状态
|
||||
|
||||
2. **电子签章记录表(installation_signature)**
|
||||
- 签章ID
|
||||
- 合同ID
|
||||
- 签署人ID
|
||||
- 签署时间
|
||||
- 签署IP
|
||||
- 签章图像
|
||||
- 签章状态
|
||||
|
||||
3. **电子存证记录表(installation_evidence)**
|
||||
- 存证ID
|
||||
- 合同ID
|
||||
- 存证时间
|
||||
- 存证哈希
|
||||
- 存证状态
|
||||
- 存证凭证
|
||||
|
||||
## 接口设计
|
||||
|
||||
### 内部接口
|
||||
|
||||
1. **合同签署接口**
|
||||
- 功能:创建合同签署任务
|
||||
- 输入:合同信息、签署方信息
|
||||
- 输出:签署任务ID、状态
|
||||
|
||||
2. **签署状态查询接口**
|
||||
- 功能:查询合同签署状态
|
||||
- 输入:签署任务ID
|
||||
- 输出:签署状态、签署结果
|
||||
|
||||
3. **存证申请接口**
|
||||
- 功能:为已签署合同申请电子存证
|
||||
- 输入:合同ID
|
||||
- 输出:存证ID、存证状态
|
||||
|
||||
### 外部接口(泛微CA系统)
|
||||
|
||||
1. **身份认证接口**
|
||||
- 功能:验证签署方身份
|
||||
- 方式:HTTPS REST API
|
||||
- 输入:用户信息、认证方式
|
||||
- 输出:认证结果、认证凭证
|
||||
|
||||
2. **电子签章接口**
|
||||
- 功能:执行电子签章操作
|
||||
- 方式:HTTPS REST API
|
||||
- 输入:文档内容、签章位置、签章类型
|
||||
- 输出:签章结果、签章图像
|
||||
|
||||
3. **时间戳接口**
|
||||
- 功能:为签署过程提供可信时间戳
|
||||
- 方式:HTTPS REST API
|
||||
- 输入:签署数据哈希
|
||||
- 输出:时间戳凭证
|
||||
|
||||
4. **电子存证接口**
|
||||
- 功能:存储签署后的合同文档
|
||||
- 方式:HTTPS REST API
|
||||
- 输入:签署完成的文档、元数据
|
||||
- 输出:存证凭证、存证ID
|
||||
|
||||
## 业务流程
|
||||
|
||||
### 合同签署流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 客户
|
||||
participant 报装系统
|
||||
participant 电子签章模块
|
||||
participant 泛微CA系统
|
||||
|
||||
客户->>报装系统: 提交报装申请
|
||||
报装系统->>报装系统: 生成合同
|
||||
报装系统->>电子签章模块: 创建签署任务
|
||||
电子签章模块->>泛微CA系统: 身份认证请求
|
||||
泛微CA系统-->>电子签章模块: 返回认证结果
|
||||
电子签章模块->>泛微CA系统: 发送签章请求
|
||||
泛微CA系统-->>电子签章模块: 返回签章结果
|
||||
电子签章模块->>泛微CA系统: 申请时间戳
|
||||
泛微CA系统-->>电子签章模块: 返回时间戳凭证
|
||||
电子签章模块->>泛微CA系统: 申请电子存证
|
||||
泛微CA系统-->>电子签章模块: 返回存证凭证
|
||||
电子签章模块-->>报装系统: 返回签署结果
|
||||
报装系统-->>客户: 通知签署完成
|
||||
```
|
||||
|
||||
### 签署验证流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 用户
|
||||
participant 报装系统
|
||||
participant 电子签章模块
|
||||
participant 泛微CA系统
|
||||
|
||||
用户->>报装系统: 请求验证合同
|
||||
报装系统->>电子签章模块: 发送验证请求
|
||||
电子签章模块->>泛微CA系统: 签章验证请求
|
||||
泛微CA系统-->>电子签章模块: 返回验证结果
|
||||
电子签章模块->>泛微CA系统: 存证验证请求
|
||||
泛微CA系统-->>电子签章模块: 返回存证验证结果
|
||||
电子签章模块-->>报装系统: 返回综合验证结果
|
||||
报装系统-->>用户: 显示验证结果
|
||||
```
|
||||
|
||||
## 安全设计
|
||||
|
||||
1. **数据传输安全**
|
||||
- 采用HTTPS加密传输
|
||||
- 实施数据签名验证
|
||||
- 敏感信息加密存储
|
||||
|
||||
2. **身份认证安全**
|
||||
- 多因素身份认证
|
||||
- 签署权限控制
|
||||
- 身份信息保护
|
||||
|
||||
3. **签章防伪措施**
|
||||
- 签章图像防篡改
|
||||
- 签章过程全程记录
|
||||
- 签章结果防抵赖
|
||||
|
||||
4. **存证安全保障**
|
||||
- 区块链存证技术
|
||||
- 多副本存储策略
|
||||
- 存证数据定期校验
|
||||
|
||||
## 部署方案
|
||||
|
||||
### 系统部署
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph "应用服务器"
|
||||
APP[报装业务系统]
|
||||
SIGN_MOD[电子签章模块]
|
||||
end
|
||||
|
||||
subgraph "数据服务器"
|
||||
DB[(业务数据库)]
|
||||
SIGN_DB[(签章数据库)]
|
||||
end
|
||||
|
||||
subgraph "泛微CA服务"
|
||||
CA_API[CA API服务]
|
||||
CA_STORAGE[CA存证服务]
|
||||
end
|
||||
|
||||
APP --> SIGN_MOD
|
||||
SIGN_MOD --> DB
|
||||
SIGN_MOD --> SIGN_DB
|
||||
SIGN_MOD --> CA_API
|
||||
CA_API --> CA_STORAGE
|
||||
```
|
||||
|
||||
### 配置要求
|
||||
|
||||
1. **服务器配置**
|
||||
- 应用服务器:8核16G,100G存储
|
||||
- 数据服务器:16核32G,500G存储
|
||||
|
||||
2. **网络配置**
|
||||
- 内网带宽:≥1Gbps
|
||||
- 外网带宽:≥100Mbps
|
||||
- 专线连接:建议与CA系统建立专线
|
||||
|
||||
3. **安全配置**
|
||||
- 防火墙策略:仅开放必要端口
|
||||
- 访问控制:IP白名单限制
|
||||
- 日志审计:全程记录系统操作
|
||||
|
||||
## 测试方案
|
||||
|
||||
1. **功能测试**
|
||||
- 合同生成测试
|
||||
- 签章流程测试
|
||||
- 存证流程测试
|
||||
- 验证流程测试
|
||||
|
||||
2. **性能测试**
|
||||
- 并发签署测试
|
||||
- 响应时间测试
|
||||
- 系统负载测试
|
||||
|
||||
3. **安全测试**
|
||||
- 数据传输安全测试
|
||||
- 身份认证安全测试
|
||||
- 防篡改能力测试
|
||||
|
||||
4. **集成测试**
|
||||
- 与CA系统集成测试
|
||||
- 与报装流程集成测试
|
||||
- 与档案管理集成测试
|
||||
|
||||
## 运维监控
|
||||
|
||||
1. **系统监控**
|
||||
- 接口调用监控
|
||||
- 系统资源监控
|
||||
- 签章服务可用性监控
|
||||
|
||||
2. **告警机制**
|
||||
- 服务不可用告警
|
||||
- 签章失败告警
|
||||
- 存证异常告警
|
||||
|
||||
3. **日志管理**
|
||||
- 操作日志记录
|
||||
- 签章日志记录
|
||||
- 安全审计日志
|
||||
|
||||
## 实施计划
|
||||
|
||||
1. **开发阶段**
|
||||
- 泛微CA接口对接:2周
|
||||
- 电子签章模块开发:3周
|
||||
- 业务流程集成:2周
|
||||
|
||||
2. **测试阶段**
|
||||
- 功能测试:1周
|
||||
- 集成测试:1周
|
||||
- 安全测试:1周
|
||||
|
||||
3. **部署阶段**
|
||||
- 环境准备:3天
|
||||
- 系统部署:2天
|
||||
- 上线验证:2天
|
||||
|
||||
4. **运维阶段**
|
||||
- 系统监控配置:2天
|
||||
- 运维文档编写:3天
|
||||
- 运维人员培训:1天
|
||||
|
||||
## 风险评估
|
||||
|
||||
| 风险项 | 风险级别 | 应对措施 |
|
||||
|-------|---------|---------|
|
||||
| CA系统接口变更 | 中 | 建立接口版本管理机制,做好兼容性处理 |
|
||||
| 签章过程中断 | 高 | 实现断点续签功能,完善异常处理机制 |
|
||||
| 存证服务不可用 | 高 | 建立本地缓存机制,实施异步存证策略 |
|
||||
| 签章效率问题 | 中 | 优化签章流程,实施批量签章功能 |
|
||||
| 法规政策变化 | 低 | 定期跟踪法规更新,及时调整系统功能 |
|
||||
|
||||
## 附录
|
||||
|
||||
### 泛微CA系统接口规范
|
||||
|
||||
泛微CA电子签章系统提供以下核心API接口:
|
||||
|
||||
1. **身份认证API**
|
||||
- 接口地址:`/api/v1/auth`
|
||||
- 请求方式:POST
|
||||
- 参数示例:
|
||||
```json
|
||||
{
|
||||
"userId": "user123",
|
||||
"authType": "face",
|
||||
"authData": "base64_encoded_data"
|
||||
}
|
||||
```
|
||||
|
||||
2. **电子签章API**
|
||||
- 接口地址:`/api/v1/signature`
|
||||
- 请求方式:POST
|
||||
- 参数示例:
|
||||
```json
|
||||
{
|
||||
"documentId": "doc123",
|
||||
"documentData": "base64_encoded_document",
|
||||
"signatureInfo": {
|
||||
"position": { "page": 1, "x": 100, "y": 200 },
|
||||
"signatureType": "personal"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
3. **时间戳API**
|
||||
- 接口地址:`/api/v1/timestamp`
|
||||
- 请求方式:POST
|
||||
- 参数示例:
|
||||
```json
|
||||
{
|
||||
"documentHash": "sha256_hash_value"
|
||||
}
|
||||
```
|
||||
|
||||
4. **电子存证API**
|
||||
- 接口地址:`/api/v1/evidence`
|
||||
- 请求方式:POST
|
||||
- 参数示例:
|
||||
```json
|
||||
{
|
||||
"documentId": "doc123",
|
||||
"documentData": "base64_encoded_document",
|
||||
"metadata": {
|
||||
"title": "用水协议",
|
||||
"signers": ["user1", "user2"],
|
||||
"signTime": "2024-12-19T10:30:00Z"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 数据库表设计
|
||||
|
||||
#### 电子合同表(installation_contract)
|
||||
|
||||
```sql
|
||||
CREATE TABLE `installation_contract` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`contract_code` varchar(32) NOT NULL COMMENT '合同编号',
|
||||
`installation_id` bigint NOT NULL COMMENT '报装申请ID',
|
||||
`contract_type` varchar(20) NOT NULL COMMENT '合同类型',
|
||||
`contract_title` varchar(100) NOT NULL COMMENT '合同标题',
|
||||
`contract_content` text COMMENT '合同内容',
|
||||
`contract_file_url` varchar(255) DEFAULT NULL COMMENT '合同文件URL',
|
||||
`contract_status` varchar(20) NOT NULL COMMENT '合同状态',
|
||||
`valid_from` datetime DEFAULT NULL COMMENT '生效时间',
|
||||
`valid_to` datetime DEFAULT NULL COMMENT '到期时间',
|
||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_contract_code` (`contract_code`),
|
||||
KEY `idx_installation_id` (`installation_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装合同表';
|
||||
```
|
||||
|
||||
#### 电子签章记录表(installation_signature)
|
||||
|
||||
```sql
|
||||
CREATE TABLE `installation_signature` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`signature_code` varchar(32) NOT NULL COMMENT '签章编号',
|
||||
`contract_id` bigint NOT NULL COMMENT '合同ID',
|
||||
`signer_type` varchar(20) NOT NULL COMMENT '签署方类型',
|
||||
`signer_id` varchar(64) NOT NULL COMMENT '签署方ID',
|
||||
`signer_name` varchar(100) NOT NULL COMMENT '签署方名称',
|
||||
`signature_time` datetime DEFAULT NULL COMMENT '签署时间',
|
||||
`signature_ip` varchar(50) DEFAULT NULL COMMENT '签署IP',
|
||||
`signature_location` varchar(255) DEFAULT NULL COMMENT '签署位置',
|
||||
`signature_image` varchar(255) DEFAULT NULL COMMENT '签章图像URL',
|
||||
`signature_data` text COMMENT '签章数据',
|
||||
`timestamp_cert` text COMMENT '时间戳凭证',
|
||||
`signature_status` varchar(20) NOT NULL COMMENT '签章状态',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_signature_code` (`signature_code`),
|
||||
KEY `idx_contract_id` (`contract_id`),
|
||||
KEY `idx_signer_id` (`signer_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装签章记录表';
|
||||
```
|
||||
|
||||
#### 电子存证记录表(installation_evidence)
|
||||
|
||||
```sql
|
||||
CREATE TABLE `installation_evidence` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`evidence_code` varchar(32) NOT NULL COMMENT '存证编号',
|
||||
`contract_id` bigint NOT NULL COMMENT '合同ID',
|
||||
`evidence_type` varchar(20) NOT NULL COMMENT '存证类型',
|
||||
`evidence_hash` varchar(128) NOT NULL COMMENT '存证哈希值',
|
||||
`evidence_time` datetime NOT NULL COMMENT '存证时间',
|
||||
`evidence_cert` text COMMENT '存证凭证',
|
||||
`evidence_status` varchar(20) NOT NULL COMMENT '存证状态',
|
||||
`storage_location` varchar(255) DEFAULT NULL COMMENT '存储位置',
|
||||
`verify_url` varchar(255) DEFAULT NULL COMMENT '验证URL',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_evidence_code` (`evidence_code`),
|
||||
KEY `idx_contract_id` (`contract_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装存证记录表';
|
||||
```
|
||||
383
water_biz_overview_design_ca.md
Normal file
383
water_biz_overview_design_ca.md
Normal file
@ -0,0 +1,383 @@
|
||||
# 报装业务系统电子签章集成概要设计
|
||||
|
||||
## 文档信息
|
||||
| 项目信息 | 详情 |
|
||||
|---------|------|
|
||||
| **项目名称** | 福建水务营收系统 |
|
||||
| **文档类型** | 概要设计文档 |
|
||||
| **文档版本** | v1.0 |
|
||||
| **编写日期** | 2024-12-19 |
|
||||
| **文档状态** | 🟡 进行中 |
|
||||
|
||||
## 1. 设计目标
|
||||
|
||||
本设计旨在为福建水务营收系统的报装业务系统集成泛微CA电子签章系统,实现合同电子签署、身份认证和电子存证服务,确保电子合同的法律效力,提高业务办理效率,降低纸质文档处理成本。
|
||||
|
||||
## 2. 系统架构
|
||||
|
||||
### 2.1 总体架构
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "福建水务营收系统"
|
||||
subgraph "报装业务系统"
|
||||
INST_APP[报装申请模块]
|
||||
INST_CONT[合同管理模块]
|
||||
INST_ARCH[档案管理模块]
|
||||
INST_SIGN[电子签章模块]
|
||||
end
|
||||
|
||||
SYS_PLAT[统一平台]
|
||||
end
|
||||
|
||||
subgraph "外部系统"
|
||||
CA_SYS[泛微CA电子签章系统]
|
||||
end
|
||||
|
||||
INST_APP --> INST_CONT
|
||||
INST_CONT --> INST_SIGN
|
||||
INST_SIGN --> INST_ARCH
|
||||
INST_SIGN <--> CA_SYS
|
||||
SYS_PLAT <--> INST_SIGN
|
||||
```
|
||||
|
||||
### 2.2 模块架构
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph "电子签章模块(INST-SIGN)"
|
||||
ADAPTER[泛微CA适配器]
|
||||
CONTRACT[合同签署组件]
|
||||
VERIFY[签章验证组件]
|
||||
STORAGE[签章存储组件]
|
||||
MONITOR[签章监控组件]
|
||||
end
|
||||
|
||||
subgraph "泛微CA电子签章系统"
|
||||
CA_AUTH[身份认证服务]
|
||||
CA_SIGN[电子签章服务]
|
||||
CA_TIME[时间戳服务]
|
||||
CA_STORE[电子存证服务]
|
||||
end
|
||||
|
||||
ADAPTER --> CA_AUTH
|
||||
ADAPTER --> CA_SIGN
|
||||
ADAPTER --> CA_TIME
|
||||
ADAPTER --> CA_STORE
|
||||
|
||||
CONTRACT --> ADAPTER
|
||||
VERIFY --> ADAPTER
|
||||
STORAGE --> ADAPTER
|
||||
MONITOR --> ADAPTER
|
||||
```
|
||||
|
||||
## 3. 功能需求
|
||||
|
||||
### 3.1 核心功能
|
||||
|
||||
| 功能模块 | 功能点 | 优先级 | 描述 |
|
||||
|---------|-------|-------|------|
|
||||
| 合同管理 | 合同模板管理 | 高 | 管理各类电子合同模板,支持模板参数化 |
|
||||
| 合同管理 | 合同生成 | 高 | 基于模板和业务数据生成电子合同 |
|
||||
| 电子签章 | 签章申请 | 高 | 向CA系统申请电子签章 |
|
||||
| 电子签章 | 签章执行 | 高 | 执行电子签章操作 |
|
||||
| 电子签章 | 签章验证 | 中 | 验证电子签章的有效性 |
|
||||
| 电子存证 | 存证申请 | 高 | 向CA系统申请电子存证 |
|
||||
| 电子存证 | 存证查询 | 中 | 查询电子存证状态和信息 |
|
||||
| 电子存证 | 存证验证 | 中 | 验证电子存证的有效性 |
|
||||
| 系统集成 | CA系统连接管理 | 高 | 管理与CA系统的连接配置 |
|
||||
| 系统集成 | 接口调用监控 | 中 | 监控与CA系统的接口调用情况 |
|
||||
|
||||
### 3.2 业务流程
|
||||
|
||||
#### 3.2.1 合同签署流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 客户
|
||||
participant 报装系统
|
||||
participant 电子签章模块
|
||||
participant 泛微CA系统
|
||||
|
||||
客户->>报装系统: 提交报装申请
|
||||
报装系统->>报装系统: 生成合同
|
||||
报装系统->>电子签章模块: 创建签署任务
|
||||
电子签章模块->>泛微CA系统: 身份认证请求
|
||||
泛微CA系统-->>电子签章模块: 返回认证结果
|
||||
电子签章模块->>泛微CA系统: 发送签章请求
|
||||
泛微CA系统-->>电子签章模块: 返回签章结果
|
||||
电子签章模块->>泛微CA系统: 申请时间戳
|
||||
泛微CA系统-->>电子签章模块: 返回时间戳凭证
|
||||
电子签章模块->>泛微CA系统: 申请电子存证
|
||||
泛微CA系统-->>电子签章模块: 返回存证凭证
|
||||
电子签章模块-->>报装系统: 返回签署结果
|
||||
报装系统-->>客户: 通知签署完成
|
||||
```
|
||||
|
||||
#### 3.2.2 签署验证流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 用户
|
||||
participant 报装系统
|
||||
participant 电子签章模块
|
||||
participant 泛微CA系统
|
||||
|
||||
用户->>报装系统: 请求验证合同
|
||||
报装系统->>电子签章模块: 发送验证请求
|
||||
电子签章模块->>泛微CA系统: 签章验证请求
|
||||
泛微CA系统-->>电子签章模块: 返回验证结果
|
||||
电子签章模块->>泛微CA系统: 存证验证请求
|
||||
泛微CA系统-->>电子签章模块: 返回存证验证结果
|
||||
电子签章模块-->>报装系统: 返回综合验证结果
|
||||
报装系统-->>用户: 显示验证结果
|
||||
```
|
||||
|
||||
## 4. 接口设计
|
||||
|
||||
### 4.1 内部接口
|
||||
|
||||
| 接口名称 | 接口描述 | 请求方式 | 输入参数 | 输出参数 |
|
||||
|---------|---------|---------|---------|---------|
|
||||
| createContract | 创建电子合同 | POST | 合同类型、合同内容、签署方信息 | 合同ID、状态 |
|
||||
| initiateSignature | 发起签署流程 | POST | 合同ID、签署方信息 | 签署任务ID、状态 |
|
||||
| querySignatureStatus | 查询签署状态 | GET | 签署任务ID | 签署状态、结果 |
|
||||
| verifySignature | 验证签章 | POST | 合同ID | 验证结果、详情 |
|
||||
| applyEvidence | 申请电子存证 | POST | 合同ID | 存证ID、状态 |
|
||||
| queryEvidence | 查询存证信息 | GET | 存证ID | 存证状态、详情 |
|
||||
|
||||
### 4.2 外部接口
|
||||
|
||||
| 接口名称 | 接口描述 | 请求方式 | URL | 安全措施 |
|
||||
|---------|---------|---------|-----|---------|
|
||||
| 身份认证接口 | 验证签署方身份 | POST | /api/v1/auth | HTTPS、签名验证 |
|
||||
| 电子签章接口 | 执行电子签章操作 | POST | /api/v1/signature | HTTPS、签名验证 |
|
||||
| 时间戳接口 | 获取可信时间戳 | POST | /api/v1/timestamp | HTTPS、签名验证 |
|
||||
| 电子存证接口 | 存储签署后的合同 | POST | /api/v1/evidence | HTTPS、签名验证 |
|
||||
| 验证接口 | 验证签章和存证 | POST | /api/v1/verify | HTTPS、签名验证 |
|
||||
|
||||
## 5. 数据设计
|
||||
|
||||
### 5.1 数据模型
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
installation_contract ||--o{ installation_signature : "签署"
|
||||
installation_contract ||--o{ installation_evidence : "存证"
|
||||
installation_signature }|--|| installation_signature_template : "使用"
|
||||
installation_contract }|--|| installation_application : "关联"
|
||||
|
||||
installation_contract {
|
||||
bigint id PK
|
||||
varchar contract_code
|
||||
bigint installation_id FK
|
||||
varchar contract_type
|
||||
varchar contract_title
|
||||
text contract_content
|
||||
varchar contract_file_url
|
||||
varchar contract_status
|
||||
}
|
||||
|
||||
installation_signature {
|
||||
bigint id PK
|
||||
varchar signature_code
|
||||
bigint contract_id FK
|
||||
varchar signer_type
|
||||
varchar signer_id
|
||||
varchar signature_time
|
||||
varchar signature_status
|
||||
}
|
||||
|
||||
installation_evidence {
|
||||
bigint id PK
|
||||
varchar evidence_code
|
||||
bigint contract_id FK
|
||||
varchar evidence_type
|
||||
varchar evidence_hash
|
||||
varchar evidence_status
|
||||
}
|
||||
|
||||
installation_ca_config {
|
||||
bigint id PK
|
||||
varchar config_key
|
||||
varchar config_value
|
||||
tinyint is_enabled
|
||||
}
|
||||
|
||||
installation_signature_template {
|
||||
bigint id PK
|
||||
varchar template_code
|
||||
varchar template_name
|
||||
varchar template_type
|
||||
tinyint is_default
|
||||
}
|
||||
```
|
||||
|
||||
### 5.2 关键表设计
|
||||
|
||||
#### 5.2.1 电子合同表(installation_contract)
|
||||
|
||||
存储报装业务系统中的电子合同信息,包括合同基本信息、状态和文件链接等。
|
||||
|
||||
#### 5.2.2 电子签章记录表(installation_signature)
|
||||
|
||||
记录电子合同的签章信息,包括签署方信息、签署时间、签章数据等。
|
||||
|
||||
#### 5.2.3 电子存证记录表(installation_evidence)
|
||||
|
||||
存储电子合同的存证信息,包括存证哈希、存证时间、存证凭证等。
|
||||
|
||||
#### 5.2.4 CA系统配置表(installation_ca_config)
|
||||
|
||||
存储泛微CA电子签章系统的配置信息,包括接口地址、认证信息等。
|
||||
|
||||
#### 5.2.5 签章模板表(installation_signature_template)
|
||||
|
||||
存储电子签章模板信息,用于快速生成签章。
|
||||
|
||||
## 6. 安全设计
|
||||
|
||||
### 6.1 传输安全
|
||||
|
||||
- 采用HTTPS加密传输
|
||||
- 实施数据签名验证
|
||||
- 敏感信息加密存储
|
||||
|
||||
### 6.2 身份认证安全
|
||||
|
||||
- 多因素身份认证
|
||||
- 签署权限控制
|
||||
- 身份信息保护
|
||||
|
||||
### 6.3 签章防伪措施
|
||||
|
||||
- 签章图像防篡改
|
||||
- 签章过程全程记录
|
||||
- 签章结果防抵赖
|
||||
|
||||
### 6.4 存证安全保障
|
||||
|
||||
- 区块链存证技术
|
||||
- 多副本存储策略
|
||||
- 存证数据定期校验
|
||||
|
||||
## 7. 部署架构
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph "应用服务器"
|
||||
APP[报装业务系统]
|
||||
SIGN_MOD[电子签章模块]
|
||||
end
|
||||
|
||||
subgraph "数据服务器"
|
||||
DB[(业务数据库)]
|
||||
SIGN_DB[(签章数据库)]
|
||||
end
|
||||
|
||||
subgraph "泛微CA服务"
|
||||
CA_API[CA API服务]
|
||||
CA_STORAGE[CA存证服务]
|
||||
end
|
||||
|
||||
APP --> SIGN_MOD
|
||||
SIGN_MOD --> DB
|
||||
SIGN_MOD --> SIGN_DB
|
||||
SIGN_MOD --> CA_API
|
||||
CA_API --> CA_STORAGE
|
||||
```
|
||||
|
||||
## 8. 性能考虑
|
||||
|
||||
### 8.1 性能指标
|
||||
|
||||
| 指标 | 目标值 | 说明 |
|
||||
|------|-------|------|
|
||||
| 签章响应时间 | <3秒 | 单个文档签章操作的响应时间 |
|
||||
| 存证响应时间 | <5秒 | 单个文档存证操作的响应时间 |
|
||||
| 验证响应时间 | <2秒 | 签章验证操作的响应时间 |
|
||||
| 并发签章能力 | >50/分钟 | 系统每分钟可处理的签章请求数 |
|
||||
| 系统可用性 | >99.9% | 系统服务可用时间比例 |
|
||||
|
||||
### 8.2 优化措施
|
||||
|
||||
- **异步处理**:对于耗时操作采用异步处理机制
|
||||
- **缓存策略**:对频繁访问的数据实施缓存
|
||||
- **批量处理**:支持批量签章和存证操作
|
||||
- **资源池化**:采用连接池管理CA系统连接
|
||||
- **负载均衡**:在高并发场景下实施负载均衡
|
||||
|
||||
## 9. 风险评估
|
||||
|
||||
| 风险项 | 风险级别 | 影响范围 | 应对措施 |
|
||||
|-------|---------|---------|---------|
|
||||
| CA系统接口变更 | 中 | 签章功能 | 建立接口版本管理机制,做好兼容性处理 |
|
||||
| 签章过程中断 | 高 | 业务流程 | 实现断点续签功能,完善异常处理机制 |
|
||||
| 存证服务不可用 | 高 | 法律效力 | 建立本地缓存机制,实施异步存证策略 |
|
||||
| 签章效率问题 | 中 | 用户体验 | 优化签章流程,实施批量签章功能 |
|
||||
| 法规政策变化 | 低 | 合规性 | 定期跟踪法规更新,及时调整系统功能 |
|
||||
|
||||
## 10. 实施计划
|
||||
|
||||
### 10.1 阶段划分
|
||||
|
||||
| 阶段 | 工作内容 | 时间周期 | 交付物 |
|
||||
|------|---------|---------|-------|
|
||||
| 需求分析 | 详细需求调研、业务流程分析 | 2周 | 需求规格说明书 |
|
||||
| 系统设计 | 架构设计、接口设计、数据库设计 | 3周 | 设计文档 |
|
||||
| 开发实施 | 模块开发、接口对接、单元测试 | 6周 | 系统代码 |
|
||||
| 系统测试 | 功能测试、集成测试、性能测试 | 3周 | 测试报告 |
|
||||
| 部署上线 | 环境准备、系统部署、验收测试 | 2周 | 部署文档 |
|
||||
| 运维支持 | 系统监控、问题处理、版本迭代 | 长期 | 运维手册 |
|
||||
|
||||
### 10.2 里程碑计划
|
||||
|
||||
| 里程碑 | 时间点 | 验收标准 |
|
||||
|-------|-------|---------|
|
||||
| 需求确认 | 第2周末 | 需求文档评审通过 |
|
||||
| 设计完成 | 第5周末 | 设计文档评审通过 |
|
||||
| 开发完成 | 第11周末 | 代码开发完成并通过代码审查 |
|
||||
| 测试通过 | 第14周末 | 测试用例通过率>95% |
|
||||
| 系统上线 | 第16周末 | 系统功能验收通过 |
|
||||
|
||||
## 11. 附录
|
||||
|
||||
### 11.1 术语表
|
||||
|
||||
| 术语 | 英文 | 说明 |
|
||||
|------|------|------|
|
||||
| 电子签章 | Electronic Seal | 使用电子技术手段产生的、与实体印章具有同等法律效力的数字印记 |
|
||||
| 电子存证 | Electronic Evidence | 对电子数据进行保全和存储,确保其法律效力的技术手段 |
|
||||
| 时间戳 | Timestamp | 证明电子数据在某一时刻已经存在且未被篡改的数字证明 |
|
||||
| CA系统 | Certificate Authority System | 数字证书认证系统,提供电子认证服务 |
|
||||
|
||||
### 11.2 参考标准
|
||||
|
||||
1. 《中华人民共和国电子签名法》
|
||||
2. GB/T 35275-2017 《电子签名 可信电子签名生成技术规范》
|
||||
3. GB/T 38540-2020 《信息安全技术 电子签名数据电子存证规范》
|
||||
4. 泛微CA电子签章系统接口规范 v2.0
|
||||
|
||||
### 11.3 泛微CA系统接口规范
|
||||
|
||||
泛微CA电子签章系统提供以下核心API接口:
|
||||
|
||||
1. **身份认证API**
|
||||
- 接口地址:`/api/v1/auth`
|
||||
- 请求方式:POST
|
||||
- 功能:验证签署方身份
|
||||
|
||||
2. **电子签章API**
|
||||
- 接口地址:`/api/v1/signature`
|
||||
- 请求方式:POST
|
||||
- 功能:执行电子签章操作
|
||||
|
||||
3. **时间戳API**
|
||||
- 接口地址:`/api/v1/timestamp`
|
||||
- 请求方式:POST
|
||||
- 功能:获取可信时间戳
|
||||
|
||||
4. **电子存证API**
|
||||
- 接口地址:`/api/v1/evidence`
|
||||
- 请求方式:POST
|
||||
- 功能:存储签署后的合同文档
|
||||
1715
新-概要设计说明书.md
1715
新-概要设计说明书.md
File diff suppressed because it is too large
Load Diff
@ -109,6 +109,10 @@
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.components.subsystems {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
.component {
|
||||
background: #f8f9fa;
|
||||
border: 1px solid #dee2e6;
|
||||
@ -247,6 +251,10 @@
|
||||
.arrow {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.components.subsystems {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@ -254,7 +262,7 @@
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<h1>福建水务营收系统整体架构图</h1>
|
||||
<p>基于微服务架构的现代化水务营收管理平台 | 四大子系统完整架构</p>
|
||||
<p>基于微服务架构的现代化水务营收管理平台 | 七大业务子系统 + 三大基础服务</p>
|
||||
</div>
|
||||
|
||||
<div class="architecture">
|
||||
@ -323,7 +331,7 @@
|
||||
业务服务层 (Business Service Layer)
|
||||
</div>
|
||||
<div class="layer-description">
|
||||
核心业务逻辑处理层,包含四大子系统,按业务域划分微服务,实现高内聚低耦合
|
||||
核心业务逻辑处理层,包含七个业务子系统,按业务域划分微服务,实现高内聚低耦合
|
||||
</div>
|
||||
|
||||
<!-- SYS-001 统一平台 -->
|
||||
@ -353,22 +361,12 @@
|
||||
<div class="component-title">营收核心模块群</div>
|
||||
<div class="component-desc">客户管理、抄表开账、营业收费<br/>账务处理、发票管理、催缴管理<br/>统计分析、代收业务</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">表务管理模块群</div>
|
||||
<div class="component-desc">表务基础管理、仓库库存管理<br/>设备档案管理</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">报装业务模块群</div>
|
||||
<div class="component-desc">报装流程管理、工程管理<br/>档案管理</div>
|
||||
</div>
|
||||
|
||||
<div class="component">
|
||||
<div class="component-title">客户服务模块群</div>
|
||||
<div class="component-desc">账户绑定、信息查询、在线缴费<br/>电子发票、营业网点、业务办理</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">工单管理模块群</div>
|
||||
<div class="component-desc">业务工单中心、业务清单管理<br/>上报清单、稽查工单、换表工单</div>
|
||||
<div class="component-desc">账户绑定、信息查询、在线缴费、柜面扫码支付<br/>电子发票、营业网点、业务办理</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -425,6 +423,77 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SYS-005 工单管理系统 -->
|
||||
<div style="margin-bottom: 12px;">
|
||||
<h4 style="color: #2c3e50; margin-bottom: 10px; font-size: 1.3rem; border-bottom: 2px solid #2c5282; padding-bottom: 6px;">
|
||||
■ SYS-005 工单管理系统
|
||||
</h4>
|
||||
<div class="components">
|
||||
<div class="component">
|
||||
<div class="component-title">统一工单中心</div>
|
||||
<div class="component-desc">受理/路由/分派/跟踪<br/>SLA策略</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">流程引擎</div>
|
||||
<div class="component-desc">可视化编排、条件路由<br/>并行/互斥网关</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">监控预警</div>
|
||||
<div class="component-desc">超时/积压/异常预警<br/>实时看板</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">绩效统计</div>
|
||||
<div class="component-desc">环节时长、达成率<br/>考核报表</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SYS-006 表务管理系统 -->
|
||||
<div style="margin-bottom: 12px;">
|
||||
<h4 style="color: #2c3e50; margin-bottom: 10px; font-size: 1.3rem; border-bottom: 2px solid #2d5016; padding-bottom: 6px;">
|
||||
■ SYS-006 表务管理系统
|
||||
</h4>
|
||||
<div class="components">
|
||||
<div class="component">
|
||||
<div class="component-title">基础参数</div>
|
||||
<div class="component-desc">厂家/型号/口径/量程<br/>检定周期</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">仓库与库存</div>
|
||||
<div class="component-desc">入出库/盘点/调拨<br/>库存预警<br/>全生命周期管理</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">设备档案</div>
|
||||
<div class="component-desc">电子档案、状态流转<br/>批次追溯</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SYS-007 报装业务系统 -->
|
||||
<div style="margin-bottom: 12px;">
|
||||
<h4 style="color: #2c3e50; margin-bottom: 10px; font-size: 1.3rem; border-bottom: 2px solid #8b5a3c; padding-bottom: 6px;">
|
||||
■ SYS-007 报装业务系统
|
||||
</h4>
|
||||
<div class="components">
|
||||
<div class="component">
|
||||
<div class="component-title">申请受理</div>
|
||||
<div class="component-desc">资料受理、资格初审<br/>工单触发</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">现场踏勘</div>
|
||||
<div class="component-desc">踏勘派工与回填<br/>方案确认</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">施工管理</div>
|
||||
<div class="component-desc">进度/资源/质量/安全<br/>过程留痕<br/>节点灵活配置</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">验收通水/资料归档</div>
|
||||
<div class="component-desc">竣工验收、通水<br/>档案归档(CA签章/存证)</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 基础服务层 -->
|
||||
@ -434,7 +503,7 @@
|
||||
基础服务层 (Infrastructure Service Layer)
|
||||
</div>
|
||||
<div class="layer-description">
|
||||
提供通用的技术服务能力,包含权限、工作流、消息、文件等基础服务,为业务服务提供统一的技术支撑
|
||||
提供通用的技术服务能力,为业务服务提供统一的技术支撑
|
||||
</div>
|
||||
<div class="components">
|
||||
<div class="component">
|
||||
@ -446,20 +515,32 @@
|
||||
<div class="component-desc">Flowable<br/>业务流程管理</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">消息服务</div>
|
||||
<div class="component-title">消息队列</div>
|
||||
<div class="component-desc">RabbitMQ<br/>异步消息处理</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">注册/配置中心</div>
|
||||
<div class="component-desc">统一配置/注册<br/>服务发现</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">任务调度</div>
|
||||
<div class="component-desc">定时任务<br/>批处理调度</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">文件服务</div>
|
||||
<div class="component-desc">MinIO<br/>分布式文件存储</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">支付网关</div>
|
||||
<div class="component-desc">微信、支付宝<br/>银行代扣</div>
|
||||
<div class="component-title">发票服务子系统(SYS-008)</div>
|
||||
<div class="component-desc">统一开票/作废/红冲<br/>供应商适配/回执存证</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">通信服务</div>
|
||||
<div class="component-desc">短信平台<br/>消息推送</div>
|
||||
<div class="component-title">支付与银行结算子系统(SYS-009)</div>
|
||||
<div class="component-desc">聚合支付/回调/退款<br/>代扣送回盘/对账/加解密</div>
|
||||
</div>
|
||||
<div class="component">
|
||||
<div class="component-title">消息服务子系统(SYS-010)</div>
|
||||
<div class="component-desc">统一短信/邮件/推送<br/>模板与回执</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -512,6 +593,36 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="connections">
|
||||
<h3>🔗 关键系统集成关系</h3>
|
||||
<div class="flow-diagram">
|
||||
<div class="flow-item">营收(SYS-002)</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="flow-item">发票服务(SYS-008)</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="flow-item">发票供应商</div>
|
||||
</div>
|
||||
<div class="flow-diagram" style="margin-top:6px;">
|
||||
<div class="flow-item">营收(SYS-002)</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="flow-item">支付与银行结算(SYS-009)</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="flow-item">银行/支付渠道</div>
|
||||
</div>
|
||||
<div class="flow-diagram" style="margin-top:6px;">
|
||||
<div class="flow-item">营收(SYS-002)</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="flow-item">消息服务(SYS-010)</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="flow-item">短信/邮件/推送</div>
|
||||
</div>
|
||||
<div class="flow-diagram" style="margin-top:6px;">
|
||||
<div class="flow-item">报装(SYS-007)</div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="flow-item">CA电子签章</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 技术栈 -->
|
||||
<div class="tech-stack">
|
||||
<h3>🛠️ 核心技术栈</h3>
|
||||
@ -519,8 +630,8 @@
|
||||
<div class="tech-category">
|
||||
<h4>后端技术</h4>
|
||||
<ul class="tech-list">
|
||||
<li>Java 11+</li>
|
||||
<li>Spring Boot 2.7+</li>
|
||||
<li>Java 17+</li>
|
||||
<li>Spring Boot 3.1+</li>
|
||||
<li>Spring Cloud Gateway</li>
|
||||
<li>MyBatis-Plus</li>
|
||||
<li>Spring Security</li>
|
||||
@ -570,11 +681,12 @@
|
||||
<h4>外部集成</h4>
|
||||
<ul class="tech-list">
|
||||
<li>微信公众号平台</li>
|
||||
<li>微信支付 JSAPI</li>
|
||||
<li>支付宝支付</li>
|
||||
<li>微信支付 JSAPI(经SYS-009)</li>
|
||||
<li>支付宝支付(经SYS-009)</li>
|
||||
<li>银行代扣</li>
|
||||
<li>短信平台</li>
|
||||
<li>电子发票</li>
|
||||
<li>集抄系统</li>
|
||||
<li>短信平台/邮件服务/移动推送(经SYS-010)</li>
|
||||
<li>电子发票/CA电子签章</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user