迪诺学堂标识

17-知识库与教师培训中心详细PRD

KBT · 建设内部知识库、素材库、员工学习培训、在线考试和岗位能力培训体系,支撑教师、顾问、教务、学管师和管理岗位能力提升。

系统 迪诺学堂
版本 v1.0
日期 2026-06-23
阶段 模块详细 PRD

01 · 模块定位

知识库与教师培训中心

总部可发布教师培训计划,员工完成资料学习和在线考试后形成学习档案、考试成绩和学习档案记录。

业务目标

建设内部知识库、素材库、员工学习培训、在线考试和岗位能力培训体系,支撑教师、顾问、教务、学管师和管理岗位能力提升。

使用终端

PC Web 知识库培训中心,员工移动端/小程序可学习、考试、补考并查看学习档案。

验收主线

总部可发布教师培训计划,员工完成资料学习和在线考试后形成学习档案、考试成绩和学习档案记录。

02 · 范围边界

明确本模块负责什么、依赖什么、不负责什么

边界清晰后,原型、接口和数据库设计才能避免重复建设。

模块内范围

  • 知识库
  • 素材库
  • 课程分类
  • 资料类型
  • 培训计划
  • 在线考试
  • 学习档案
  • 集团会议直播培训归档
  • 题库版本管理
  • 试卷引用快照
  • 历史答题追溯

上游依赖

  • 组织校区与账号权限
  • 课程/客户/合同等主数据
  • 审批流、消息模板、文件中心
  • 必要的第三方接口密钥

下游输出

  • 业务状态和待办
  • 消息通知和审批记录
  • 报表指标和数据快照
  • 审计日志和接口回执

03 · 确认口径、后台配置与默认实施规则

知识库与教师培训中心必须承接的已确认规则

本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。
分类事项本模块落地要求责任方
默认实施规则接口设计说明书组织方式采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。产品/研发
默认实施规则接口错误码与重试中间件所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。后端/测试/运维

04 · 业务流程

知识库与教师培训中心主流程

流程用于指导原型图的页面顺序、按钮状态和异常分支。
01知识库

按岗位、业务线、课程产品、教学阶段和服务场景组织知识课程与制度资料。

02素材库

素材支持上传、版本、标签、权限、检索、预览、下载控制和使用统计。

03课程分类

课程分类支持岗位、业务线、课程产品、教学阶段、服务场景和适用校区配置。

04资料类型

每个分类下配置制度文档、SOP、教学视频、示范课、课件模板、话术素材和考试试卷。

05培训计划

培训计划支持必修、选修、补训、岗位能力学习、截止时间、逾期提醒和适用人群。

06在线考试

在线考试支持题库组卷、限时作答、自动判分、人工阅卷、补考和学习档案归档。

07学习档案

学习档案记录学习时长、资料阅读、视频观看、考试成绩、补考记录和岗位能力达成。

08集团会议直播培训归档

集团内部会议直播结束后可归档为培训资料,绑定参会签到、回放、学习任务和考试。

05 · 功能清单

按子模块拆到可设计、可开发、可测试的颗粒度

每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。
一级功能二级功能功能说明规则/验收
知识库基础维护知识库支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
知识库业务处理按岗位、业务线、课程产品、教学阶段和服务场景组织知识课程与制度资料。必须联动状态、权限、消息、审批和指标
知识库异常闭环分类权限不足处理失败原因可见、可重试、可转人工、可追溯
素材库基础维护素材库支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
素材库业务处理素材支持上传、版本、标签、权限、检索、预览、下载控制和使用统计。必须联动状态、权限、消息、审批和指标
素材库异常闭环素材转码失败处理失败原因可见、可重试、可转人工、可追溯
课程分类基础维护课程分类支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
课程分类业务处理课程分类支持岗位、业务线、课程产品、教学阶段、服务场景和适用校区配置。必须联动状态、权限、消息、审批和指标
课程分类异常闭环分类重复处理失败原因可见、可重试、可转人工、可追溯
资料类型基础维护资料类型支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
资料类型业务处理每个分类下配置制度文档、SOP、教学视频、示范课、课件模板、话术素材和考试试卷。必须联动状态、权限、消息、审批和指标
资料类型异常闭环资料类型缺失处理失败原因可见、可重试、可转人工、可追溯
培训计划基础维护培训计划支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
培训计划业务处理培训计划支持必修、选修、补训、岗位能力学习、截止时间、逾期提醒和适用人群。必须联动状态、权限、消息、审批和指标
培训计划异常闭环培训逾期处理失败原因可见、可重试、可转人工、可追溯
在线考试基础维护在线考试支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
在线考试业务处理在线考试支持题库组卷、限时作答、自动判分、人工阅卷、补考和学习档案归档。必须联动状态、权限、消息、审批和指标
在线考试异常闭环考试未通过处理失败原因可见、可重试、可转人工、可追溯
学习档案基础维护学习档案支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
学习档案业务处理学习档案记录学习时长、资料阅读、视频观看、考试成绩、补考记录和岗位能力达成。必须联动状态、权限、消息、审批和指标
学习档案异常闭环档案同步失败处理失败原因可见、可重试、可转人工、可追溯
集团会议直播培训归档基础维护集团会议直播培训归档支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
集团会议直播培训归档业务处理集团内部会议直播结束后可归档为培训资料,绑定参会签到、回放、学习任务和考试。必须联动状态、权限、消息、审批和指标
集团会议直播培训归档异常闭环会议回放未归档处理失败原因可见、可重试、可转人工、可追溯
题库版本管理基础维护题库版本管理支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
题库版本管理业务处理题库题目、答案、解析、分值、难度、知识点和适用范围均需版本化管理。必须联动状态、权限、消息、审批和指标
题库版本管理异常闭环题目版本缺失处理失败原因可见、可重试、可转人工、可追溯
试卷引用快照基础维护试卷引用快照支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
试卷引用快照业务处理培训考试发布后锁定试卷、题目、答案、解析、分值和抽题策略快照。必须联动状态、权限、消息、审批和指标
试卷引用快照异常闭环试卷快照损坏处理失败原因可见、可重试、可转人工、可追溯
历史答题追溯基础维护历史答题追溯支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
历史答题追溯业务处理历史成绩复核时按当时试卷版本展示题目、作答、评分、人工阅卷和复核记录。必须联动状态、权限、消息、审批和指标
历史答题追溯异常闭环历史答题缺失处理失败原因可见、可重试、可转人工、可追溯

功能到数据对象/接口/表映射

功能域承接对象核心表代表接口状态机/状态字段研发落地校验
知识库KnowledgeCategorykb_categoryPOST/GET /api/v1/knowledge/coursesmaterial_types新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
素材库KnowledgeMaterialkb_material接口资源组 /api/v1/kbt/features/02material_type、publish_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
课程分类KnowledgeCategorykb_category接口资源组 /api/v1/kbt/features/03material_types新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
资料类型KnowledgeCategorykb_categoryPOST/GET /api/v1/knowledge/coursesmaterial_types新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
培训计划KnowledgeCategory、KnowledgeMaterial、KnowledgeCourse、TrainingLearningTaskkb_category、kb_material、kb_training_course、kb_learning_task接口资源组 /api/v1/kbt/features/05material_types、material_type、publish_status、course_status、learning_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
在线考试KnowledgeCategory、KnowledgeMaterial、KnowledgeCourse、TrainingLearningTaskkb_category、kb_material、kb_training_course、kb_learning_task接口资源组 /api/v1/kbt/features/06material_types、material_type、publish_status、course_status、learning_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
学习档案KnowledgeCategory、KnowledgeMaterial、KnowledgeCourse、TrainingLearningTaskkb_category、kb_material、kb_training_course、kb_learning_task接口资源组 /api/v1/kbt/features/07material_types、material_type、publish_status、course_status、learning_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
集团会议直播培训归档KnowledgeCategory、KnowledgeMaterial、KnowledgeCourse、TrainingLearningTaskkb_category、kb_material、kb_training_course、kb_learning_task接口资源组 /api/v1/kbt/features/08material_types、material_type、publish_status、course_status、learning_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
题库版本管理KnowledgeCategory、KnowledgeMaterial、KnowledgeCourse、TrainingLearningTaskkb_category、kb_material、kb_training_course、kb_learning_task接口资源组 /api/v1/kbt/features/09material_types、material_type、publish_status、course_status、learning_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
试卷引用快照KnowledgeCategory、KnowledgeMaterial、KnowledgeCourse、TrainingLearningTaskkb_category、kb_material、kb_training_course、kb_learning_task接口资源组 /api/v1/kbt/features/10material_types、material_type、publish_status、course_status、learning_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
历史答题追溯KnowledgeCategory、KnowledgeMaterial、KnowledgeCourse、TrainingLearningTaskkb_category、kb_material、kb_training_course、kb_learning_task接口资源组 /api/v1/kbt/features/11material_types、material_type、publish_status、course_status、learning_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计

06 · 原子级功能需求

用于研发任务拆分和测试用例追踪

需求编号可直接进入项目管理工具。
编号需求描述入口页面关键动作输入校验输出结果异常处理验收标准
FR-KBT-001知识库支持按岗位、业务线、课程产品、教学阶段、服务场景配置课程分类知识库首页配置分类校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务培训逾期主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-KBT-002每个分类下可配置制度文档、SOP、教学视频、示范课、课件模板、话术素材、考试试卷等资料类型课程分类与资料类型上传素材校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务考试未通过主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-KBT-003素材库支持上传、版本、标签、权限、检索、下载控制和使用统计培训计划发布培训校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务资料权限不足主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-KBT-004培训计划支持必修、选修、补训、岗位能力学习、截止时间和逾期提醒在线考试在线考试校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务题目版本缺失主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-KBT-005员工学习过程记录学习时长、完成进度、资料阅读、视频观看和考试成绩会议直播培训归档补训安排校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务试卷快照损坏主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-KBT-006在线考试支持题库组卷、限时作答、自动判分、人工阅卷、补考和学习档案归档题库版本快照统计档案校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务培训逾期主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-KBT-007培训考试和补考需保存试卷版本、题目版本和资源版本快照,历史答题记录按发布时版本展示,重学、补考可配置使用原版本或最新版本。知识库配置分类校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务考试未通过主流程、异常流、权限流、接口失败和数据一致性均可通过测试

07 · 关联闭环补充需求

知识库与教师培训中心在跨模块闭环中的责任边界

本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。
闭环项本模块责任关键场景页面/功能补充关联对象/接口验收口径
题库版本快照负责员工培训考试题库、抽题策略、补考规则和成绩复核快照员工学习、培训考试、补考和历史成绩复核培训题库、考试发布、版本快照、成绩详情、复核记录KnowledgeCourse/TrainingExam成绩复核时可还原当时题目、答案、解析、分值和抽题策略
督课评分规则版本督课结果用于教师培训任务推荐时必须保留评分规则来源督课低分触发学习任务、整改培训和补考培训任务、督课关联、学习档案、考试结果TeachingQualityScore、KnowledgeCourse/TrainingExam培训任务能追溯触发的督课评分版本和整改原因

08 · 页面与原型设计说明

页面清单、布局要求、按钮字段和状态

原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。
终端页面用户页面目标布局结构关键按钮关键字段异常状态原型备注
PC Web知识库首页教师/员工检索制度、SOP、教学示范、话术和学习资料培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-知识库首页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web课程分类与资料类型教研/人事维护培训分类、资料类型、标签、适用岗位和版本培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-课程分类与资料类型;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web培训计划人事/教研/校长发布必修选修培训、分配员工、跟踪完成进度培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-培训计划;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web在线考试教师/员工在线答题、补考、查看成绩和培训结果培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-在线考试;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web/员工端会议直播培训归档人事/教研/员工将集团会议直播回放沉淀为培训资料并生成学习考试任务运营台以配置/监控/回放/转化分区组织,顶部展示供应商状态和业务类型筛选,详情抽屉展示回调、录制和发布记录。配置供应商、健康检测、创建直播、发布回放、人工补传、下架回放、生成跟进任务供应商、业务类型、直播间、回调状态、录制文件、存储位置、发布范围、转化任务、课程分类、资料类型供应商连通失败、回调验签失败、录制转码失败、存储回调失败、回放权限缺失、线索沉淀失败需体现三家供应商启用配置、无主备切换、录制存储配置、回放补传版本、公开课转化和会议归档。 建议 Figma Frame:KBT-会议直播培训归档;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web题库版本快照教研/培训负责人管理题目、试卷、资源引用快照,支持历史答题追溯和补考版本策略培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-题库版本快照;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web知识库授权用户围绕培训体系完善知识库的入口、字段、状态、异常提示、处理进度和验收反馈培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-知识库;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web考试中心授权用户围绕培训体系完善考试中心的入口、字段、状态、异常提示、处理进度和验收反馈培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-考试中心;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web学习档案授权用户围绕培训体系完善学习档案的入口、字段、状态、异常提示、处理进度和验收反馈培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-学习档案;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web题库版本授权用户围绕考试快照完善题库版本的入口、字段、状态、异常提示、处理进度和验收反馈培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-题库版本;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web考试详情授权用户围绕考试快照完善考试详情的入口、字段、状态、异常提示、处理进度和验收反馈培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-考试详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web成绩复核授权用户围绕考试快照完善成绩复核的入口、字段、状态、异常提示、处理进度和验收反馈培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-成绩复核;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web会议直播归档授权用户围绕直播归档完善会议直播归档的入口、字段、状态、异常提示、处理进度和验收反馈培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-会议直播归档;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web培训资料详情授权用户围绕直播归档完善培训资料详情的入口、字段、状态、异常提示、处理进度和验收反馈培训页以分类导航、学习任务、资料预览和考试记录组合,题库版本页展示试卷快照和历史答题追溯。配置分类、上传素材、发布培训、开始学习、开始考试、安排补考、查看档案、查看版本课程分类、资料类型、适用岗位、学习进度、考试规则、题库版本、补考次数、历史答题、学习任务、完成状态分类权限不足、素材转码失败、培训逾期、考试超时、试卷快照损坏、历史答题缺失需覆盖员工学习、培训计划、资料类型、考试补考、会议直播归档、题库版本和历史成绩复核。 建议 Figma Frame:KBT-培训资料详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。

09 · 页面到接口的前后端闭环矩阵

把原型页面、后端接口、数据对象、状态和消息审批绑定到一起

设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。
原型页面关键接口关联对象状态流审批/权限触发消息/待办触达原型验收要求
知识库首页POST/GET /api/v1/knowledge/coursesKnowledgeCategory未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
课程分类与资料类型POST /api/v1/live/meetings/{id}/archiveKnowledgeMaterial未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
培训计划POST/GET /api/v1/knowledge/coursesKnowledgeCourse未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
在线考试POST /api/v1/live/meetings/{id}/archiveTrainingLearningTask未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
会议直播培训归档POST/GET /api/v1/knowledge/coursesTrainingExam未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
题库版本快照POST /api/v1/live/meetings/{id}/archiveTrainingExamAttempt未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
知识库POST/GET /api/v1/knowledge/coursesKnowledgeCategory未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
考试中心POST /api/v1/live/meetings/{id}/archiveKnowledgeMaterial未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
学习档案POST/GET /api/v1/knowledge/coursesKnowledgeCourse未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
题库版本POST /api/v1/live/meetings/{id}/archiveTrainingLearningTask未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
考试详情POST/GET /api/v1/knowledge/coursesTrainingExam未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
成绩复核POST /api/v1/live/meetings/{id}/archiveTrainingExamAttempt未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训课程发布审批:面向全员、跨校区或涉及制度类培训内容培训任务通知 -> 员工/直属主管原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口

10 · 原型、UI、研发、测试交付补充

把关键闭环补强为下一阶段可执行任务

本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。
能力域功能补充要求原型交付要求UI 交互要求研发实现要求测试验收要求
培训体系补齐分类配置、资料上传、培训计划、学习任务、考试、补考、成绩复核和档案归档。知识库、培训计划、考试中心、学习档案 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;员工培训从分配到通过或补训均有状态闭环。
考试快照补齐试卷快照、抽题策略、补考次数、考试超时和成绩复核。题库版本、考试详情、成绩复核 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;任一历史成绩能还原当时题目和评分规则。
直播归档补齐会议直播录制、回放审核、转为培训资料、学习任务和观看记录。会议直播归档、培训资料详情 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;会议回放可转为培训素材并纳入员工学习记录。

11 · 数据对象与字段字典

明确页面、接口、数据库共同使用的数据语言

字段涉及敏感、人脸、财务、绩效时,原型需体现脱敏、授权和审计。

核心对象

对象说明
KnowledgeCategory知识库课程分类和资料类型;落地表:kb_category
KnowledgeMaterial员工培训资料和素材库;落地表:kb_material
KnowledgeCourse教师培训课程;落地表:kb_training_course
TrainingLearningTask员工学习任务;落地表:kb_learning_task
TrainingExam员工培训考试;落地表:kb_exam
TrainingExamAttempt考试答题和成绩;落地表:kb_exam_attempt

关联引用对象

对象说明
Organization集团、区域、校区、部门组织树;引用来源:FND / sys_organization
User/Employee统一登录账号;引用来源:FND / sys_user
Employee员工基础档案;引用来源:FND / sys_employee
Role角色定义;引用来源:FND / sys_role
ApprovalFlow审批流配置;引用来源:FND / sys_approval_flow
MessageTemplate消息模板与多端触达配置;引用来源:FND / sys_message_template
AuditLog全平台操作审计日志;引用来源:FND / sys_audit_log
IntegrationLog接口调用日志;引用来源:OPEN / int_integration_log
SensitiveFieldPolicy敏感字段脱敏策略;引用来源:SEC / sec_sensitive_field_policy
TeachingQualityScore教学质量评分;引用来源:PAT / patrol_quality_score
LiveRecording直播录制和回放文件;引用来源:LIVE / live_recording_file
LearningResource教研学习资源;引用来源:RES / res_learning_resource

完整字段字典

对象字段类型必填规则数据级别
KnowledgeCategoryidBIGINT主键,雪花或号段生成,禁止复用普通
KnowledgeCategorytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
KnowledgeCategoryorg_idBIGINT所属组织,集团级或公共配置为空普通
KnowledgeCategorycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
KnowledgeCategorycreated_byBIGINT创建人账号 ID普通
KnowledgeCategorycreated_atDATETIME创建时间普通
KnowledgeCategoryupdated_byBIGINT最后更新人账号 ID普通
KnowledgeCategoryupdated_atDATETIME最后更新时间普通
KnowledgeCategoryis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
KnowledgeCategorydeleted_atDATETIME删除时间,未删除为空普通
KnowledgeCategorydeleted_byBIGINT删除人账号 ID,未删除为空普通
KnowledgeCategoryversionINT乐观锁版本号,写操作必须校验普通
KnowledgeCategorycategory_codeVARCHAR(64)分类编码,唯一普通
KnowledgeCategorycategory_nameVARCHAR(128)分类名称普通
KnowledgeCategoryparent_idBIGINT上级分类普通
KnowledgeCategorymaterial_typesJSON分类下资料类型普通
KnowledgeCategorysort_noINT排序普通
KnowledgeCategoryenabledTINYINT是否启用普通
KnowledgeMaterialidBIGINT主键,雪花或号段生成,禁止复用普通
KnowledgeMaterialtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
KnowledgeMaterialorg_idBIGINT所属组织,集团级或公共配置为空普通
KnowledgeMaterialcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
KnowledgeMaterialcreated_byBIGINT创建人账号 ID普通
KnowledgeMaterialcreated_atDATETIME创建时间普通
KnowledgeMaterialupdated_byBIGINT最后更新人账号 ID普通
KnowledgeMaterialupdated_atDATETIME最后更新时间普通
KnowledgeMaterialis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
KnowledgeMaterialdeleted_atDATETIME删除时间,未删除为空普通
KnowledgeMaterialdeleted_byBIGINT删除人账号 ID,未删除为空普通
KnowledgeMaterialversionINT乐观锁版本号,写操作必须校验普通
KnowledgeMaterialmaterial_noVARCHAR(64)资料编号,唯一普通
KnowledgeMaterialcategory_idBIGINT分类 ID普通
KnowledgeMaterialmaterial_nameVARCHAR(128)资料名称普通
KnowledgeMaterialmaterial_typeVARCHAR(32)文档/视频/音频/课件/案例普通
KnowledgeMaterialfile_idBIGINT文件 ID普通
KnowledgeMaterialpublish_statusVARCHAR(32)草稿/已发布/已下架普通
KnowledgeCourseidBIGINT主键,雪花或号段生成,禁止复用普通
KnowledgeCoursetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
KnowledgeCourseorg_idBIGINT所属组织,集团级或公共配置为空普通
KnowledgeCoursecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
KnowledgeCoursecreated_byBIGINT创建人账号 ID普通
KnowledgeCoursecreated_atDATETIME创建时间普通
KnowledgeCourseupdated_byBIGINT最后更新人账号 ID普通
KnowledgeCourseupdated_atDATETIME最后更新时间普通
KnowledgeCourseis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
KnowledgeCoursedeleted_atDATETIME删除时间,未删除为空普通
KnowledgeCoursedeleted_byBIGINT删除人账号 ID,未删除为空普通
KnowledgeCourseversionINT乐观锁版本号,写操作必须校验普通
KnowledgeCoursecourse_noVARCHAR(64)培训课程编号,唯一普通
KnowledgeCoursecourse_nameVARCHAR(128)培训课程名称普通
KnowledgeCoursecategory_idBIGINT分类 ID普通
KnowledgeCoursetarget_rolesJSON适用岗位/角色普通
KnowledgeCoursecourse_contentJSON章节与资料普通
KnowledgeCoursecourse_statusVARCHAR(32)草稿/已发布/已下架普通
TrainingLearningTaskidBIGINT主键,雪花或号段生成,禁止复用普通
TrainingLearningTasktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
TrainingLearningTaskorg_idBIGINT所属组织,集团级或公共配置为空普通
TrainingLearningTaskcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
TrainingLearningTaskcreated_byBIGINT创建人账号 ID普通
TrainingLearningTaskcreated_atDATETIME创建时间普通
TrainingLearningTaskupdated_byBIGINT最后更新人账号 ID普通
TrainingLearningTaskupdated_atDATETIME最后更新时间普通
TrainingLearningTaskis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
TrainingLearningTaskdeleted_atDATETIME删除时间,未删除为空普通
TrainingLearningTaskdeleted_byBIGINT删除人账号 ID,未删除为空普通
TrainingLearningTaskversionINT乐观锁版本号,写操作必须校验普通
TrainingLearningTasktask_noVARCHAR(64)学习任务编号,唯一普通
TrainingLearningTaskcourse_idBIGINT培训课程 ID普通
TrainingLearningTaskemployee_idBIGINT员工 ID普通
TrainingLearningTaskassigned_byBIGINT指派人普通
TrainingLearningTaskdeadline_atDATETIME截止时间普通
TrainingLearningTasklearning_statusVARCHAR(32)未开始/学习中/已完成/逾期普通
TrainingExamidBIGINT主键,雪花或号段生成,禁止复用普通
TrainingExamtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
TrainingExamorg_idBIGINT所属组织,集团级或公共配置为空普通
TrainingExamcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
TrainingExamcreated_byBIGINT创建人账号 ID普通
TrainingExamcreated_atDATETIME创建时间普通
TrainingExamupdated_byBIGINT最后更新人账号 ID普通
TrainingExamupdated_atDATETIME最后更新时间普通
TrainingExamis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
TrainingExamdeleted_atDATETIME删除时间,未删除为空普通
TrainingExamdeleted_byBIGINT删除人账号 ID,未删除为空普通
TrainingExamversionINT乐观锁版本号,写操作必须校验普通
TrainingExamexam_noVARCHAR(64)考试编号,唯一普通
TrainingExamcourse_idBIGINT关联培训课程普通
TrainingExamexam_nameVARCHAR(128)考试名称普通
TrainingExampaper_schemaJSON试卷结构普通
TrainingExampass_scoreDECIMAL(6,2)及格分普通
TrainingExamexam_statusVARCHAR(32)草稿/已发布/已结束普通
TrainingExamAttemptidBIGINT主键,雪花或号段生成,禁止复用普通
TrainingExamAttempttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
TrainingExamAttemptorg_idBIGINT所属组织,集团级或公共配置为空普通
TrainingExamAttemptcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
TrainingExamAttemptcreated_byBIGINT创建人账号 ID普通
TrainingExamAttemptcreated_atDATETIME创建时间普通
TrainingExamAttemptupdated_byBIGINT最后更新人账号 ID普通
TrainingExamAttemptupdated_atDATETIME最后更新时间普通
TrainingExamAttemptis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
TrainingExamAttemptdeleted_atDATETIME删除时间,未删除为空普通
TrainingExamAttemptdeleted_byBIGINT删除人账号 ID,未删除为空普通
TrainingExamAttemptversionINT乐观锁版本号,写操作必须校验普通
TrainingExamAttemptattempt_noVARCHAR(64)答题编号,唯一普通
TrainingExamAttemptexam_idBIGINT考试 ID普通
TrainingExamAttemptemployee_idBIGINT员工 ID普通
TrainingExamAttemptanswer_payloadJSON答题内容普通
TrainingExamAttemptscoreDECIMAL(6,2)得分普通
TrainingExamAttemptpass_statusVARCHAR(32)待评分/通过/未通过普通

引用对象字段字典

引用表对象字段类型必填规则数据级别
sys_organizationOrganizationidBIGINT主键,雪花或号段生成,禁止复用普通
sys_organizationOrganizationtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_organizationOrganizationorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_organizationOrganizationcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_organizationOrganizationcreated_byBIGINT创建人账号 ID普通
sys_organizationOrganizationcreated_atDATETIME创建时间普通
sys_organizationOrganizationupdated_byBIGINT最后更新人账号 ID普通
sys_organizationOrganizationupdated_atDATETIME最后更新时间普通
sys_organizationOrganizationis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_organizationOrganizationdeleted_atDATETIME删除时间,未删除为空普通
sys_organizationOrganizationdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_organizationOrganizationversionINT乐观锁版本号,写操作必须校验普通
sys_organizationOrganizationorg_codeVARCHAR(64)组织编码,租户内唯一普通
sys_organizationOrganizationorg_nameVARCHAR(128)组织名称普通
sys_organizationOrganizationorg_typeVARCHAR(32)集团/区域/校区/部门/法人主体普通
sys_organizationOrganizationparent_idBIGINT上级组织 ID,根节点为空普通
sys_organizationOrganizationsort_noINT同级排序普通
sys_organizationOrganizationenabledTINYINT是否启用普通
sys_userUser/EmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_userUser/Employeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_userUser/Employeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_userUser/Employeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_userUser/Employeecreated_byBIGINT创建人账号 ID普通
sys_userUser/Employeecreated_atDATETIME创建时间普通
sys_userUser/Employeeupdated_byBIGINT最后更新人账号 ID普通
sys_userUser/Employeeupdated_atDATETIME最后更新时间普通
sys_userUser/Employeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_userUser/Employeedeleted_atDATETIME删除时间,未删除为空普通
sys_userUser/Employeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_userUser/EmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_userUser/Employeeuser_noVARCHAR(64)账号编号,唯一普通
sys_userUser/Employeelogin_nameVARCHAR(64)登录名,唯一普通
sys_userUser/EmployeemobileVARCHAR(32)手机号,敏感脱敏展示敏感
sys_userUser/Employeepassword_hashVARCHAR(255)密码哈希,禁止前端返回高敏
sys_userUser/Employeeuser_typeVARCHAR(32)员工/学员/家长/外部账号普通
sys_userUser/Employeelogin_statusVARCHAR(32)正常/锁定/停用/待激活普通
sys_employeeEmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_employeeEmployeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_employeeEmployeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_employeeEmployeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_employeeEmployeecreated_byBIGINT创建人账号 ID普通
sys_employeeEmployeecreated_atDATETIME创建时间普通
sys_employeeEmployeeupdated_byBIGINT最后更新人账号 ID普通
sys_employeeEmployeeupdated_atDATETIME最后更新时间普通
sys_employeeEmployeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_employeeEmployeedeleted_atDATETIME删除时间,未删除为空普通
sys_employeeEmployeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_employeeEmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_employeeEmployeeemployee_noVARCHAR(64)工号,唯一普通
sys_employeeEmployeeuser_idBIGINT关联账号 ID普通
sys_employeeEmployeeemployee_nameVARCHAR(64)员工姓名普通
sys_employeeEmployeeprimary_campus_idBIGINT主校区 ID普通
sys_employeeEmployeejob_titleVARCHAR(64)岗位名称普通
sys_employeeEmployeehire_statusVARCHAR(32)在职/试用/离职/停用普通
sys_roleRoleidBIGINT主键,雪花或号段生成,禁止复用普通
sys_roleRoletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_roleRoleorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_roleRolecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_roleRolecreated_byBIGINT创建人账号 ID普通
sys_roleRolecreated_atDATETIME创建时间普通
sys_roleRoleupdated_byBIGINT最后更新人账号 ID普通
sys_roleRoleupdated_atDATETIME最后更新时间普通
sys_roleRoleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_roleRoledeleted_atDATETIME删除时间,未删除为空普通
sys_roleRoledeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_roleRoleversionINT乐观锁版本号,写操作必须校验普通
sys_roleRolerole_codeVARCHAR(64)角色编码,唯一普通
sys_roleRolerole_nameVARCHAR(128)角色名称普通
sys_roleRolerole_levelVARCHAR(32)总部/区域/校区/个人普通
sys_roleRoledata_scope_typeVARCHAR(32)数据范围类型普通
sys_roleRoleenabledTINYINT是否启用普通
sys_approval_flowApprovalFlowidBIGINT主键,雪花或号段生成,禁止复用普通
sys_approval_flowApprovalFlowtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_approval_flowApprovalFloworg_idBIGINT所属组织,集团级或公共配置为空普通
sys_approval_flowApprovalFlowcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_approval_flowApprovalFlowcreated_byBIGINT创建人账号 ID普通
sys_approval_flowApprovalFlowcreated_atDATETIME创建时间普通
sys_approval_flowApprovalFlowupdated_byBIGINT最后更新人账号 ID普通
sys_approval_flowApprovalFlowupdated_atDATETIME最后更新时间普通
sys_approval_flowApprovalFlowis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_approval_flowApprovalFlowdeleted_atDATETIME删除时间,未删除为空普通
sys_approval_flowApprovalFlowdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_approval_flowApprovalFlowversionINT乐观锁版本号,写操作必须校验普通
sys_approval_flowApprovalFlowflow_codeVARCHAR(64)审批流编码,唯一普通
sys_approval_flowApprovalFlowbiz_typeVARCHAR(64)业务类型普通
sys_approval_flowApprovalFlowflow_nameVARCHAR(128)审批流名称普通
sys_approval_flowApprovalFlowcondition_jsonJSON触发条件普通
sys_approval_flowApprovalFlownode_jsonJSON节点、审批人和超时规则普通
sys_approval_flowApprovalFlowversion_noINT审批流版本号普通
sys_approval_flowApprovalFlowenabledTINYINT是否启用普通
sys_message_templateMessageTemplateidBIGINT主键,雪花或号段生成,禁止复用普通
sys_message_templateMessageTemplatetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_message_templateMessageTemplateorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_message_templateMessageTemplatecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_message_templateMessageTemplatecreated_byBIGINT创建人账号 ID普通
sys_message_templateMessageTemplatecreated_atDATETIME创建时间普通
sys_message_templateMessageTemplateupdated_byBIGINT最后更新人账号 ID普通
sys_message_templateMessageTemplateupdated_atDATETIME最后更新时间普通
sys_message_templateMessageTemplateis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_message_templateMessageTemplatedeleted_atDATETIME删除时间,未删除为空普通
sys_message_templateMessageTemplatedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_message_templateMessageTemplateversionINT乐观锁版本号,写操作必须校验普通
sys_message_templateMessageTemplatetemplate_codeVARCHAR(64)模板编码,唯一普通
sys_message_templateMessageTemplatetemplate_nameVARCHAR(128)模板名称普通
sys_message_templateMessageTemplatechannelVARCHAR(32)站内信/短信/微信小程序/企微/Push普通
sys_message_templateMessageTemplatereceiver_ruleJSON接收人规则普通
sys_message_templateMessageTemplatecontent_templateTEXT模板内容普通
sys_message_templateMessageTemplateenabledTINYINT是否启用普通
sys_audit_logAuditLogidBIGINT主键,雪花或号段生成,禁止复用普通
sys_audit_logAuditLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_audit_logAuditLogorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_audit_logAuditLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_audit_logAuditLogcreated_byBIGINT创建人账号 ID普通
sys_audit_logAuditLogcreated_atDATETIME创建时间普通
sys_audit_logAuditLogupdated_byBIGINT最后更新人账号 ID普通
sys_audit_logAuditLogupdated_atDATETIME最后更新时间普通
sys_audit_logAuditLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_audit_logAuditLogdeleted_atDATETIME删除时间,未删除为空普通
sys_audit_logAuditLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_audit_logAuditLogversionINT乐观锁版本号,写操作必须校验普通
sys_audit_logAuditLogoperator_idBIGINT操作人 ID普通
sys_audit_logAuditLogbiz_typeVARCHAR(64)业务类型普通
sys_audit_logAuditLogbiz_idBIGINT业务主键 ID普通
sys_audit_logAuditLogaction_codeVARCHAR(64)操作编码普通
sys_audit_logAuditLogbefore_snapshotJSON变更前快照普通
sys_audit_logAuditLogafter_snapshotJSON变更后快照普通
sys_audit_logAuditLogip_addressVARCHAR(64)操作 IP普通
int_integration_logIntegrationLogidBIGINT主键,雪花或号段生成,禁止复用普通
int_integration_logIntegrationLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
int_integration_logIntegrationLogorg_idBIGINT所属组织,集团级或公共配置为空普通
int_integration_logIntegrationLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
int_integration_logIntegrationLogcreated_byBIGINT创建人账号 ID普通
int_integration_logIntegrationLogcreated_atDATETIME创建时间普通
int_integration_logIntegrationLogupdated_byBIGINT最后更新人账号 ID普通
int_integration_logIntegrationLogupdated_atDATETIME最后更新时间普通
int_integration_logIntegrationLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
int_integration_logIntegrationLogdeleted_atDATETIME删除时间,未删除为空普通
int_integration_logIntegrationLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
int_integration_logIntegrationLogversionINT乐观锁版本号,写操作必须校验普通
int_integration_logIntegrationLogrequest_idVARCHAR(128)请求 ID,幂等键普通
int_integration_logIntegrationLogsystem_codeVARCHAR(64)外部系统编码普通
int_integration_logIntegrationLogapi_pathVARCHAR(512)接口路径普通
int_integration_logIntegrationLogbiz_typeVARCHAR(64)业务类型普通
int_integration_logIntegrationLogbiz_idBIGINT业务 ID普通
int_integration_logIntegrationLogrequest_payloadJSON请求报文,敏感字段脱敏敏感
int_integration_logIntegrationLogresponse_payloadJSON响应报文普通
int_integration_logIntegrationLogcall_statusVARCHAR(32)成功/失败/超时/重试中普通
sec_sensitive_field_policySensitiveFieldPolicyidBIGINT主键,雪花或号段生成,禁止复用普通
sec_sensitive_field_policySensitiveFieldPolicytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sec_sensitive_field_policySensitiveFieldPolicyorg_idBIGINT所属组织,集团级或公共配置为空普通
sec_sensitive_field_policySensitiveFieldPolicycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sec_sensitive_field_policySensitiveFieldPolicycreated_byBIGINT创建人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicycreated_atDATETIME创建时间普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_byBIGINT最后更新人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_atDATETIME最后更新时间普通
sec_sensitive_field_policySensitiveFieldPolicyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_atDATETIME删除时间,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_byBIGINT删除人账号 ID,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicyversionINT乐观锁版本号,写操作必须校验普通
sec_sensitive_field_policySensitiveFieldPolicyfield_codeVARCHAR(128)字段编码,唯一普通
sec_sensitive_field_policySensitiveFieldPolicybiz_typeVARCHAR(64)业务类型普通
sec_sensitive_field_policySensitiveFieldPolicymask_ruleVARCHAR(64)脱敏规则普通
sec_sensitive_field_policySensitiveFieldPolicyview_requires_approvalTINYINT明文查看是否需审批普通
sec_sensitive_field_policySensitiveFieldPolicywatermark_requiredTINYINT是否加水印普通
patrol_quality_scoreTeachingQualityScoreidBIGINT主键,雪花或号段生成,禁止复用普通
patrol_quality_scoreTeachingQualityScoretenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
patrol_quality_scoreTeachingQualityScoreorg_idBIGINT所属组织,集团级或公共配置为空普通
patrol_quality_scoreTeachingQualityScorecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
patrol_quality_scoreTeachingQualityScorecreated_byBIGINT创建人账号 ID普通
patrol_quality_scoreTeachingQualityScorecreated_atDATETIME创建时间普通
patrol_quality_scoreTeachingQualityScoreupdated_byBIGINT最后更新人账号 ID普通
patrol_quality_scoreTeachingQualityScoreupdated_atDATETIME最后更新时间普通
patrol_quality_scoreTeachingQualityScoreis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
patrol_quality_scoreTeachingQualityScoredeleted_atDATETIME删除时间,未删除为空普通
patrol_quality_scoreTeachingQualityScoredeleted_byBIGINT删除人账号 ID,未删除为空普通
patrol_quality_scoreTeachingQualityScoreversionINT乐观锁版本号,写操作必须校验普通
patrol_quality_scoreTeachingQualityScorescore_noVARCHAR(64)评分编号,唯一普通
patrol_quality_scoreTeachingQualityScorepatrol_record_idBIGINT巡课记录 ID普通
patrol_quality_scoreTeachingQualityScoreteacher_idBIGINT教师 ID普通
patrol_quality_scoreTeachingQualityScorestudent_dimension_jsonJSON学生维度评分普通
patrol_quality_scoreTeachingQualityScoreteacher_dimension_jsonJSON教师维度评分普通
patrol_quality_scoreTeachingQualityScoretotal_scoreDECIMAL(6,2)综合得分普通
patrol_quality_scoreTeachingQualityScorescore_statusVARCHAR(32)草稿/已提交/已复核/已驳回普通
live_recording_fileLiveRecordingidBIGINT主键,雪花或号段生成,禁止复用普通
live_recording_fileLiveRecordingtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
live_recording_fileLiveRecordingorg_idBIGINT所属组织,集团级或公共配置为空普通
live_recording_fileLiveRecordingcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
live_recording_fileLiveRecordingcreated_byBIGINT创建人账号 ID普通
live_recording_fileLiveRecordingcreated_atDATETIME创建时间普通
live_recording_fileLiveRecordingupdated_byBIGINT最后更新人账号 ID普通
live_recording_fileLiveRecordingupdated_atDATETIME最后更新时间普通
live_recording_fileLiveRecordingis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
live_recording_fileLiveRecordingdeleted_atDATETIME删除时间,未删除为空普通
live_recording_fileLiveRecordingdeleted_byBIGINT删除人账号 ID,未删除为空普通
live_recording_fileLiveRecordingversionINT乐观锁版本号,写操作必须校验普通
live_recording_fileLiveRecordinglive_room_idBIGINT直播间 ID普通
live_recording_fileLiveRecordingprovider_record_idVARCHAR(128)供应商录制 ID普通
live_recording_fileLiveRecordingrecording_statusVARCHAR(32)录制中/转码中/可播放/失败/已过期普通
live_recording_fileLiveRecordingreplay_urlVARCHAR(512)回放地址普通
live_recording_fileLiveRecordingstorage_locationVARCHAR(512)供应商 OSS/COS/Kodo 存储位置普通
live_recording_fileLiveRecordingdurationINT时长秒数普通
live_recording_fileLiveRecordingretention_untilDATETIME保留到期时间普通
res_learning_resourceLearningResourceidBIGINT主键,雪花或号段生成,禁止复用普通
res_learning_resourceLearningResourcetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
res_learning_resourceLearningResourceorg_idBIGINT所属组织,集团级或公共配置为空普通
res_learning_resourceLearningResourcecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
res_learning_resourceLearningResourcecreated_byBIGINT创建人账号 ID普通
res_learning_resourceLearningResourcecreated_atDATETIME创建时间普通
res_learning_resourceLearningResourceupdated_byBIGINT最后更新人账号 ID普通
res_learning_resourceLearningResourceupdated_atDATETIME最后更新时间普通
res_learning_resourceLearningResourceis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
res_learning_resourceLearningResourcedeleted_atDATETIME删除时间,未删除为空普通
res_learning_resourceLearningResourcedeleted_byBIGINT删除人账号 ID,未删除为空普通
res_learning_resourceLearningResourceversionINT乐观锁版本号,写操作必须校验普通
res_learning_resourceLearningResourceresource_noVARCHAR(64)资源编号,唯一普通
res_learning_resourceLearningResourceresource_nameVARCHAR(128)资源名称普通
res_learning_resourceLearningResourceresource_typeVARCHAR(32)课件/视频/音频/题库/文章/试卷普通
res_learning_resourceLearningResourcecategory_idBIGINT资源分类普通
res_learning_resourceLearningResourcefile_idBIGINT文件 ID普通
res_learning_resourceLearningResourcepublish_statusVARCHAR(32)草稿/审核中/已发布/已下架普通

JSON 字段结构与校验

表名对象字段结构编码结构定义校验规则示例
kb_categoryKnowledgeCategorymaterial_typesGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
kb_training_courseKnowledgeCoursetarget_rolesGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
kb_training_courseKnowledgeCoursecourse_contentRESOURCE_VERSION{fileIds:number[], checksum:string, publishAt:string, authorId:number}发布后版本文件不可直接覆盖,只能新增版本{"fileIds":[8001],"checksum":"sha256:abc"}
kb_examTrainingExampaper_schemaPAPER_SCHEMA{sections:[{title:string, questionIds:number[], score:number}], randomRule?:object, durationMinutes:number}题目必须来自已发布题库版本;分值总和等于试卷总分{"sections":[{"title":"听力","questionIds":[1,2],"score":20}],"durationMinutes":45}
kb_exam_attemptTrainingExamAttemptanswer_payloadSUPERVISION_PAYLOAD{bizType:string, contractNo:string, amount:number, student:object, attachments:number[]}报送字段必须满足教育局/监管账户配置的必填规则{"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800}

状态/枚举标准字典

表名对象字段枚举编码取值终态/流转规则字段说明
kb_categoryKnowledgeCategorytenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
kb_categoryKnowledgeCategoryis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
kb_categoryKnowledgeCategoryenabledENABLED_STATUS0 停用、1 启用非终态,可按状态机或字典规则流转是否启用
kb_materialKnowledgeMaterialtenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
kb_materialKnowledgeMaterialis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
kb_materialKnowledgeMaterialmaterial_typeMATERIAL_TYPE文档、视频、音频、课件、案例非终态,可按状态机或字典规则流转文档/视频/音频/课件/案例
kb_materialKnowledgeMaterialpublish_statusPUBLISH_STATUSDRAFT 草稿、PUBLISHING 发布中、PUBLISHED 已发布、FAILED 发布失败、OFFLINE 已下线、ARCHIVED 已归档包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程草稿/已发布/已下架
kb_training_courseKnowledgeCoursetenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
kb_training_courseKnowledgeCourseis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
kb_training_courseKnowledgeCoursetarget_rolesTARGET_ROLES适用岗位、角色非终态,可按状态机或字典规则流转适用岗位/角色
kb_training_courseKnowledgeCoursecourse_statusCOURSE_STATUS草稿、已发布、已下架非终态,可按状态机或字典规则流转草稿/已发布/已下架
kb_learning_taskTrainingLearningTasktenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
kb_learning_taskTrainingLearningTaskis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
kb_learning_taskTrainingLearningTasklearning_statusLEARNING_STATUSNOT_STARTED 未开始、IN_PROGRESS 进行中、COMPLETED 已完成、OVERDUE 逾期非终态,可按状态机或字典规则流转未开始/学习中/已完成/逾期
kb_examTrainingExamtenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
kb_examTrainingExamis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
kb_examTrainingExamexam_statusEXAM_STATUS草稿、已发布、已结束包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程草稿/已发布/已结束
kb_exam_attemptTrainingExamAttempttenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
kb_exam_attemptTrainingExamAttemptis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
kb_exam_attemptTrainingExamAttemptpass_statusPASS_STATUS待评分、通过、未通过非终态,可按状态机或字典规则流转待评分/通过/未通过

敏感字段与数据安全策略

来源表名对象字段数据级别脱敏/返回策略明文查看条件导出策略审计要求端侧展示规则
本模块对象kb_exam_attemptTrainingExamAttemptanswer_payload普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象sys_userUser/Employeemobile敏感MOBILE_MASK默认展示 138****0000;明文查看需字段权限或敏感字段查看审批导出手机号必须触发导出审批、下载水印和有效期控制明文查看、复制、导出和批量下载均写入 SensitiveAccessLogPC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息
引用对象sys_userUser/Employeepassword_hash高敏NEVER_RETURN禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用禁止导出;配置导出只允许导出脱敏引用和启停状态配置新增、修改、启停、轮换和失败读取均记录安全审计前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值
引用对象int_integration_logIntegrationLogrequest_payload敏感PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象int_integration_logIntegrationLogresponse_payload普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象sec_sensitive_field_policySensitiveFieldPolicymask_rule普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则

核心数据表完整字段

表名对象字段类型必填规则数据级别
kb_categoryKnowledgeCategoryidBIGINT主键,雪花或号段生成,禁止复用普通
kb_categoryKnowledgeCategorytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
kb_categoryKnowledgeCategoryorg_idBIGINT所属组织,集团级或公共配置为空普通
kb_categoryKnowledgeCategorycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
kb_categoryKnowledgeCategorycreated_byBIGINT创建人账号 ID普通
kb_categoryKnowledgeCategorycreated_atDATETIME创建时间普通
kb_categoryKnowledgeCategoryupdated_byBIGINT最后更新人账号 ID普通
kb_categoryKnowledgeCategoryupdated_atDATETIME最后更新时间普通
kb_categoryKnowledgeCategoryis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
kb_categoryKnowledgeCategorydeleted_atDATETIME删除时间,未删除为空普通
kb_categoryKnowledgeCategorydeleted_byBIGINT删除人账号 ID,未删除为空普通
kb_categoryKnowledgeCategoryversionINT乐观锁版本号,写操作必须校验普通
kb_categoryKnowledgeCategorycategory_codeVARCHAR(64)分类编码,唯一普通
kb_categoryKnowledgeCategorycategory_nameVARCHAR(128)分类名称普通
kb_categoryKnowledgeCategoryparent_idBIGINT上级分类普通
kb_categoryKnowledgeCategorymaterial_typesJSON分类下资料类型普通
kb_categoryKnowledgeCategorysort_noINT排序普通
kb_categoryKnowledgeCategoryenabledTINYINT是否启用普通
kb_materialKnowledgeMaterialidBIGINT主键,雪花或号段生成,禁止复用普通
kb_materialKnowledgeMaterialtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
kb_materialKnowledgeMaterialorg_idBIGINT所属组织,集团级或公共配置为空普通
kb_materialKnowledgeMaterialcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
kb_materialKnowledgeMaterialcreated_byBIGINT创建人账号 ID普通
kb_materialKnowledgeMaterialcreated_atDATETIME创建时间普通
kb_materialKnowledgeMaterialupdated_byBIGINT最后更新人账号 ID普通
kb_materialKnowledgeMaterialupdated_atDATETIME最后更新时间普通
kb_materialKnowledgeMaterialis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
kb_materialKnowledgeMaterialdeleted_atDATETIME删除时间,未删除为空普通
kb_materialKnowledgeMaterialdeleted_byBIGINT删除人账号 ID,未删除为空普通
kb_materialKnowledgeMaterialversionINT乐观锁版本号,写操作必须校验普通
kb_materialKnowledgeMaterialmaterial_noVARCHAR(64)资料编号,唯一普通
kb_materialKnowledgeMaterialcategory_idBIGINT分类 ID普通
kb_materialKnowledgeMaterialmaterial_nameVARCHAR(128)资料名称普通
kb_materialKnowledgeMaterialmaterial_typeVARCHAR(32)文档/视频/音频/课件/案例普通
kb_materialKnowledgeMaterialfile_idBIGINT文件 ID普通
kb_materialKnowledgeMaterialpublish_statusVARCHAR(32)草稿/已发布/已下架普通
kb_training_courseKnowledgeCourseidBIGINT主键,雪花或号段生成,禁止复用普通
kb_training_courseKnowledgeCoursetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
kb_training_courseKnowledgeCourseorg_idBIGINT所属组织,集团级或公共配置为空普通
kb_training_courseKnowledgeCoursecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
kb_training_courseKnowledgeCoursecreated_byBIGINT创建人账号 ID普通
kb_training_courseKnowledgeCoursecreated_atDATETIME创建时间普通
kb_training_courseKnowledgeCourseupdated_byBIGINT最后更新人账号 ID普通
kb_training_courseKnowledgeCourseupdated_atDATETIME最后更新时间普通
kb_training_courseKnowledgeCourseis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
kb_training_courseKnowledgeCoursedeleted_atDATETIME删除时间,未删除为空普通
kb_training_courseKnowledgeCoursedeleted_byBIGINT删除人账号 ID,未删除为空普通
kb_training_courseKnowledgeCourseversionINT乐观锁版本号,写操作必须校验普通
kb_training_courseKnowledgeCoursecourse_noVARCHAR(64)培训课程编号,唯一普通
kb_training_courseKnowledgeCoursecourse_nameVARCHAR(128)培训课程名称普通
kb_training_courseKnowledgeCoursecategory_idBIGINT分类 ID普通
kb_training_courseKnowledgeCoursetarget_rolesJSON适用岗位/角色普通
kb_training_courseKnowledgeCoursecourse_contentJSON章节与资料普通
kb_training_courseKnowledgeCoursecourse_statusVARCHAR(32)草稿/已发布/已下架普通
kb_learning_taskTrainingLearningTaskidBIGINT主键,雪花或号段生成,禁止复用普通
kb_learning_taskTrainingLearningTasktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
kb_learning_taskTrainingLearningTaskorg_idBIGINT所属组织,集团级或公共配置为空普通
kb_learning_taskTrainingLearningTaskcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
kb_learning_taskTrainingLearningTaskcreated_byBIGINT创建人账号 ID普通
kb_learning_taskTrainingLearningTaskcreated_atDATETIME创建时间普通
kb_learning_taskTrainingLearningTaskupdated_byBIGINT最后更新人账号 ID普通
kb_learning_taskTrainingLearningTaskupdated_atDATETIME最后更新时间普通
kb_learning_taskTrainingLearningTaskis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
kb_learning_taskTrainingLearningTaskdeleted_atDATETIME删除时间,未删除为空普通
kb_learning_taskTrainingLearningTaskdeleted_byBIGINT删除人账号 ID,未删除为空普通
kb_learning_taskTrainingLearningTaskversionINT乐观锁版本号,写操作必须校验普通
kb_learning_taskTrainingLearningTasktask_noVARCHAR(64)学习任务编号,唯一普通
kb_learning_taskTrainingLearningTaskcourse_idBIGINT培训课程 ID普通
kb_learning_taskTrainingLearningTaskemployee_idBIGINT员工 ID普通
kb_learning_taskTrainingLearningTaskassigned_byBIGINT指派人普通
kb_learning_taskTrainingLearningTaskdeadline_atDATETIME截止时间普通
kb_learning_taskTrainingLearningTasklearning_statusVARCHAR(32)未开始/学习中/已完成/逾期普通
kb_examTrainingExamidBIGINT主键,雪花或号段生成,禁止复用普通
kb_examTrainingExamtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
kb_examTrainingExamorg_idBIGINT所属组织,集团级或公共配置为空普通
kb_examTrainingExamcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
kb_examTrainingExamcreated_byBIGINT创建人账号 ID普通
kb_examTrainingExamcreated_atDATETIME创建时间普通
kb_examTrainingExamupdated_byBIGINT最后更新人账号 ID普通
kb_examTrainingExamupdated_atDATETIME最后更新时间普通
kb_examTrainingExamis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
kb_examTrainingExamdeleted_atDATETIME删除时间,未删除为空普通
kb_examTrainingExamdeleted_byBIGINT删除人账号 ID,未删除为空普通
kb_examTrainingExamversionINT乐观锁版本号,写操作必须校验普通
kb_examTrainingExamexam_noVARCHAR(64)考试编号,唯一普通
kb_examTrainingExamcourse_idBIGINT关联培训课程普通
kb_examTrainingExamexam_nameVARCHAR(128)考试名称普通
kb_examTrainingExampaper_schemaJSON试卷结构普通
kb_examTrainingExampass_scoreDECIMAL(6,2)及格分普通
kb_examTrainingExamexam_statusVARCHAR(32)草稿/已发布/已结束普通
kb_exam_attemptTrainingExamAttemptidBIGINT主键,雪花或号段生成,禁止复用普通
kb_exam_attemptTrainingExamAttempttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
kb_exam_attemptTrainingExamAttemptorg_idBIGINT所属组织,集团级或公共配置为空普通
kb_exam_attemptTrainingExamAttemptcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
kb_exam_attemptTrainingExamAttemptcreated_byBIGINT创建人账号 ID普通
kb_exam_attemptTrainingExamAttemptcreated_atDATETIME创建时间普通
kb_exam_attemptTrainingExamAttemptupdated_byBIGINT最后更新人账号 ID普通
kb_exam_attemptTrainingExamAttemptupdated_atDATETIME最后更新时间普通
kb_exam_attemptTrainingExamAttemptis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
kb_exam_attemptTrainingExamAttemptdeleted_atDATETIME删除时间,未删除为空普通
kb_exam_attemptTrainingExamAttemptdeleted_byBIGINT删除人账号 ID,未删除为空普通
kb_exam_attemptTrainingExamAttemptversionINT乐观锁版本号,写操作必须校验普通
kb_exam_attemptTrainingExamAttemptattempt_noVARCHAR(64)答题编号,唯一普通
kb_exam_attemptTrainingExamAttemptexam_idBIGINT考试 ID普通
kb_exam_attemptTrainingExamAttemptemployee_idBIGINT员工 ID普通
kb_exam_attemptTrainingExamAttemptanswer_payloadJSON答题内容普通
kb_exam_attemptTrainingExamAttemptscoreDECIMAL(6,2)得分普通
kb_exam_attemptTrainingExamAttemptpass_statusVARCHAR(32)待评分/通过/未通过普通

数据表与对象映射

表名对象用途完整字段索引建议
kb_categoryKnowledgeCategory知识库课程分类和资料类型id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、category_code(VARCHAR(64),必填)、category_name(VARCHAR(128),必填)、parent_id(BIGINT)、material_types(JSON)、sort_no(INT)、enabled(TINYINT,必填)uk_category_code、idx_parent
kb_materialKnowledgeMaterial员工培训资料和素材库id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、material_no(VARCHAR(64),必填)、category_id(BIGINT,必填)、material_name(VARCHAR(128),必填)、material_type(VARCHAR(32),必填)、file_id(BIGINT)、publish_status(VARCHAR(32),必填)uk_material_no、idx_category_status
kb_training_courseKnowledgeCourse教师培训课程id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、course_no(VARCHAR(64),必填)、course_name(VARCHAR(128),必填)、category_id(BIGINT,必填)、target_roles(JSON,必填)、course_content(JSON,必填)、course_status(VARCHAR(32),必填)uk_course_no、idx_category_status
kb_learning_taskTrainingLearningTask员工学习任务id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、task_no(VARCHAR(64),必填)、course_id(BIGINT,必填)、employee_id(BIGINT,必填)、assigned_by(BIGINT,必填)、deadline_at(DATETIME)、learning_status(VARCHAR(32),必填)uk_task_no、idx_employee_status
kb_examTrainingExam员工培训考试id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、exam_no(VARCHAR(64),必填)、course_id(BIGINT)、exam_name(VARCHAR(128),必填)、paper_schema(JSON,必填)、pass_score(DECIMAL(6,2),必填)、exam_status(VARCHAR(32),必填)uk_exam_no、idx_course_status
kb_exam_attemptTrainingExamAttempt考试答题和成绩id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、attempt_no(VARCHAR(64),必填)、exam_id(BIGINT,必填)、employee_id(BIGINT,必填)、answer_payload(JSON,必填)、score(DECIMAL(6,2))、pass_status(VARCHAR(32),必填)uk_attempt_no、idx_exam_employee

12 · 状态机与业务规则

约束业务对象如何流转、何时可编辑、何时触发审批

原型需要把状态标签、可操作按钮和禁用原因展示清楚。
对象状态触发与说明
员工培训未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训计划发布、学习进度、考试成绩、补考复训和学习档案归档
回放发布访问待发布 -> 已发布 -> 已下架 -> 已过期 -> 无权限 -> 访问异常回放生成、范围发布、鉴权访问、下架、过期和异常处理
回放补传替换录制失败 -> 待补传 -> 审核中 -> 已发布 -> 替换中 -> 已替换 -> 已通知 -> 已驳回 -> 已下架录制失败或回放损坏后人工补传、审核、版本替换、通知和学习记录处理
督课评分规则版本草稿 -> 待审核 -> 已发布 -> 已生效 -> 已停用 -> 已归档评分维度、权重和生效范围配置后审批发布,历史评分按版本追溯
题库资源版本快照草稿 -> 已发布 -> 已引用 -> 已冻结 -> 已下架 -> 历史可追溯题目、试卷、资源发布后形成引用快照,历史答题按快照展示
工资条撤回重发已发布 -> 撤回中 -> 已撤回 -> 重发待审核 -> 已重发 -> 待重新确认 -> 已确认 -> 已归档工资条发布错误后撤回、重发、员工重新确认和版本留痕
唯一性校验

知识库与教师培训中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

跨校区数据隔离

知识库与教师培训中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

敏感操作留痕

知识库与教师培训中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

外部接口幂等

知识库与教师培训中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

批量失败明细

知识库与教师培训中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

状态回退审批

知识库与教师培训中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

13 · 权限、审批与消息

动作权限、数据范围、审批触发和消息触达必须闭环

权限需要覆盖菜单、按钮、字段、接口和导出。

动作权限

  • 配置分类:需映射菜单、按钮、接口和字段权限
  • 上传素材:需映射菜单、按钮、接口和字段权限
  • 发布培训:需映射菜单、按钮、接口和字段权限
  • 在线考试:需映射菜单、按钮、接口和字段权限
  • 补训安排:需映射菜单、按钮、接口和字段权限
  • 统计档案:需映射菜单、按钮、接口和字段权限

数据范围

  • 总部全量
  • 区域辖区
  • 校区本地
  • 部门/岗位
  • 本人负责
  • 授权班级/学员

审批配置

审批名称触发条件流程结果留痕
录像调取审批非巡课任务内调取历史录像或导出重点片段申请人 -> 校长/区域负责人 -> 数据管理员授权限时查看、导出或驳回记录调取原因、录像范围、查看人和下载日志
薪资审批月度薪资批次生成后人事核算 -> 校长确认 -> 财务复核 -> 总部终审工资条发布并生成凭证保留规则版本和计算明细
活码外部资源审批活码跳转外部链接或公开资源教研提交 -> 品牌负责人审核发布或下架活码规则记录资源版本和访问范围
培训课程发布审批面向全员、跨校区或涉及制度类培训内容人事/教研提交 -> 部门负责人 -> 总部审核发布培训计划或退回修改记录适用岗位、资料版本和考试规则
系统节日模板上架审批新增或调整 24 节气、传统节日等系统内置模板设计/市场 -> 品牌审核 -> 总部管理员通过后上架到模板库并可被活动创建引用保留模板版本、素材版权、适用范围和上下架记录
转班转课审批涉及补差、退差、跨校区、班级容量例外或优惠反算课程顾问/教务 -> 校长 -> 财务通过后调整权益、课表和收退差任务保留测算版本、家长确认和生效记录
指标口径变更审批指标公式、阈值、数据源或刷新频率变更指标负责人 -> 数据管理员 -> 业务负责人通过后生成新口径版本并通知订阅人保留变更前后口径、影响范围和回滚方案
回放补传替换审批录制失败、转码失败或已发布回放需要人工替换教务/直播运营 -> 教学负责人 -> 数据安全复核通过后替换回放版本并通知受影响用户保留原回放、补传文件、审核意见和访问影响

消息模板

消息接收人触发渠道变量
培训任务通知员工/直属主管培训计划发布或即将到期站内信、App、微信小程序培训名称、截止时间、必修状态、学习入口
作业草稿冲突提醒学员多端编辑版本冲突或服务端作业内容已更新小程序、App、站内信作业、冲突类型、恢复入口
直播回放发布变更学员/家长/教师/员工回放发布、下架、过期或权限变更小程序、App、站内信直播标题、回放状态、有效期
回放补传替换通知学员/家长/教师/教务回放补传成功、替换、下架或学习进度处理完成小程序、App、站内信直播标题、回放版本、有效期、补看入口
督课规则版本通知督导/教师/校长/总部教研评分规则发布、停用、申诉追溯或权重调整站内信、App规则版本、生效范围、影响时间
题库快照异常通知教研/教师/培训负责人题目版本缺失、试卷快照失败、历史答题引用异常站内信、App题目、试卷、任务、异常原因
工资条撤回重发通知教师/员工/人事工资条撤回、重发、需重新确认或版本归档小程序、App、站内信薪资月份、版本号、确认截止时间

14 · 接口与技术细节

接口需支持幂等、权限、审计、重试和回执

每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。
接口方法方向请求字段响应字段幂等/权限
/api/v1/knowledge/coursesPOST/GETPC Web 到知识库categoryId, materialType, title, publishScopecourseId, versionNo, publishStatus分类与资料类型校验
/api/v1/training/plansPOST/GETPC Web 到培训中心planName, targetRoles, courseIds, examRuleplanId, publishStatus, learnerCount同周期计划去重
/api/v1/training/exams/{id}/submitPOST员工端到培训中心examId, answers, requestIdscore, passStatus, certificateIdrequestId 幂等
/api/v1/live/meetings/{id}/archivePOST会议直播到知识库roomId, replayId, materialId, scopearchiveId, publishStatusreplayId 幂等

前端约束

  • 统一登录态和租户校区上下文
  • 列表分页、筛选、排序、列显隐
  • 表单本地校验与服务端错误映射
  • 移动/平板/TV 按终端适配交互

后端约束

  • 领域服务封装业务规则
  • 写操作事务一致性
  • 关键操作审计快照
  • 异步任务失败重试和告警

集成约束

  • 第三方接口统一走开放集成中心
  • 回执文件归档
  • 接口日志可按业务单号追踪
  • 密钥和回调地址按环境隔离

15 · 数据库与存储设计

核心表建议、关键字段和索引方向

详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。
表名用途核心字段索引建议
kb_category知识库课程分类和资料类型id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、category_code、category_name、parent_id、material_types、sort_no、enableduk_category_code、idx_parent
kb_material员工培训资料和素材库id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、material_no、category_id、material_name、material_type、file_id、publish_statusuk_material_no、idx_category_status
kb_training_course教师培训课程id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、course_no、course_name、category_id、target_roles、course_content、course_statusuk_course_no、idx_category_status
kb_learning_task员工学习任务id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、task_no、course_id、employee_id、assigned_by、deadline_at、learning_statusuk_task_no、idx_employee_status
kb_exam员工培训考试id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、exam_no、course_id、exam_name、paper_schema、pass_score、exam_statusuk_exam_no、idx_course_status
kb_exam_attempt考试答题和成绩id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、attempt_no、exam_id、employee_id、answer_payload、score、pass_statusuk_attempt_no、idx_exam_employee

DDL 草案

kb_categoryKnowledgeCategory
CREATE TABLE `kb_category` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `category_code` VARCHAR(64) NOT NULL COMMENT '分类编码,唯一;数据级别:普通',
  `category_name` VARCHAR(128) NOT NULL COMMENT '分类名称;数据级别:普通',
  `parent_id` BIGINT NULL COMMENT '上级分类;数据级别:普通',
  `material_types` JSON NULL COMMENT '分类下资料类型;数据级别:普通',
  `sort_no` INT NULL COMMENT '排序;数据级别:普通',
  `enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_category_code` (`category_code`),
  KEY `idx_parent` (`parent_id`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='KnowledgeCategory:知识库课程分类和资料类型';
kb_materialKnowledgeMaterial
CREATE TABLE `kb_material` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `material_no` VARCHAR(64) NOT NULL COMMENT '资料编号,唯一;数据级别:普通',
  `category_id` BIGINT NOT NULL COMMENT '分类 ID;数据级别:普通',
  `material_name` VARCHAR(128) NOT NULL COMMENT '资料名称;数据级别:普通',
  `material_type` VARCHAR(32) NOT NULL COMMENT '文档/视频/音频/课件/案例;数据级别:普通',
  `file_id` BIGINT NULL COMMENT '文件 ID;数据级别:普通',
  `publish_status` VARCHAR(32) NOT NULL COMMENT '草稿/已发布/已下架;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_material_no` (`material_no`),
  KEY `idx_category_status` (`category_id`, `publish_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='KnowledgeMaterial:员工培训资料和素材库';
kb_training_courseKnowledgeCourse
CREATE TABLE `kb_training_course` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `course_no` VARCHAR(64) NOT NULL COMMENT '培训课程编号,唯一;数据级别:普通',
  `course_name` VARCHAR(128) NOT NULL COMMENT '培训课程名称;数据级别:普通',
  `category_id` BIGINT NOT NULL COMMENT '分类 ID;数据级别:普通',
  `target_roles` JSON NOT NULL COMMENT '适用岗位/角色;数据级别:普通',
  `course_content` JSON NOT NULL COMMENT '章节与资料;数据级别:普通',
  `course_status` VARCHAR(32) NOT NULL COMMENT '草稿/已发布/已下架;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_course_no` (`course_no`),
  KEY `idx_category_status` (`category_id`, `course_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='KnowledgeCourse:教师培训课程';
kb_learning_taskTrainingLearningTask
CREATE TABLE `kb_learning_task` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `task_no` VARCHAR(64) NOT NULL COMMENT '学习任务编号,唯一;数据级别:普通',
  `course_id` BIGINT NOT NULL COMMENT '培训课程 ID;数据级别:普通',
  `employee_id` BIGINT NOT NULL COMMENT '员工 ID;数据级别:普通',
  `assigned_by` BIGINT NOT NULL COMMENT '指派人;数据级别:普通',
  `deadline_at` DATETIME NULL COMMENT '截止时间;数据级别:普通',
  `learning_status` VARCHAR(32) NOT NULL COMMENT '未开始/学习中/已完成/逾期;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_task_no` (`task_no`),
  KEY `idx_employee_status` (`employee_id`, `learning_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TrainingLearningTask:员工学习任务';
kb_examTrainingExam
CREATE TABLE `kb_exam` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `exam_no` VARCHAR(64) NOT NULL COMMENT '考试编号,唯一;数据级别:普通',
  `course_id` BIGINT NULL COMMENT '关联培训课程;数据级别:普通',
  `exam_name` VARCHAR(128) NOT NULL COMMENT '考试名称;数据级别:普通',
  `paper_schema` JSON NOT NULL COMMENT '试卷结构;数据级别:普通',
  `pass_score` DECIMAL(6,2) NOT NULL COMMENT '及格分;数据级别:普通',
  `exam_status` VARCHAR(32) NOT NULL COMMENT '草稿/已发布/已结束;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_exam_no` (`exam_no`),
  KEY `idx_course_status` (`course_id`, `exam_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TrainingExam:员工培训考试';
kb_exam_attemptTrainingExamAttempt
CREATE TABLE `kb_exam_attempt` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `attempt_no` VARCHAR(64) NOT NULL COMMENT '答题编号,唯一;数据级别:普通',
  `exam_id` BIGINT NOT NULL COMMENT '考试 ID;数据级别:普通',
  `employee_id` BIGINT NOT NULL COMMENT '员工 ID;数据级别:普通',
  `answer_payload` JSON NOT NULL COMMENT '答题内容;数据级别:普通',
  `score` DECIMAL(6,2) NULL COMMENT '得分;数据级别:普通',
  `pass_status` VARCHAR(32) NOT NULL COMMENT '待评分/通过/未通过;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_attempt_no` (`attempt_no`),
  KEY `idx_exam_employee` (`exam_id`, `employee_id`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TrainingExamAttempt:考试答题和成绩';

16 · 异常、指标、测试与初始化

保证模块上线后可运营、可追踪、可验收

测试要覆盖主流程、异常流、权限流、接口失败和数据一致性。

异常状态

培训逾期考试未通过资料权限不足题目版本缺失试卷快照损坏

指标埋点

培训学习完成率考试通过率补训完成率素材下载量学习档案完整率

测试用例

编号场景前置步骤预期优先级
TC-012合同到期资源自动失效合同有效期已过学员访问课程资源提示权限过期,不再播放资源
TC-020移动端兼容检查准备家长小程序/H5、学员小程序、iPhone、iPad、安卓 App 环境分别登录家长端和学员端执行核心学习、缴费、授权、审批流程两个端的首页、权限、任务和通知互不混淆,关键操作可完成
TC-022字段脱敏与明文查看用户具备普通客户权限但无明文权限打开客户详情并尝试查看手机号手机号脱敏,查看明文需审批或授权留痕
TC-023按钮权限控制顾问账号无退费审批权限进入退费单详情可查看授权数据但不可审批
TC-024无权限页面状态学员账号访问管理后台 URL直接访问页面地址展示无权限状态且不泄露数据
TC-036首页驾驶舱指标下钻总部账号登录且有数据点击实收、课消、利润指标可下钻到对应明细且权限过滤正确
TC-037知识库课程分类与资料类型管理员已创建培训分类新增资料类型并上传素材分类下可检索对应资料,权限和版本记录正确
TC-038员工培训计划学习闭环培训计划已发布并分配员工员工打开培训、完成资料学习、提交考试学习进度、考试成绩和员工培训档案完整
TC-039考试未通过自动补训考试通过线已配置员工考试分数低于通过线系统生成补考/复训任务并通知员工和主管
TC-041地图监控与直播巡课摄像头在线且账号具备巡课权限在地图中定位校区教室并打开多画面直播直播画面可打开,权限过滤正确,巡课访问留痕
TC-KBT-ENH-001培训体系交付闭环验收知识库、培训计划、考试中心、学习档案相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐分类配置、资料上传、培训计划、学习任务、考试、补考、成绩复核和档案归档。执行前端提交、后端处理、状态流转、异常重试和消息触达员工培训从分配到通过或补训均有状态闭环。;同时产生审计日志、指标埋点和必要的补偿任务
TC-KBT-ENH-002考试快照交付闭环验收题库版本、考试详情、成绩复核相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐试卷快照、抽题策略、补考次数、考试超时和成绩复核。执行前端提交、后端处理、状态流转、异常重试和消息触达任一历史成绩能还原当时题目和评分规则。;同时产生审计日志、指标埋点和必要的补偿任务
TC-KBT-ENH-003直播归档交付闭环验收会议直播归档、培训资料详情相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐会议直播录制、回放审核、转为培训资料、学习任务和观看记录。执行前端提交、后端处理、状态流转、异常重试和消息触达会议回放可转为培训素材并纳入员工学习记录。;同时产生审计日志、指标埋点和必要的补偿任务

上线初始化

初始化项动作数据验收
组织与校区导入集团、品牌、法人主体、区域、校区、部门、岗位总部组织树、校区编码、法人关系、营业时间组织层级正确且权限可继承
账号与权限初始化总部、区域、校区、顾问、教务、教师、财务、家长、学员角色账号、角色、菜单、按钮、字段、数据范围测试账号可按角色访问指定页面
督课评分初始化教学质量评分维度、权重、低分阈值、复核规则和申诉规则学生维度、教师维度、课堂过程维度、学习结果维度、评分规则版本指定课次可生成质量分并进入复核或整改闭环
教研资源导入首批课程资源、题库、作业、测评和活码规则资源分类、课次、权限、有效期、版本学员端可按权益访问资源
知识库培训初始化知识库分类、资料类型、培训课程、考试规则和岗位能力学习分类目录、资料类型、必修课程、题库、学习档案规则员工可按岗位收到培训任务并完成考试
积分商城配置积分规则、礼品 SKU、兑换积分、核销校区和库存联动积分来源、积分有效期、礼品库存、兑换规则、核销权限学员兑换后可锁库,前台核销后可出库
上线校验完成试运行数据核对、权限抽检、接口回归和备份策略验收记录、问题清单、回滚方案、运维联系人上线前无阻断问题
直播角色与权限初始化直播管理员、教务直播运营、教师主播、助教、学员、员工参会、市场运营等权限菜单、按钮、数据范围、导出审批、回放权限各角色只能访问授权直播房间和回放
培训体系交付配置初始化补齐分类配置、资料上传、培训计划、学习任务、考试、补考、成绩复核和档案归档。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限知识库、培训计划、考试中心、学习档案员工培训从分配到通过或补训均有状态闭环。
考试快照交付配置初始化补齐试卷快照、抽题策略、补考次数、考试超时和成绩复核。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限题库版本、考试详情、成绩复核任一历史成绩能还原当时题目和评分规则。
直播归档交付配置初始化补齐会议直播录制、回放审核、转为培训资料、学习任务和观看记录。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限会议直播归档、培训资料详情会议回放可转为培训素材并纳入员工学习记录。