首先我们来看下Activiti为我们自动生成的这四张用户相关的表
先看下USER表
我已经插入了一些数据,很明显,就是保存用户的信息的
看下GROUP
用户对应的分组信息
MEMBERSHIP
用户和分组的中间表,可以看出它们是多对多关系
INFO这张表,看官方文档说的是保存用户额外信息,可以看到它有USER表的一个外键
OK,表关系介绍完了,我们再来说下怎么添加用户信息吧
其实这个很简单,SpringBoot对于Activiti的支持不错,已经给我们配置好了很多默认,直接注入就行
IdentityService是专门用来针对用户信息做一些操作的。
现在我们已经成功插入了一条用户数据,接下来,我们部署我们的具体流程吧,也就是将我们之前画的流程图进行解析,并保存到数据库
那么怎么部署呢?
这样既可,再来看下数据库
返回的是一个接口对象的实例
接口具体源码
它的实现
这么Map对象是我们部署流程时添加的name对应当前流程实体类,看源码
这样加一个name就行,这个其实无所谓,看你自己了
看到这里,大家应该会有疑问,我们具体的流程图保存在哪里呢?
第二个数据是我们流程图的静态图片,
第一个数据才是我们的具体流程,应该能看出是一个xml文件的具体内容吧?
有一点一定要注意的是
我们这里Id和Name对应的是数据库中这个NAME_和KEY_,其实我比较奇怪的一点是为什么外国人喜欢加_这个符号啊 /黑人问号脸
如果重复添加相同key的流程那么就会在之前的基础上将版本+1
当你想使用流程key去走流程的时候,也会自动走最高版本的
这里有一个比较重要的字段,我得介绍一下
此字段的意思为是否挂起,那么什么叫是否挂起呢?你想一下,现在你正在有一个流程在发布并且处于运行,然后现在你想创建一个新的流程,那么现在这个流程怎么办呢?当然是挂起了。而在挂起之后,正处于流程中的人依然会走这个流程,之后的人则是走你发布的新流程(1为正常,2为挂起)。