审批流(资源提额 / 模型下载 / 服务部署申请)
审批流用于平台内需要管理者授权的操作:用户提交申请单,按配置的审批阶段流转,审批人同意 / 拒绝后生效。
后端:模型
myapp/models/model_approval.py(approval表),视图myapp/views/view_approval.py。
内置申请类型
| 申请类型 | req_type |
说明 |
|---|---|---|
| 资源提额申请 | resource_increase |
申请提升开发 / 训练 / 推理等资源额度;一次性生效——通过即过期(end_time 置为当前时间),下次提额需重新申请 |
| 模型下载申请 | model_download |
申请下载平台内模型 |
| 服务部署申请 | service_deploy |
申请部署服务 |
审批单关键字段
| 字段 | 含义 |
|---|---|
req_type / label / content / remark |
申请类型 / 描述 / 申请详细内容 / 备注 |
process |
审批流程(JSON stages 列表,含每阶段名称与审批人),进度在审批列表与详情中展示 |
result |
申请结果 |
start_time / end_time |
起止时间(资源提额通过即过期) |
默认审批流程与权限
- 默认实现为单阶段:审批人 = 申请所在项目组负责人(creator),1 人同意即通过;
- 可见性:申请人只看自己的申请;审批人看
stages.approvers中包含自己的待审单;admin 可见全部; - 操作接口:审批人「同意 / 拒绝」(
api_approve),申请人「撤销」(api_cancel)。
二次开发:自定义审批人与多阶段
默认审批人解析集中在 build_approval_stages(req_type, applicant, project_id, content) 一个函数中,
企业二开只需重写此函数即可实现:多阶段审批、指定外部系统审批人、按申请类型走不同流程等。
stage 的 name 会随 process JSON 落库并展示在审批列表 / 详情上。