企业级企业客户管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
2026/1/8 1:53:15
该模块是若依(RuoYi-Vue-Plus)框架集成Activiti工作流引擎的核心模块,聚焦流程模型全生命周期管理,解决从模型创建、编辑、部署到导出、转换的全流程管理需求,适配企业级流程设计与执行的业务场景。
| 需求分类 | 具体需求点 | 业务价值 |
|---|---|---|
| 模型基础管理 | 1. 新建流程模型(含参数校验) 2. 查询模型列表(分页) 3. 删除模型(批量) | 实现流程模型的增删查基础操作,支撑模型库管理 |
| 模型编辑与存储 | 1. 保存模型XML配置 2. 查询模型XML编辑内容 | 适配流程设计器(如bpmn-js)的在线编辑场景,持久化设计结果 |
| 模型部署 | 通过模型ID部署流程定义 | 将设计好的模型转换为可执行的流程定义,落地业务流程 |
| 模型导出 | 导出模型为ZIP压缩包 | 支持模型备份、离线传输或跨环境迁移 |
| 模型转换 | 将已部署的流程定义反向转换为模型 | 支持对已上线流程的二次编辑,无需重新设计 |
Model(模型)对象,不直接操作流程实例/任务;ProcessDefinition(流程定义),需关联模型ID便于追溯;遵循若依框架的分层架构,模块内部分层如下:
RepositoryService操作模型/流程定义;act_re_model/act_re_procdef)存储核心数据。| 类名 | 作用 | 核心依赖 |
|---|---|---|
ModelController | 模型管理接口入口 | IModelService、RepositoryService |
IModelService | 模型业务逻辑接口 | - |
ModelServiceImpl | 模型业务逻辑实现 | RepositoryService、ObjectMapper、HttpServletResponse |
ModelBo | 模型请求参数BO | 封装前端入参(模型名称、key、分类、版本等) |
| 表名 | 作用 | 核心字段 |
|---|---|---|
act_re_model | 存储流程模型基础信息 | ID_(模型ID)、NAME_(名称)、KEY_(标识)、CATEGORY_(分类)、DEPLOYMENT_ID_(关联部署ID) |
act_re_procdef | 存储部署后的流程定义 | ID_(流程定义ID)、KEY_(模型标识)、DEPLOYMENT_ID_(部署ID)、VERSION_(版本) |
act_ge_bytearray | 存储模型XML/流程图二进制内容 | ID_、NAME_(资源名称)、BYTES_(二进制内容)、DEPLOYMENT_ID_ |
@Validated+分组(AddGroup/EditGroup)实现新增/编辑场景的差异化校验;@RepeatSubmit注解拦截重复请求,避免重复创建/修改模型;@Transactional,保证删除操作的原子性;R(若依统一响应类)返回结果,前端可统一解析;@Log注解记录操作日志,包含操作类型、标题,支撑审计需求。| 项名 | 内容 |
|---|---|
| 接口前缀 | /workflow/model |
| 请求方式 | GET/PUT/POST/DELETE |
| 响应格式 | JSON(统一响应体R) |
| 统一响应体结构 | ```json |
| { | |
| “code”: 200, // 状态码(200成功,500失败) | |
| “msg”: “操作成功”, // 提示信息 | |
| “data”: {} // 业务数据(可选) | |
| } |
### 2. 接口详情 #### 2.1 新建模型 - **接口地址**:`POST /workflow/model` - **接口名称**:新建流程模型 - **接口描述**:创建空的流程模型,初始化基础元信息并存储 - **请求参数**(RequestBody): | 参数名 | 类型 | 是否必填 | 说明 | |--------|------|----------|------| | name | String | 是 | 模型名称 | | key | String | 是 | 模型标识(唯一) | | category | String | 否 | 模型分类 | | version | Integer | 否 | 模型版本 | | description | String | 否 | 模型描述 | - **请求示例**: ```json { "name": "采购审批流程", "key": "purchase_approval", "category": "采购管理", "version": 1, "description": "企业采购审批全流程" }{"code":200,"msg":"操作成功","data":{"id":"150001","name":"采购审批流程","key":"purchase_approval","category":"采购管理","version":1,"deploymentId":null}}GET /workflow/model/list{"code":200,"msg":"操作成功","data":{"total":50,"rows":[{"id":"150001","name":"采购审批流程","key":"purchase_approval","category":"采购管理","version":1,"deploymentId":"160001"}]}}PUT /workflow/model{"modelId":"150001","xmlContent":"<definitions xmlns=\"http://www.omg.org/spec/BPMN/20100524/MODEL\">...</definitions>"}{"code":200,"msg":"操作成功","data":null}GET /workflow/model/getInfo/{modelId}/xml{"code":200,"msg":"操作成功","data":{"xmlContent":"<definitions xmlns=\"http://www.omg.org/spec/BPMN/20100524/MODEL\">...</definitions>","modelInfo":{"name":"采购审批流程","key":"purchase_approval"}}}POST /workflow/model/deploy/{id}{"code":200,"msg":"部署成功","data":null}DELETE /workflow/model/{ids}{"code":200,"msg":"删除成功","data":null}GET /workflow/model/export/zip/{modelId}PUT /workflow/model/convertToModel/{processDefinitionId}{"code":200,"msg":"转换成功","data":null}{"code":500,"msg":"模型标识已存在","data":null}