统一审批#
功能介绍#
统一审批由三个部分组成:
- 审批动作
- 审批请求
- 审批系统
ArkID核心(审批动作,审批请求,审批系统插件基类):#
-
创建审批动作: 指定需要审批的API接口, 以及负责审批该API调用的审批系统
-
监控API调用: API调用发生的时候,做如下处理:
- 如果API调用没有创建对应的审批请求,API调用中断,创建审批请求,通过CREATE_APPROVE_REQUEST事件发送到对应的审批系统中。
-
如果API调用已经创建对应的审批请求:
- 该审批请求被审批系统未处理,API调用中断
- 该审批请求被审批系统拒绝,API调用中断
- 该审批请求被审批系统同意,API调用继续执行
-
审批系统插件基类
- 插件基类见arkid.core.extension.approve_system.ApproveSystemExtension
- 监听CREATE_APPROVE_REQUEST事件,定义抽象函数create_approve_request, 第三方插件系统可以实现此方法,将审批请求发送到第三方系统中处理
-
创建两个接口分别用于处理审批请求通过和拒绝的逻辑:
-
同意审批请求接口
- path:/approve_requests/{{request_id}}/pass/
- method: PUT
- 处理函数:pass_approve_request_handler
- 需要实现抽象方法: pass_approve_request
-
拒绝审批请求接口
- path:/approve_requests/{{request_id}}/deny/'
- method: PUT
- 处理函数:deny_approve_request_handler
- 需要实现抽象方法: deny_approve_request
-
-
ArkID系统默认审批系统
第三方审批系统插件可以参考系统自带默认审批系统插件逻辑, 默认审批系统见extension_root.com_longgui_approve_system_arkid.ApproveSystemArkIDExtension