业务流程总览 先梳理通 → 再做动态
本页是整套系统的「业务说明书」:一图看懂 7 岗位流水线怎么转、每一步谁做什么、状态怎么变、权限怎么分。静态版验证通过后,再按此逻辑实现动态版。
① 一条内容的全生命周期 PROJECT LIFECYCLE
1. 创建项目
教师/管理员
填选题+目标平台+截止
2. 选择岗位
学生登录后选择岗位
进入该岗位业务平台
3. 自动派单
系统生成 7 条工单
每岗位派 1 名学生
4. 岗位接力
提交→审核→入库
→下一岗位开工
5. 全网分发
第 6 岗位通过
登记各平台链接
6. 成品入库
第 7 岗位通过
项目 COMPLETED
单人模式:同一项目同一岗位只由 1 名学生作业(教师派单时定岗);实现简单、责任清晰,适合社团规模。
② 工单状态机 TASK STATE MACHINE
PENDING
待开始
上游未交付/未派单
IN_PROGRESS
进行中
学生编辑/存草稿
SUBMITTED
已提交
等待进入审核
REVIEWING
审核中
教师/管理员处理
APPROVED ✔
通过 → 成果写入中间成果库
项目 current_sequence +1
为下一岗位生成工单 + 通知
REJECTED ✘
驳回(原因必填)→ 退回学生
修改后重新提交(版本+1)
历史版本全保留
第 7 岗位 APPROVED
项目置为 COMPLETED
成品入「作品资产库」(is_final=1)
→ 复盘结论沉淀入库
版本规则:每次提交生成新版本,历史全保留;同一工单默认最多 10 个版本,超出需教师解锁(version_override)。教师可随时「暂停/恢复」项目流转,暂停期间禁止提交。
③ 一次完整的提交-审核-流转 HANDOFF SEQUENCE
学生
业务平台提交流程单
选附件(≤200MB)
点「提交流程单」
系统
生成 wf_submission
version 递增
工单→SUBMITTED
教师/管理员
审核队列查看
内容+附件+上游输入
通过/驳回
系统
写 wf_review
通过→lib_asset 入库
流转下一岗位
下一岗学生
收到站内通知
业务平台看到上游输入
开始作业
特殊规则:第 5 岗位「合规审核」的交付物是审核报告,报告本身仍需教师/管理员二次确认通过后,才流转至第 6 岗位全网分发。(与普通审核是同一动作,无需额外界面。)
④ 权限矩阵 RBAC
| 功能 | 学生 | 教师 | 管理员 |
|---|---|---|---|
| 平台介绍 / 登录 | ✔ | ✔ | ✔ |
| 选择岗位进入业务平台 | ✔ | ✔ | ✔ |
| 本岗位业务平台(仅本人岗位) | ✔ | ✔ 全部 | ✔ 全部 |
| 查看上游岗位输入(只读) | ✔ | ✔ | ✔ |
| 查看其他岗位业务平台内容 | ✘ | ✔ | ✔ |
| 提交 / 撤回作业 | ✔ 本人工单 | — | — |
| 审核作业(通过/驳回) | ✘ | ✔ | ✔ |
| 中间成果库 / 作品库 | 只读(本项目) | ✔ 管理 | ✔ 管理 |
| 项目创建与流程推进 | ✘ | ✔ | ✔ |
| 学生名单导入(身份证号) | ✘ | ✘ | ✔ |
| 岗位与工具库配置 | ✘ | ✘ | ✔ |
| 审计日志 / 系统配置 / 备份 | ✘ | ✘ | ✔ |
岗位隔离原则:学生登录后选择岗位进入业务平台,只能看到本岗位的工具与提交流程单 + 该项目上游已完成的输入成果(只读)。任何跨岗位内容默认不可见。
⑤ 三种角色 · 两种登录 IDENTITY
学生
身份证号免密登录(后台名单匹配)
- 18 位身份证正则 + 校验码验证
- SHA-256 加盐哈希匹配学生表
- 失败 5 次(5 分钟内)锁 10 分钟
- 界面显示一律脱敏:410***********1234
- 登录 → 选择岗位 → 进入业务平台(左工具 / 右提交流程单)
教师
账号 + 密码(BCrypt),独立入口 /admin/login
- 创建项目、推进流转、暂停/恢复
- 审核作业(通过备注 / 驳回原因必填)
- 指派/调整学生岗位、手动派单
- 查看数据看板(吞吐量/驳回率/审核时长)
- 90 天密码更换提醒
系统管理员
账号 + 密码,拥有教师权限 + 系统管理
- Excel/CSV 批量导入学生名单(自动 hash+enc)
- 岗位 SOP 与工具军火库配置
- 教师/管理员账号管理
- 审计日志(只增不删,≥180 天)
- 一键备份(SQL + 附件打包)、系统参数
⑥ 核心数据模型 DATA MODEL
proj_project
项目(标题/平台/截止
current_sequence
DRAFT/RUNNING/PAUSED/COMPLETED)
wf_task ×7
工单(项目×岗位)
student_id(单人)
status 状态机
wf_submission
作业提交(版本递增)
content + 附件 JSON
SUBMITTED/…/WITHDRAWN
wf_review
审核记录
APPROVED/REJECTED
意见 + 审核人
lib_asset
成果库
INTERMEDIATE / FINAL
上游输入的来源
dist_record
分发记录
平台 / 链接 / 时间
第 6 岗位出口
sys_student
学生名单
id_card_hash + id_card_enc
脱敏显示
rel_student_position
学生-岗位绑定
学生选岗 / 教师指派
定岗后进入业务平台
dim_position × dim_tool
7 岗位 + 工具军火库
SOP / 交付物 / 工具链接
sys_notify / sys_audit_log
通知 + 审计
全程留痕可追溯
⑦ 业务验收清单(动态版完成后逐条核对) ACCEPTANCE
- 学生可用身份证号登录,未登记身份无法进入;显示脱敏号
- 学生只可见自己所选岗位的业务平台与相邻上游只读输入(跨岗位 403)
- 提交 → 审核 → 通过入库 → 下一岗位自动出现工单,全链路跑通
- 驳回后学生可修改重提,历史版本可追溯(≤10 版本上限生效)
- 管理员可批量导入学生名单、配置岗位与工具库
- 第 7 岗位完成后项目置 COMPLETED,成品入作品库;分发链接由第 6 岗位全网分发登记
- 全部操作留有审计日志(登录、提交、审核、配置变更)