配置消息通知
消息通知有助于企业人员或部门的协同,提高工作效率。当重要事件发生时,系统可以以消息的方式主动推送通知给相关用户,从而获得及时的反应。消息通知在企业应用软件中的用途很多。
例如,在我们的“事务跟踪管理”系统中,当某个事务的状态变为“完成”时,我们可以使用消息的方式通知事务提交人,以便提交人及时查看事务的处理结果。这个教程,我们就介绍如何配置这个需求。
配置通知事务提交人消息
配置消息通知需要使用DesignStudio工具。
- 打开DesignStudio工具 => 以admin用户登录到“事务跟踪管理”数据库;
- 在左边导航栏选择“事务”数据类 => 右边选择“事件订阅”选项卡;
- 点击“添加”按键,创建了一个“Subscriber1”的事件订阅器。见下图:
- 选择“Subscriber”订阅器 => 在右边按照下表进行配置:
设置参数名 | 设置参数值 | 描述 |
---|---|---|
名称 | 事务完成事件订阅器 | 订阅器的名称 |
事件名称 | IssueFixed | 所订阅的事件名称。该事件是在教程9.1创建的。 |
Url | app.smartforms.ebaasform | 查看产生事件的事务信息的Web界面模块的Url。这里使用的是表单界面 |
Url参数 | {“schema”: msg.dbschema, “class”: msg.dbclass, “oid”:msg.oid} | Web界面模块所需的参数,包括数据库,数据类和数据实例的内键 |
内容 | 关于{Subject}的事务已完成 | 发送消息的内容,其中{Subject}为变量,将被事务的主题所替代。内容将在界面显示 |
是否发送消息 | True | True表示事件发生时,发送消息通知给接收者 |
是否发邮件 | False | False表示不发送邮件 |
通知主题 | 您提交的事务已完成 | 发送消息的简短主题,将在界面显示 |
值为接收者的属性 | 提交人 | 指定“事务”的“提交人”属性的值为消息的接收者 |
值为发送者的属性 | 处理人 | 指定“事务”的“处理人”属性的值为消息的发送者。设置为可选。如果不选择,发送者默认为admin |
配置图如下所示:
提示: 如果您没有按照前面工作流进行了配置,在‘事件名称’下拉菜单中不会有‘IssueFixed’的事件,请参看《教程9.1》创建该事件。
点击工具栏的“保存到数据库”图标将修改的模型保存到数据库。见下图:
测试消息通知
- 同时打开两个浏览器连接到: http://localhost:8080;
- 其中一个浏览器以demo1登陆(密码:888)。demo1用户的名称为:李晓明;
- 另一个浏览器登录为用户demo2(密码:888)。demo2为吴敏;
- 在demo2登陆的浏览器上点击首页上的“事务管理”菜单,进入”事务“二维表格界面;
- 点击一条“提交人”为“李晓明”并且“状态”为“已指定”的事务数据实例,展开命令栏;
- 点击“编辑”命令。见下图:
- 在弹出的“事务”表单中,将“状态”值改为“完成” => 点击下方的“提交”按键。见下图:
这个操作会触发“IssueFixed”事件,从而执行“事务完成事件订阅器”。该订阅器的执行会向事务提交人“李晓明”发送消息。
- 这时切换到demo1,即李晓明,登陆的浏览器。
- 可以看到右上角出现收到消息的提示框,以及左上方的人头图标及包括数字(表示消息的数量)的红圈;
- 点击人头图标,出现消息列表,其中第一条为前面操作所产生的事务完成消息。见下图:
- 点击该条消息,在右边的主窗口中会显示该消息所对应的“事务”数据实例表单,显示事务的详细信息。见下图:
在这个表单中,可以对事务进行检查或修改,例如将状态改为“关闭”。