审批流

案例1 - 审批完成时发送通知邮件

需求

有一项目申请管理系统在审批完成后,为确保消息即时抵达申请人员,需要在审批通过时发送一封通知邮件至项目申请人。

解决方案

  • 可在审批完成的后置逻辑中绑定python

  • 在Python中获取当前审批数据对应审批记录的 最早一条,得到申请人信息

../_images/eg_appr_case1_bindpy.png

代码

from deepfos.api.space import SpaceAPI
from deepfos.element.apvlprocess import ApprovalProcess


def send_mail(to, msg):
    # 获取接受方信息
    mail = to.email
    name = to.userName
    # 实现具体的发送邮件逻辑
    return


def main(p1, p2):
    # 实例化审批流对象
    appv = ApprovalProcess('project_approve')
    # 根据审批数据获取审批记录
    appv_records = appv.get_record(p2['primaryKeyValue'])
    # 获取最早一条审批记录的操作人
    user_id = appv_records[-1].operate_user
    # 获取用户的信息作为邮件接收方
    api = SpaceAPI()
    user = api.user.query(userId=user_id, status='ENABLE')
    # 发送通知邮件
    project_code = p2['primaryKeyValue']['project_code']
    send_mail(user, f"您申请的项目:【{project_code}】 已通过审批")

提示

上述代码并不完整,没有实现具体的邮件发送逻辑。