流程审批通知
RuoYi Office 支持在流程审批的各个环节自动发送通知,确保相关人员及时了解流程状态。
1. 通知类型
1.1 短信通知
通过 BpmMessageService 调用 SmsSendApi 发送短信通知。
支持的通知场景:
- 新待办任务通知
- 审批结果通知
- 流程催办通知
- 超时提醒通知
1.2 站内信通知
通过站内信系统发送消息,用户登录后可在通知中心查看。
1.3 邮件通知
通过邮件服务发送通知邮件。
2. 通知时机
| 事件 | 通知对象 | 通知内容 |
|---|---|---|
| 任务创建 | 审批人 | 有新的待办任务 |
| 审批通过 | 发起人 | 流程已通过 |
| 审批不通过 | 发起人 | 流程已被拒绝 |
| 审批驳回 | 被驳回节点审批人 | 任务被退回 |
| 任务超时 | 审批人 | 任务即将超时 |
| 流程取消 | 相关审批人 | 流程已取消 |
3. 通知配置
3.1 流程级别配置
在流程模型的「扩展设置」中配置:
- 流程前置通知
- 流程后置通知
- 节点(任务)前置通知
- 节点(任务)后置通知
3.2 自定义通知
可以通过任务监听器实现自定义通知逻辑(详见 执行监听器、任务监听器)。
4. 实现原理
通知功能的核心类是 BpmMessageService:
java
public interface BpmMessageService {
// 发送流程实例被通过的消息
void sendMessageWhenProcessInstanceApprove(BpmMessageSendWhenProcessInstanceApproveReqDTO reqDTO);
// 发送流程实例被不通过的消息
void sendMessageWhenProcessInstanceReject(BpmMessageSendWhenProcessInstanceRejectReqDTO reqDTO);
// 发送任务被分配的消息
void sendMessageWhenTaskAssign(BpmMessageSendWhenTaskCreatedReqDTO reqDTO);
// 发送任务被超时的消息
void sendMessageWhenTaskTimeout(BpmMessageSendWhenTaskTimeoutReqDTO reqDTO);
}5. 扩展:跨服务通知
对于微服务架构,RuoYi Office 支持跨服务的流程状态通知,详见 《跨服务通知系统》。