- 简介
- 项目结构
- 核心组件
- 架构总览
- 详细组件分析
- 依赖分析
- 性能考虑
- 故障排查指南
- 结 论
- 附录
本文件面向审批中心功能的技术文档,围绕待办任务、已办任务、我的流程三大核心能力,系统阐述任务分配机制、候选人选择策略、任务转办与委托处理流程;并深入解析审批状态流转、任务超时处理、审批意见管理等关键特性。同时提供完整的审批API接口规范,解释与用户权限系统的集成方式与安全控制机制,并给出与黑名单风控模块的审批集成场景与业务联动机制说明。
项目结构
审批中心位于 BPM 模块中,采用“控制层-服务层-数据访问层”的分层架构,配合系统模块提供的用户与部门 API 实现人员与组织信息拼装,最终通过统一的 REST 接口对外提供能力。
Mermaid Diagram Code:
graph TB
subgraph "BPM 控制层"
C1["BpmTaskController<br/>待办/已办/流程实例接口"]
C2["BpmProcessInstanceController<br/>我的流程/实例详情接口"]
end
subgraph "BPM 服务层"
S1["BpmTaskService<br/>任务查询/审批/退回/转办/委托/加签/减签/抄送"]
S2["BpmProcessInstanceService<br/>实例创建/取消/详情/下一节点/流程图"]
end
subgraph "系统集成"
U["AdminUserApi<br/>用户信息"]
D["DeptApi<br/>部门信息"]
end
subgraph "外部接口"
RPC["BpmProcessInstanceApi<br/>RPC 接口"]
end
C1 --> S1
C2 --> S2
S1 --> U
S1 --> D
S2 --> U
S2 --> D
S2 --> RPC
图表来源
章节来源
核心组件
- 任务中心(待办/已办)
- 提供待办任务分页、已办任务分页、按流程实例查询任务列表、任务审批/拒绝、退回、转派、委派、加签、减签、抄送、父子任务查询、流程变量查询等能力。
- 我的流程(流程实例)
- 提供我的流程分页、管理后台流程分页、创建流程实例、取消流程、流程详情、下一审批节点、流程图视图、流程变量查询等能力。
- 权限与安全
- 基于注解的权限校验与登录用户上下文获取,确保接口访问安全可控。
- 与系统模块集成
- 通过 AdminUserApi 与 DeptApi 拉取用户与部门信息,实现人员与组织信息的拼装展示。
章节来源
架构总览
审批中心以控制器为入口,调用服务层完成具体业务,服务层通过系统模块的用户与部门 API 进行信息拼装,并与流程引擎交互完成任务与实例的生命周期管理。
Mermaid Diagram Code:
sequenceDiagram
participant FE as "前端"
participant CTRL as "BpmTaskController"
participant SVC as "BpmTaskService"
participant SYSU as "AdminUserApi"
participant SYSD as "DeptApi"
FE->>CTRL : GET /bpm/task/todo-page
CTRL->>SVC : 查询待办任务分页
SVC-->>CTRL : 返回任务分页
CTRL->>SYSU : 批量拉取发起人用户信息
CTRL->>SYSD : 批量拉取部门信息
CTRL-->>FE : 返回带用户/部门信息的待办分页
FE->>CTRL : PUT /bpm/task/approve
CTRL->>SVC : 审批通过(携带登录用户)
SVC-->>CTRL : 审批成功
CTRL-->>FE : 返回成功
图表来源
详细组件分析