OneNET应用开发环境 由浅入深应用开发环境
应用开发环境介绍 初识应用开发环境 开发入门 开发进阶
开发指南
开发应用 定义数据对象 创建聚合对象 开发脚本 管理事件 开发流 配置审批流程 开发标准页面 开发高级页面 开发商业流 配置连接器 开发Email发送功能 配置工作流 开发报表 自定义BO 管理平台

订阅事件

我们可以通过定义脚本、Flow、BP、Process或者审批流来订阅事件。目前版本只实现了通过Flow和BP来进行订阅,其他待后续实现。

场景介绍

上节中我们创建了一个记录应聘者是否被录用状态变化的事件。本章节介绍通过Flow来订阅该事件,通过事件发送接口模拟招聘经理给出招聘结果,通过订阅该事件,系统根据状态结果自动发邮件给人事部,通知人事部是否办理入职手续。

通过Flow订阅事件

  1. 鼠标放在APP下的Logic文件夹旁会出现加号,单击加号,选择“流”。
  2. 系统弹出“添加流程”的对话框,选择“创建一个新的流”,填入Flow名称等信息,单击“添加”。

    “添加流程”页面参数如下:

    • 标签:Flow展示名称。
    • 名称:输入“标签”值后单击该参数的输入框,系统会自动名称。
    • 类型:Flow类型,分为Autolaunched Flow(无界面输出的图元)、Flow(普通类型)和Event Trigger(事件触发)。这里选择“Flow”。
    • 描述:可选参数,Flow描述信息。

    图 1 添加流程参数配置页面

  3. 创建Flow变量。由于您需要根据录用结果发送不同的邮件给人事部,邮件内容中需要携带事件中的应聘人姓名字段,因此需要定义该事件变量。

    1. 单击Flow编辑器空白区域,在页面右侧选择。在全局上下文页面单击“对象变量”后的加号。

      图 2 创建变量

    2. 选中“事件”,设置事件变量。

      选择“事件”时,成员变量为事件的自定义字段,并不包括系统预置的标准字段。

      图 3 配置事件变量

      表 1 变量参数说明

      参数名称

      解释说明

      名称

      变量名称,必填。

      示例:EmployNameVar

      事件

      具体的事件。

      默认值

      变量的默认取值。不用配置。

      描述

      该变量的描述说明。

      是否为数组

      是否为数组型变量即集合变量。不勾选。

    3. 单击“保存”。

  4. 在Flow编辑器页面左侧选择“逻辑 > 等待”,拖拽等待图标至画布中,弹出等待配置窗口。

    等待是对订阅的事件进行判断,根据判断的结果决定执行何种操作,类似if语句的判断。您需要设置应聘者被成功录用、应聘者没被录用和等待录用结果超时三个判断分支。

  5. 设置基本信息。

    图 4 Flow基本信息配置

    表 2 基本信息参数说明

    参数

    说明

    标签

    Wait名称。长度不超过64个字节。

    名称

    Wait标识,请确保在当前Flow中唯一。

    描述

    该Wait的描述说明。

  6. 如下图所示,设置分支条件参数。

    图 5 Wait配置及Pass分支条件配置

    图 6 Unpass分支条件配置

    图 7 Timeout分支条件配置

    表 3 Wait条件分支配置参数说明

    参数名称

    参数说明

    可编辑的事件

    所有的判断条件。

    • 可通过单击“新增”来增加判断条件分支。双击新增的分支可修改分支名称。
    • 默认:默认输出,当其他所有条件均不满足情况下,进入该分支。

    本示例中需要新增如下三个判断条件,配置举例如下:

    • Pass:应聘者被录用。应聘通过时事件中自定义的布尔类型参数“Result”赋值为全局常量“{!$GlobalConstant.True}”,表示结果为真,即应聘通过。
    • Unpass:应聘者没有被录用。应聘失败时事件中自定义的布尔类型参数“Result”赋值为全局常量“{!$GlobalConstant.False}”,表示结果为假,即应聘拒绝。
    • Timeout:超时事件。基于该Flow执行时间超时30分钟未返回是否录用。

    事件/时间

    当订阅的是自定义事件时,您需要选择“事件”;当订阅的是系统预置的标准事件“Absolute Time Alert”,即定时器发送的系统事件时,您需要选择“时间”。

    本示例中需要配置如下:

    • Pass:请选择“事件”。
    • Unpass:请选择“事件”。
    • Timeout:请选择“时间”。

    事件

    请选择需要订阅的事件。当订阅的是自定义事件时,该参数才会显示。

    本示例中需要配置如下:

    • Pass:请选择上节创建的“EmployResultNotify”自定义事件。
    • Unpass:请选择上节创建的“EmployResultNotify”自定义事件。

    事件条件

    该分支的条件。单击“新增行”可进行添加。当订阅的是自定义事件时,该参数才会显示。

    分支条件中的字段为创建该事件时设置的自定义参数,值可从右侧全局上下文中选择拖入。

    其他条件

    追加条件。勾选“定义需要满足的其他条件”后,您可根据事件变量外的其他变量设置追加条件。当订阅的是自定义事件时,该参数才会显示。

    默认不勾选。

    输出

    如果您需要设置事件输出,可设置输出变量。当订阅的是自定义事件时,该参数才会显示。

    本示例中需要配置如下:

    • Pass分支:请从“全局上下文”中选中事件变量“EmployNameVar”进行拖入。
    • Unpass:请从“全局上下文”中选中事件变量“EmployNameVar”进行拖入。
    • Timeout:不需要配置输出。

    基准

    基准时间,您可设置为某个具体时间,也可设置为本Flow执行时间,在本节中设置为本Flow执行时间,即{!$Flow.CurrentDateTime}。当订阅的是系统预置的定时器发送事件时,该参数才会显示。

    偏移时间

    偏移时间,例如“30”。当订阅的是系统预置的定时器发送事件时,该参数才会显示。

    偏移单位

    偏移时间的单位,例如设为“Minutes”。当订阅的是系统预置的定时器发送事件时,该参数才会显示。

    即基于该Flow执行时间超时30分钟未返回是否录用。

  7. 在左侧选择“基本 > 发送邮件”,拖拽发送邮件图标至画布中,弹出发送邮件配置窗口。

    发送邮件是发送邮件接口。您需要根据录用结果发送不同的邮件给人事部。如果录用成功,需要邮件通知人事部办理入职;如果录用不成功,需要邮件通知人事部告知应聘者应聘失败;若事件超时,则需要邮件通知招聘经理,看其是否给出招聘结果。

  8. 如下图所示,以应聘者被成功录用为例,设置发送邮件参数。

    图 8 设置邮件发送基本信息

    图 9 配置邮件发送参数

    表 4 邮件发送参数说明

    区域

    参数名称

    参数说明

    基本信息

    标签

    该邮件发送的标识。长度不超过64个字节。

    名称

    该邮件发送的名称,唯一标识。

    描述

    该邮件发送的描述说明。

    动作

    邮件

    您可选择“Manually”手动设置邮件信息或者“Template”选择邮件模板。

    这里选择“Manually”。

    主题

    邮件标题。

    内容

    邮件内容,需要使用之前定义的事件变量“EmployNameVar”。

    配置为:{!EmployNameVar.EmployName} is employed.

    地址

    接收人的邮箱地址。

    • 字符串:表示直接输入。
    • 集合:表示可以拖入一个集合变量。
  9. 参考7~8,设置应聘者录用失败和超时邮件发送。

  10. 图10所示,连接所有元素。

    图 10 连接并设置起始元素

  11. 单击,保存Flow。

  12. 单击,输入入参后运行Flow。

    运行后,该事件才能被订阅。

结果验证

通过Flow或者BP订阅“EmployResultNotify”事件后,招聘经理需要给出招聘结果,即给“Result”赋值后,人事部经理才会收到招聘者是否被录用的邮件通知。即您需要设置发送事件,订阅者才可以接收事件。

这里,我们可以通过单独创建一个Flow来给应聘者Lily的应聘结果“Result”赋值,模拟事件发送。

  1. 鼠标放在APP下的Logic文件夹旁会出现加号,单击加号,选择“流”。
  2. 系统弹出“添加流程”的对话框,选择“创建一个新的流”,填入Flow名称等信息,单击“添加”。

    图 11 配置Flow基本信息

  3. 在Flow编辑器左侧选择“基本 > 发送事件”,拖拽发送事件图标至画布中,弹出发送事件配置窗口。

    Send Event为系统提供的发送事件接口。

  4. 图12所示,以应聘者Lily被成功录用为例,设置发送事件参数。

    图 12 设置发送事件基本信息

    图 13 发送事件配置页面

    表 5 发送事件参数说明

    区域

    参数名称

    参数说明

    基本信息

    标签

    该发送事件的标识。

    长度不超过64个字节。

    名称

    该发送事件的名称,唯一标识。

    描述

    该发送事件的描述说明。

    动作

    事件

    请选择待发送的事件,这里选择“EmployResultNotify”。

    目标/源

    该事件自定义参数取值,请单击“新增行”添加并进行赋值。

    • “目标”取值为“EmployName”时:请在“源”里输入应聘者姓名“"Lily"”(由于该参数为文本类型,注意取值加双引号)。
    • “目标”取值为“Result”时:请在“源”里拖入全局常量应聘结果“{!$GlobalConstant.True}”,表示应聘者Lily被成功录用。
  5. 按照下图连线。

    图 14 连线

  6. 单击,保存Flow。

  7. 单击运行Flow。运行后,才能发送该事件。

    邮件接收者收到邮件,验证成功。

results matching ""

    No results matching ""