Skip to content

流程审批通知

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 支持跨服务的流程状态通知,详见 《跨服务通知系统》