106 lines
5.3 KiB
Markdown
106 lines
5.3 KiB
Markdown
# 系统能力模型总结 — 道路救援企业培训系统
|
||
|
||
> 版本:V1.0 | 生成日期:2026-04-07
|
||
> 证据来源:[SRC-FEAT-01] [SRC-API-01] [SRC-CODE-01]
|
||
|
||
---
|
||
|
||
## 1. 当前系统具备的核心能力
|
||
|
||
| # | 能力名称 | 一句话描述 |
|
||
|---|---------|----------|
|
||
| C1 | **基于角色的访问控制(RBAC)** | 三种角色(管理员/讲师/学员)+ 部门级数据隔离,统一鉴权入口 |
|
||
| C2 | **组织与人员管理** | 三级组织结构(中心→部门→小组)+ 用户生命周期管理 |
|
||
| C3 | **知识资产管理** | 支持文档/视频两种类型的知识内容创建、状态发布和多级分类 |
|
||
| C4 | **学习行为跟踪** | 防刷机制下的真实时长累计和进度记录(视频90%/文档时长判定) |
|
||
| C5 | **在线考核** | 题库管理 + 手动/自动组卷 + 在线答题 + 客观题自动判分 |
|
||
| C6 | **考试行为管控** | 时间窗口约束 + 次数限制 + 超时自动交卷 + 并发乐观锁保护 |
|
||
| C7 | **培训任务编排** | 将知识+考试组织成有时间周期的培训计划,支持必修/选修/必考/选考四维属性 |
|
||
| C8 | **培训进度可视化** | 实时计算学员对某培训计划的完成百分比(必修完成+必考通过) |
|
||
| C9 | **成绩与排名** | 交卷后立即返回成绩+答案解析+实时排名(窗口函数,同分按时间早优先) |
|
||
| C10 | **企业微信身份集成** | OAuth 登录打通企业微信用户体系,无需单独注册 |
|
||
|
||
---
|
||
|
||
## 2. 能力依赖关系图
|
||
|
||
```mermaid
|
||
graph TD
|
||
C10[C10 企业微信身份集成] --> C1
|
||
C1[C1 RBAC + 部门隔离] --> C2
|
||
C1 --> C3
|
||
C1 --> C5
|
||
C1 --> C7
|
||
|
||
C2[C2 组织人员管理] --> C7
|
||
C3[C3 知识资产管理] --> C4
|
||
C3 --> C7
|
||
|
||
C4[C4 学习行为跟踪] --> C8
|
||
C5[C5 在线考核] --> C6
|
||
C5 --> C9
|
||
C6[C6 考试行为管控] --> C9
|
||
C9[C9 成绩与排名] --> C8
|
||
|
||
C7[C7 培训任务编排] --> C4
|
||
C7 --> C6
|
||
C7 --> C8[C8 培训进度可视化]
|
||
```
|
||
|
||
---
|
||
|
||
## 3. 可复用能力清单
|
||
|
||
| 能力 | 复用场景 | 复用方式 |
|
||
|-----|---------|---------|
|
||
| C1 RBAC + 部门隔离 | 企业内任何需要角色权限 + 数据隔离的系统 | 提取 AuthInterceptor + UserContext + department_id 注入框架 |
|
||
| C4 学习行为跟踪 | 其他类型内容(音频/直播回放/课件)的学习进度记录 | 抽象 `LearningTarget` 接口,替换完成判定策略(Strategy 模式) |
|
||
| C5 在线考核 | 任意客观题在线测评场景(安全培训/合规考试等)| 题库+试卷+客观题判分为独立子系统,可独立部署 |
|
||
| C6 考试行为管控 | 任何有"限时+限次"约束的在线测试 | ExamTakingService 中时间窗口/次数/乐观锁的组合控制逻辑 |
|
||
| C9 成绩排名 | 任何需要实时排名的比赛/评测场景 | SQL 窗口函数 DENSE_RANK 模式,按需修改排序条件 |
|
||
|
||
---
|
||
|
||
## 4. 平台级能力(多业务依赖的底层能力)
|
||
|
||
**C1 — RBAC + 部门数据隔离**
|
||
- 所有业务模块(知识/考试/培训)均依赖此能力实现权限控制和数据隔离
|
||
- 是系统安全性和多租户(多部门)能力的基础
|
||
- 扩展方向:目前硬编码三个角色,V2 可改为动态角色配置
|
||
|
||
**C2 — 组织人员管理**
|
||
- 每个业务操作都需要 `department_id`、`user_id`、`role` 三个属性
|
||
- 是知识/考试/培训三大域的数据隔离依据来源
|
||
- 扩展方向:当前三级固定结构,可抽象为 n 级通用树
|
||
|
||
**C10 — 企业微信身份集成**
|
||
- 是唯一的用户来源(V1),后续接其他身份源也需通过此层
|
||
- 扩展方向:抽象为 `IdentityProvider` 接口,支持插入 SSO/LDAP
|
||
|
||
---
|
||
|
||
## 5. 业务定制能力(特定场景才需要的能力)
|
||
|
||
| 能力 | 定制场景 | 为何不是平台级 |
|
||
|-----|---------|-------------|
|
||
| C3 知识资产管理(文档/视频类型) | 救援行业的操作手册、安全规范、视频讲解 | 内容类型固定(文档/视频),换行业可能需要不同类型 |
|
||
| C4 学习行为防刷(视频90%/文档时长) | 强制"真实学习"的企业培训场景 | 完成判定规则是业务决策,C端平台通常不这么严格 |
|
||
| C6 超时自动交卷 + 乐观锁 | 有严格时长限制的考试 | 休闲测试/知识问答类应用不需要这个复杂度 |
|
||
| C7 培训任务编排(必修/选修/必考/选考四维)| 企业有组织要求的培训管理 | 自学平台不需要"强制必修"的约束 |
|
||
| C9 成绩排名(DENSE_RANK + 同分按时间) | 部门内部考核的绩效排名 | 无竞争性考核场景(如自我测评)不需要排名 |
|
||
|
||
---
|
||
|
||
## 6. V2 能力规划缺口
|
||
|
||
当前 V1.0.1 尚未具备以下能力,是 V2 的扩展方向:
|
||
|
||
| 缺失能力 | 业务价值 | 实现复杂度 |
|
||
|---------|---------|---------|
|
||
| 统计报表中心(完成率/通过率/部门排名) | 管理层查看全局培训效果 | 中(新增 statistics 模块,读现有数据) |
|
||
| 线下培训签到(扫码签到/签退) | 线上线下混合培训场景 | 中(需硬件支持) |
|
||
| 错题本(自动归集错误题目) | 学员针对性复习 | 低(从 exam_record.answers 中提取 correct=false) |
|
||
| 知识全文搜索 | 快速查找内容 | 高(需引入 Elasticsearch 或 MySQL FULLTEXT) |
|
||
| 奖励体系(积分/勋章/排行榜) | 提升学习积极性 | 中(新增独立模块) |
|
||
| 证书管理 | 培训完成凭证 | 低(基于培训计划完成状态生成 PDF) |
|