Ebaas

定义工作流驱动事件

May 21, 2020 | 0 Minute Read

在为“事务跟踪流程”创建工作流模型之前,我们需要先定义驱动工作流的事件。大多数常见事件是由创建或更新数据库中数据实例而产生的事件(称为数据库事件)。数据库事件是数据模型的组成部分。因此,您需要先使用DesignStudio工具为工作流模型定义事件,这些事件会被后续的教程所使用到。

打开DesignStudio

  • 从“开始”菜单 => Ebaas => DesignStudio,打开DesignStudio;
  • 从DesignStudio的“文件”菜单项 => “打开” => “数据库”打开“连接数据库”弹窗;
  • 从数据库列表中选择“事务跟踪管理”数据库,并以管理员用户名“admin”和密码“admin”登录;
  • 在左边导航栏中选择“事务”数据类节点,然后在右下方切换到“事件”选项卡 (见下图)。

创建“IssueCreated”事件

当用户提交一个新的“事务”数据实例时,我们需要定义一个数据库事件,称为“IssueCreated”事件,用于发起一个工作流实例。

  • 点击右下方“事件”选项卡下方的“添加”按钮,添加一个空的事件;
  • 将其名称更改为“IssueCreated”;
  • 选择事件类型为“Insert”,表示该事件由添加数据实例产生;

下图为配置结果截图:

创建“IssueAssigned”事件

当流程实例发起后,“事务”数据实例的“状态”属性值被设置为“待处理”初始值。当“状态”属性值被修改为“已指定”时,需要生成一个数据实例修改事件,称为“IssueAssigned”事件,用于通知工作流实例转换到下一个状态。

  • 点击“事件”选项卡底部的“添加”按钮,添加一个空的事件;
  • 将其名称更改为“IssueAssigned”;
  • 选择事件类型为“Update”,表示该事件由修改数据实例产生;
  • 点击“被修改属性”设置右边文字框,在弹出的窗口中选择左边列表中的“状态”属性,添加到右边的列表中,表示当“状态”属性值被修改时。如下图所示;

  • 点击“数据实例条件”设置右边文字框,在弹出的窗口中设置表达式为“状态=已指定”,表示当“状态”属性值被修改为“已指定”时。如下图所示;

下图为最后配置结果截图:

提示: 定义“Update”类型的事件时,务必要定义‘被修改属性’和‘数据实例条件’,表示当这两个条件都满足时数据库修改事件才会产生。否则,该事件会在很多情况下产生,可能会造成流程误操作。


创建“IssueRejected”事件

当流程实例发起后,“事务”数据实例的“状态”属性值被设置为“待处理”初始值。当“状态”属性值被修改为“退回”时,需要生成一个数据实例修改事件,称为“IssueRejected”事件,用于通知工作流实例结束流程的运行。

  • 点击“事件”选项卡底部的“添加”按钮,添加一个空的事件;
  • 将其名称更改为“IssueRejected”;
  • 选择事件类型为“Update”;
  • 点击“被修改属性”设置右边文字框,在弹出的窗口中选择左边列表中的“状态”属性,添加到右边的列表中,表示当“状态”属性值被修改时;
  • 点击“数据实例条件”设置右边文字框,在弹出的窗口中设置表达式为“状态=退回”,表示当“状态”属性值被修改为“退回”时;

下图为最后配置结果截图:

创建“IssueFixed”事件

当“事务”数据实例的“状态”属性值从“已指定”被修改为“完成”时,需要生成一个数据实例修改事件,称为“IssueFixed”事件,表示该事物已解决,用于通知工作流实例结束流程的运行。

  • 点击“事件”选项卡底部的“添加”按钮,添加一个空的事件;
  • 将其名称更改为“IssueFixed”;
  • 选择事件类型为“Update”;
  • 点击“被修改属性”设置右边文字框,在弹出的窗口中选择左边列表中的“状态”属性,添加到右边的列表中,表示当“状态”属性值被修改时;
  • 点击“数据实例条件”设置右边文字框,在弹出的窗口中设置表达式为“状态=完成”,表示当“状态”属性值被修改为“完成”时;

下图为最后配置结果截图:

保存模型到数据库

请将数据模型保存到数据库。

我们完成了工作流模型所需的数据库事件的定义。接下来的教程将介绍如何创建工作流模型。