流程管理
引用文件
本文引用的文件
- yudao-module-bpm/README.md
- BpmModelController.java
- BpmProcessDefinitionController.java
- BpmProcessExpressionController.java
- BpmModelService.java
- BpmProcessDefinitionService.java
- BpmProcessExpressionService.java
- BpmProcessDefinitionServiceImpl.java
- BpmModelServiceImpl.java
- BpmProcessDefinitionInfoMapper.java
- BpmModelSaveReqVO.java
- BpmModelUpdateStateReqVO.java
- BpmModelRespVO.java
- BpmProcessDefinitionRespVO.java
- BpmModelTypeEnum.java
- BpmProcessInstanceApi.java
- BpmProcessInstanceCreateReqDTO.java
- BpmProcessInstanceQueryReqDTO.java
- BpmProcessInstanceDelReqDTO.java
- BpmProcessInstanceQueryResDTO.java
- BpmProcessInstanceDelResDTO.java
- BpmInstanceStatusMessageDTO.java
- BpmInstanceStatusMsgUpdateDTO.java
目录
引言
本文件面向工作流流程管理功能,系统化梳理流程模型的设计与管理机制,覆盖模型创建/编辑/版本控制、流程部署、生命周期管理(版本发布/停用启用/迁移)、节点配置与候选人设置、表达式计算、监听器等高级特性,并提供完整的流程管理API接口文档与模型设计规范。同时,结合规则引擎模块的业务联动机制,给出流程设计器集成与可视化建模的最佳实践,以及性能优化、并发控制与事务管理的技术要点。
项目结构
工作流模块位于 yudao-module-bpm,采用“API + Biz”分层架构:
- API 层:对外暴露流程实例相关API与枚举常量
- Biz 层:控制器、服务接口与实现、转换器、持久层映射、工具与框架能力
图表来源
- BpmModelController.java
- BpmProcessDefinitionController.java
- BpmProcessExpressionController.java
- BpmModelService.java
- BpmProcessDefinitionService.java
- BpmProcessExpressionService.java
- BpmProcessDefinitionServiceImpl.java
- BpmModelServiceImpl.java
- BpmProcessDefinitionInfoMapper.java
- BpmModelSaveReqVO.java
- BpmProcessDefinitionRespVO.java
- BpmModelTypeEnum.java
- BpmProcessInstanceApi.java
- BpmProcessInstanceCreateReqDTO.java
- BpmProcessInstanceQueryReqDTO.java
- BpmProcessInstanceDelReqDTO.java
- BpmProcessInstanceQueryResDTO.java
- BpmProcessInstanceDelResDTO.java
- BpmInstanceStatusMessageDTO.java
- BpmInstanceStatusMsgUpdateDTO.java
章节来源
- yudao-module-bpm/README.md
- BpmModelController.java
- BpmProcessDefinitionController.java
- BpmProcessExpressionController.java
- BpmModelService.java
- BpmProcessDefinitionService.java
- BpmProcessExpressionService.java
- BpmProcessDefinitionServiceImpl.java
- BpmModelServiceImpl.java
- BpmProcessDefinitionInfoMapper.java
- BpmModelSaveReqVO.java
- BpmProcessDefinitionRespVO.java
- BpmModelTypeEnum.java
- BpmProcessInstanceApi.java
- BpmProcessInstanceCreateReqDTO.java
- BpmProcessInstanceQueryReqDTO.java
- BpmProcessInstanceDelReqDTO.java
- BpmProcessInstanceQueryResDTO.java
- BpmProcessInstanceDelResDTO.java
- BpmInstanceStatusMessageDTO.java
- BpmInstanceStatusMsgUpdateDTO.java
核心组件
- 控制器层
- 流程模型控制器:负责模型的查询、创建、更新、部署、状态变更、删除与清理,以及仿钉钉/飞书精简模型的获取与更新
- 流程定义控制器:负责流程定义的分页、列表、精简列表与详情查询
- 流程表达式控制器:负责表达式的增删改查与分页
- 服务层
- 模型服务:模型 CRUD、BPMN/XML 获取/更新、部署、状态更新、清理、精简模型解析/更新
- 定义服务:定义分页/列表、基于模型创建定义、状态更新、BPMN 模型获取、信息查询、可见性与权限校验
- 表达式服务:表达式 CRUD 与分页
- 数据访问层
- 定义信息映射:按定义 ID 或模型 ID 查询/更新流程定义扩展信息
- API 层
- 流程实例 API:对外提供流程实例创建、查询、删除等能力,供业务模块调用
- 枚举与常量:模型类型枚举等
章节来源
- BpmModelController.java
- BpmProcessDefinitionController.java
- BpmProcessExpressionController.java
- BpmModelService.java
- BpmProcessDefinitionService.java
- BpmProcessExpressionService.java
- BpmProcessDefinitionInfoMapper.java
- BpmProcessInstanceApi.java
架构总览
工作流模块围绕 Flowable 引擎,通过 RepositoryService 管理模型与定义,结合自定义扩展信息表实现更丰富的业务属性。控制器负责请求编排与结果封装,服务层承担领域逻辑与引擎交互,API 层为外部业务模块提供统一入口。
图表来源
- BpmModelController.java
- BpmProcessDefinitionController.java
- BpmProcessExpressionController.java
- BpmModelService.java
- BpmProcessDefinitionService.java
- BpmProcessExpressionService.java
- BpmProcessDefinitionServiceImpl.java
- BpmModelServiceImpl.java
- BpmProcessDefinitionInfoMapper.java
- BpmProcessInstanceApi.java
详细组件分析
流程模型管理
- 功能范围
- 模型列表与详情:支持按名称过滤、关联表单/分类/部署/定义信息聚合展示
- 模型创建与更新:支持 BPMN XML 与仿钉钉精简模型
- 模型部署:将模型发布为可执行的流程定义
- 状态变更:基于模型更新对应部署的流程定义状态(挂起/激活)
- 清理与删除:清理无效模型或删除模型
- 关键接口与流程
图表来源
章节来源
- BpmModelController.java
- BpmModelSaveReqVO.java
- BpmModelUpdateStateReqVO.java
- BpmModelRespVO.java
- BpmModelTypeEnum.java
流程定义管理
- 功能范围
- 定义分页与列表:支持按挂起状态筛选、可见性与权限过滤
- 精简列表:仅返回可用的定义用于前端选择
- 定义详情:返回定义、信息、BPMN 模型
- 关键接口与流程
图表来源
- BpmProcessDefinitionController.java
- BpmProcessDefinitionService.java
- BpmProcessDefinitionInfoMapper.java
章节来源
- BpmProcessDefinitionController.java
- BpmProcessDefinitionRespVO.java
- BpmProcessDefinitionService.java
流程表达式管理
- 功能范围
- 表达式 CRUD 与分页:支持表达式创建、更新、删除、查询与分页
- 关键接口与流程
图表来源
章节来源
类图:服务接口与实现
图表来源
- BpmModelService.java
- BpmProcessDefinitionService.java
- BpmProcessExpressionService.java
- BpmModelServiceImpl.java
- BpmProcessDefinitionServiceImpl.java
- BpmProcessDefinitionInfoMapper.java