01 · 模块定位
教师员工端与教学TV端
教师/员工端可在手机、iPad 和安卓平板完成课堂、教务、培训、报销、审批和电子工资条查看确认;教师桌面直播端可通过 Electron 完成开播、设备采集、屏幕共享和互动授课;安卓 TV 端可完成教室绑定、课件播放、互动展示和教师端遥控联动。业务目标
把教师教学、员工移动办公、平板大屏批改和安卓 TV 教学展示打通成一个课堂端侧协同体系。
使用终端
教师/员工 iPhone、iPad、安卓手机、安卓平板 App;销售、市场、课程顾问、班主任通过教师员工端承接营销推广和线索待办;教师 macOS/Windows Electron 桌面直播工作台;教学端单独提供 Android TV App。
验收主线
教师/员工端可在手机、iPad 和安卓平板完成课堂、教务、培训、报销、审批和电子工资条查看确认;教师桌面直播端可通过 Electron 完成开播、设备采集、屏幕共享和互动授课;安卓 TV 端可完成教室绑定、课件播放、互动展示和教师端遥控联动。
02 · 范围边界
明确本模块负责什么、依赖什么、不负责什么
边界清晰后,原型、接口和数据库设计才能避免重复建设。模块内范围
- APP-01 登录 / 选择校区与身份
- APP-02 工作台首页
- APP-03 今日课程
- APP-04 课程详情
- APP-04A 课程资源 / 本节资源包
- APP-04B 教案详情 / 教案预览
- APP-05 课堂点名
- APP-06 课堂点评
- APP-07 待批改作业
- APP-08 作业批改详情
- APP-08A 轻量批量批改
- APP-09 测评反馈
- APP-10 审批中心
- APP-11 审批详情 / 整改复核
- APP-12 消息通知中心
- APP-13 培训学习 / 考试
- APP-13A 培训资料详情 / 阅读
- APP-13B 考试答题 / 考试结果
- APP-14 报销 / 移动办公
- APP-14A 报销单填写 / 办公详情
- APP-15 我的 / 个人中心与设置
- 员工端营销推广工作台
- 我的活动二维码与海报
- 活动线索待办
- PAD-01 平板工作台首页
- PAD-02 平板批改工作台
- PAD-03 平板课堂点评 / 学员档案
- PAD-04 安卓平板督课工作台
- PAD-05 督课记录详情 / 整改复核
- PAD-06 平板课程资源 / 教案对照
- PAD-07 平板今日课程 / 课程详情
- PAD-08 平板办公中心 / 审批与报销
- PAD-09 平板培训学习 / 考试
- 教师桌面直播工作台
- 教师连麦队列管理
- 教师电子工资条
- 工资条异议提交
- 教学安卓 TV 首页
- TV 课件播放
- 课堂联动控制
上游依赖
- 组织校区与账号权限
- 课程/客户/合同等主数据
- 审批流、消息模板、文件中心
- 必要的第三方接口密钥
下游输出
- 业务状态和待办
- 消息通知和审批记录
- 报表指标和数据快照
- 审计日志和接口回执
03 · 确认口径、后台配置与默认实施规则
教师员工端与教学TV端必须承接的已确认规则
本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。| 分类 | 事项 | 本模块落地要求 | 责任方 |
|---|---|---|---|
| 已确认口径 | 视频平台范围 | 远程巡课和督课支持海康威视、宇视两类已有视频平台;其他平台地址、账号、协议参数、门店网关、集中机房存储、录像保留 90 天循环覆盖均做后台配置。 | 产品/技术/信息化 |
| 已确认口径 | 校区地图点位与设备清单 | 校区经纬度、校区大头钉、摄像头编码、品牌、教室、平台/网关关系、在线状态、设备总数均由后台动态维护,不作为静态初始化一次性数据。 | 产品/运营/信息化 |
| 后台配置项 | 视频平台配置 | 配置 vendorCode=HIKVISION/UNIVIEW、platformCode、apiEndpoint、authConfig、storageCenter、retentionDays、gatewayCode、accessMode 和同步计划。 | 信息化/运维 |
| 默认实施规则 | 直播供应商启用配置模型 | 阿里云、腾讯云、七牛云共用一套直播能力配置;后台启用哪家即教学直播、招生公开课直播、集团会议直播统一使用哪家。 | 产品/研发/运维 |
| 默认实施规则 | iOS/iPadOS 原生视觉策略 | UI 优先设计原生质感,工程上能用原生控件就用,不能用则跨端降级;不设 Liquid Glass 专项验收。 | 产品/UI/前端 |
| 默认实施规则 | 录像并发容量 | 本阶段容量口径聚焦权限访问、播放鉴权、访问留痕、90 天留存提示和异常提示;大规模并发压测作为专项容量评估独立输出。 | 产品/技术 |
| 默认实施规则 | 接口设计说明书组织方式 | 采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。 | 产品/研发 |
| 默认实施规则 | 接口错误码与重试中间件 | 所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。 | 后端/测试/运维 |
04 · 业务流程
教师员工端与教学TV端主流程
流程用于指导原型图的页面顺序、按钮状态和异常分支。APP-01 登录 / 选择校区与身份需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
APP-02 工作台首页需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
APP-03 今日课程需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
APP-04 课程详情需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
APP-04A 课程资源 / 本节资源包需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
APP-04B 教案详情 / 教案预览需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
APP-05 课堂点名需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
APP-06 课堂点评需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
05 · 功能清单
按子模块拆到可设计、可开发、可测试的颗粒度
每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。| 一级功能 | 二级功能 | 功能说明 | 规则/验收 |
|---|---|---|---|
| APP-01 登录 / 选择校区与身份 | 教师/员工端操作 | APP-01 登录 / 选择校区与身份支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-01 登录 / 选择校区与身份 | 业务处理 | APP-01 登录 / 选择校区与身份需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-01 登录 / 选择校区与身份 | 异常闭环 | 教师端连麦控制失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-02 工作台首页 | 教师/员工端操作 | APP-02 工作台首页支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-02 工作台首页 | 业务处理 | APP-02 工作台首页需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-02 工作台首页 | 异常闭环 | 教师端无课表处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-03 今日课程 | 教师/员工端操作 | APP-03 今日课程支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-03 今日课程 | 业务处理 | APP-03 今日课程需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-03 今日课程 | 异常闭环 | 平板断网缓存处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-04 课程详情 | 教师/员工端操作 | APP-04 课程详情支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-04 课程详情 | 业务处理 | APP-04 课程详情需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-04 课程详情 | 异常闭环 | 直播设备检测失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-04A 课程资源 / 本节资源包 | 教师/员工端操作 | APP-04A 课程资源 / 本节资源包支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-04A 课程资源 / 本节资源包 | 业务处理 | APP-04A 课程资源 / 本节资源包需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-04A 课程资源 / 本节资源包 | 异常闭环 | 连麦座席冲突处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-04B 教案详情 / 教案预览 | 教师/员工端操作 | APP-04B 教案详情 / 教案预览支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-04B 教案详情 / 教案预览 | 业务处理 | APP-04B 教案详情 / 教案预览需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-04B 教案详情 / 教案预览 | 异常闭环 | TV 绑定失效处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-05 课堂点名 | 教师/员工端操作 | APP-05 课堂点名支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-05 课堂点名 | 业务处理 | APP-05 课堂点名需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-05 课堂点名 | 异常闭环 | 课件加载失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-06 课堂点评 | 教师/员工端操作 | APP-06 课堂点评支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-06 课堂点评 | 业务处理 | APP-06 课堂点评需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-06 课堂点评 | 异常闭环 | 课堂联动超时处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-07 待批改作业 | 教师/员工端操作 | APP-07 待批改作业支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-07 待批改作业 | 业务处理 | APP-07 待批改作业需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-07 待批改作业 | 异常闭环 | 工资条异议待处理处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-08 作业批改详情 | 教师/员工端操作 | APP-08 作业批改详情支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-08 作业批改详情 | 业务处理 | APP-08 作业批改详情需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-08 作业批改详情 | 异常闭环 | 教师端连麦控制失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-08A 轻量批量批改 | 教师/员工端操作 | APP-08A 轻量批量批改支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-08A 轻量批量批改 | 业务处理 | APP-08A 轻量批量批改需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-08A 轻量批量批改 | 异常闭环 | 教师端无课表处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-09 测评反馈 | 教师/员工端操作 | APP-09 测评反馈支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-09 测评反馈 | 业务处理 | APP-09 测评反馈需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-09 测评反馈 | 异常闭环 | 平板断网缓存处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-10 审批中心 | 教师/员工端操作 | APP-10 审批中心支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-10 审批中心 | 业务处理 | APP-10 审批中心需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-10 审批中心 | 异常闭环 | 直播设备检测失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-11 审批详情 / 整改复核 | 教师/员工端操作 | APP-11 审批详情 / 整改复核支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-11 审批详情 / 整改复核 | 业务处理 | APP-11 审批详情 / 整改复核需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-11 审批详情 / 整改复核 | 异常闭环 | 连麦座席冲突处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-12 消息通知中心 | 教师/员工端操作 | APP-12 消息通知中心支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-12 消息通知中心 | 业务处理 | APP-12 消息通知中心需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-12 消息通知中心 | 异常闭环 | TV 绑定失效处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-13 培训学习 / 考试 | 教师/员工端操作 | APP-13 培训学习 / 考试支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-13 培训学习 / 考试 | 业务处理 | APP-13 培训学习 / 考试需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-13 培训学习 / 考试 | 异常闭环 | 课件加载失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-13A 培训资料详情 / 阅读 | 教师/员工端操作 | APP-13A 培训资料详情 / 阅读支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-13A 培训资料详情 / 阅读 | 业务处理 | APP-13A 培训资料详情 / 阅读需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-13A 培训资料详情 / 阅读 | 异常闭环 | 课堂联动超时处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-13B 考试答题 / 考试结果 | 教师/员工端操作 | APP-13B 考试答题 / 考试结果支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-13B 考试答题 / 考试结果 | 业务处理 | APP-13B 考试答题 / 考试结果需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-13B 考试答题 / 考试结果 | 异常闭环 | 工资条异议待处理处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-14 报销 / 移动办公 | 教师/员工端操作 | APP-14 报销 / 移动办公支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-14 报销 / 移动办公 | 业务处理 | APP-14 报销 / 移动办公需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-14 报销 / 移动办公 | 异常闭环 | 教师端连麦控制失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-14A 报销单填写 / 办公详情 | 教师/员工端操作 | APP-14A 报销单填写 / 办公详情支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-14A 报销单填写 / 办公详情 | 业务处理 | APP-14A 报销单填写 / 办公详情需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-14A 报销单填写 / 办公详情 | 异常闭环 | 教师端无课表处理 | 失败原因可见、可重试、可转人工、可追溯 |
| APP-15 我的 / 个人中心与设置 | 教师/员工端操作 | APP-15 我的 / 个人中心与设置支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| APP-15 我的 / 个人中心与设置 | 业务处理 | APP-15 我的 / 个人中心与设置需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| APP-15 我的 / 个人中心与设置 | 异常闭环 | 平板断网缓存处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 员工端营销推广工作台 | 教师/员工端操作 | 员工端营销推广工作台支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 员工端营销推广工作台 | 业务处理 | 销售、市场、课程顾问、班主任在教师员工端查看可推广活动、领取活动、生成专属二维码/海报、查看线索回流和个人推广战报。 | 必须联动状态、权限、消息、审批和指标 |
| 员工端营销推广工作台 | 异常闭环 | 活动已停用处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 我的活动二维码与海报 | 教师/员工端操作 | 我的活动二维码与海报支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 我的活动二维码与海报 | 业务处理 | 员工端生成并分享本人活动短链、二维码和海报,展示活动有效期、归因参数、失效原因和重新生成入口。 | 必须联动状态、权限、消息、审批和指标 |
| 我的活动二维码与海报 | 异常闭环 | 二维码生成失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 活动线索待办 | 教师/员工端操作 | 活动线索待办支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 活动线索待办 | 业务处理 | 员工推广产生的线索进入教师员工端待办,支持查看归因卡片、跟进、预约试听、转销售和撞单申诉。 | 必须联动状态、权限、消息、审批和指标 |
| 活动线索待办 | 异常闭环 | 线索已被重新分配处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-01 平板工作台首页 | 教师/员工端操作 | PAD-01 平板工作台首页支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-01 平板工作台首页 | 业务处理 | PAD-01 平板工作台首页需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-01 平板工作台首页 | 异常闭环 | 课件加载失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-02 平板批改工作台 | 教师/员工端操作 | PAD-02 平板批改工作台支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-02 平板批改工作台 | 业务处理 | PAD-02 平板批改工作台需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-02 平板批改工作台 | 异常闭环 | 课堂联动超时处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-03 平板课堂点评 / 学员档案 | 教师/员工端操作 | PAD-03 平板课堂点评 / 学员档案支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-03 平板课堂点评 / 学员档案 | 业务处理 | PAD-03 平板课堂点评 / 学员档案需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-03 平板课堂点评 / 学员档案 | 异常闭环 | 工资条异议待处理处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-04 安卓平板督课工作台 | 教师/员工端操作 | PAD-04 安卓平板督课工作台支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-04 安卓平板督课工作台 | 业务处理 | PAD-04 安卓平板督课工作台需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-04 安卓平板督课工作台 | 异常闭环 | 教师端连麦控制失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-05 督课记录详情 / 整改复核 | 教师/员工端操作 | PAD-05 督课记录详情 / 整改复核支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-05 督课记录详情 / 整改复核 | 业务处理 | PAD-05 督课记录详情 / 整改复核需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-05 督课记录详情 / 整改复核 | 异常闭环 | 教师端无课表处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-06 平板课程资源 / 教案对照 | 教师/员工端操作 | PAD-06 平板课程资源 / 教案对照支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-06 平板课程资源 / 教案对照 | 业务处理 | PAD-06 平板课程资源 / 教案对照需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-06 平板课程资源 / 教案对照 | 异常闭环 | 平板断网缓存处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-07 平板今日课程 / 课程详情 | 教师/员工端操作 | PAD-07 平板今日课程 / 课程详情支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-07 平板今日课程 / 课程详情 | 业务处理 | PAD-07 平板今日课程 / 课程详情需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-07 平板今日课程 / 课程详情 | 异常闭环 | 直播设备检测失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-08 平板办公中心 / 审批与报销 | 教师/员工端操作 | PAD-08 平板办公中心 / 审批与报销支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-08 平板办公中心 / 审批与报销 | 业务处理 | PAD-08 平板办公中心 / 审批与报销需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-08 平板办公中心 / 审批与报销 | 异常闭环 | 连麦座席冲突处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PAD-09 平板培训学习 / 考试 | 教师/员工端操作 | PAD-09 平板培训学习 / 考试支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| PAD-09 平板培训学习 / 考试 | 业务处理 | PAD-09 平板培训学习 / 考试需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| PAD-09 平板培训学习 / 考试 | 异常闭环 | TV 绑定失效处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 教师桌面直播工作台 | 教师/员工端操作 | 教师桌面直播工作台支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 教师桌面直播工作台 | 业务处理 | 教师桌面直播端支持摄像头、麦克风、屏幕共享、课件共享、互动白板、本地录制、设备检测、弱网提示、举手队列和连麦座席控制 | 必须联动状态、权限、消息、审批和指标 |
| 教师桌面直播工作台 | 异常闭环 | 设备权限未授权处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 教师连麦队列管理 | 教师/员工端操作 | 教师连麦队列管理支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 教师连麦队列管理 | 业务处理 | 教师/助教可处理学员举手、邀请上麦、拒绝、静音、解除静音、下麦和异常重试 | 必须联动状态、权限、消息、审批和指标 |
| 教师连麦队列管理 | 异常闭环 | 连麦邀请超时处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 教师电子工资条 | 教师/员工端操作 | 教师电子工资条支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 教师电子工资条 | 业务处理 | 教师/员工端支持电子工资条查看、确认、社保公积金按后台配置展示和小程序推送提醒 | 必须联动状态、权限、消息、审批和指标 |
| 教师电子工资条 | 异常闭环 | 工资条未发布处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 工资条异议提交 | 教师/员工端操作 | 工资条异议提交支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 工资条异议提交 | 业务处理 | 教师/员工对工资条有疑问时可提交异议说明和附件,人事处理后回传结果并保留审计 | 必须联动状态、权限、消息、审批和指标 |
| 工资条异议提交 | 异常闭环 | 薪资期间已结账处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 教学安卓 TV 首页 | 课堂端操作 | 教学安卓 TV 首页支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 教学安卓 TV 首页 | 业务处理 | 教学安卓 TV 端支持教室绑定、课堂会话进入、设备在线状态和版本检查 | 必须联动状态、权限、消息、审批和指标 |
| 教学安卓 TV 首页 | 异常闭环 | 设备未绑定处理 | 失败原因可见、可重试、可转人工、可追溯 |
| TV 课件播放 | 课堂端操作 | TV 课件播放支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| TV 课件播放 | 业务处理 | TV 端支持课件、视频、音频、互动题和课堂资源的大屏播放展示 | 必须联动状态、权限、消息、审批和指标 |
| TV 课件播放 | 异常闭环 | 资源加载失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 课堂联动控制 | 课堂端操作 | 课堂联动控制支持进入、查看、处理、控制、确认和异常反馈。 | 端侧登录、设备状态、课堂会话和本人/授权范围必须校验 |
| 课堂联动控制 | 业务处理 | 教师/员工手机或平板作为控制端,TV 作为展示端,同步翻页、播放、互动题和课堂状态 | 必须联动状态、权限、消息、审批和指标 |
| 课堂联动控制 | 异常闭环 | 指令超时处理 | 失败原因可见、可重试、可转人工、可追溯 |
功能到数据对象/接口/表映射
| 功能域 | 承接对象 | 核心表 | 代表接口 | 状态机/状态字段 | 研发落地校验 |
|---|---|---|---|---|---|
| APP-01 登录 / 选择校区与身份 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/01 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-02 工作台首页 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/02 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-03 今日课程 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/03 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-04 课程详情 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/04 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-04A 课程资源 / 本节资源包 | LessonResource | edu_lesson_resource | GET /api/v1/lesson/resources | resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-04B 教案详情 / 教案预览 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/06 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-05 课堂点名 | ClassroomSession、TVDevice、TVCommandLog | cls_classroom_session、tv_device、tv_command_log | 建议接口资源组 /api/v1/classroom/sessions | session_status、device_status、command_type、execute_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-06 课堂点评 | ClassroomSession、TVDevice、TVCommandLog | cls_classroom_session、tv_device、tv_command_log | 建议接口资源组 /api/v1/classroom/sessions | session_status、device_status、command_type、execute_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-07 待批改作业 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 建议接口资源组 /api/v1/teacher/lessons | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-08 作业批改详情 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 建议接口资源组 /api/v1/teacher/lessons | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-08A 轻量批量批改 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 建议接口资源组 /api/v1/teacher/lessons | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-09 测评反馈 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/12 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-10 审批中心 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | GET/POST /api/v1/teacher/approvals | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-11 审批详情 / 整改复核 | PatrolRectificationReview | pat_rectification_review | 接口资源组 /api/v1/ttv/features/14 | review_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-12 消息通知中心 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/15 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-13 培训学习 / 考试 | TrainingExamAttempt | kbt_training_exam_attempt | POST /api/v1/training/exams/{id}/submit | pass_status、attempt_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-13A 培训资料详情 / 阅读 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | POST /api/v1/training/materials/{id}/progress | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-13B 考试答题 / 考试结果 | TrainingExamAttempt | kbt_training_exam_attempt | 接口资源组 /api/v1/ttv/features/18 | pass_status、attempt_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-14 报销 / 移动办公 | ExpenseReport | fin_expense_report | POST/PUT /api/v1/expenses/mobile/reports | expense_type、report_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-14A 报销单填写 / 办公详情 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/20 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| APP-15 我的 / 个人中心与设置 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/21 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 员工端营销推广工作台 | EmployeePromotionAsset、EmployeeCampaignStat、Lead、TeacherTodo | mkt_employee_promotion_asset、mkt_employee_campaign_stat、crm_lead、mob_teacher_todo | GET /api/v1/teacher/marketing/workbench | biz_status、approval_status、is_deleted、version | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 我的活动二维码与海报 | EmployeePromotionAsset、EmployeeCampaignStat、Lead、TeacherTodo | mkt_employee_promotion_asset、mkt_employee_campaign_stat、crm_lead、mob_teacher_todo | GET /api/v1/teacher/marketing/workbench | biz_status、approval_status、is_deleted、version | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 活动线索待办 | EmployeePromotionAsset、EmployeeCampaignStat、Lead、TeacherTodo | mkt_employee_promotion_asset、mkt_employee_campaign_stat、crm_lead、mob_teacher_todo | GET /api/v1/teacher/marketing/workbench | biz_status、approval_status、is_deleted、version | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-01 平板工作台首页 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/25 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-02 平板批改工作台 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 建议接口资源组 /api/v1/teacher/lessons | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-03 平板课堂点评 / 学员档案 | ClassroomSession、TVDevice、TVCommandLog | cls_classroom_session、tv_device、tv_command_log | 建议接口资源组 /api/v1/classroom/sessions | session_status、device_status、command_type、execute_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-04 安卓平板督课工作台 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 建议接口资源组 /api/v1/teacher/lessons | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-05 督课记录详情 / 整改复核 | PatrolRectificationReview | pat_rectification_review | 建议接口资源组 /api/v1/teacher/lessons | review_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-06 平板课程资源 / 教案对照 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/30 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-07 平板今日课程 / 课程详情 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/31 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-08 平板办公中心 / 审批与报销 | TeacherWorkspace、TeacherTodo、LessonResource、LessonPlan | mob_teacher_workspace、mob_teacher_todo、edu_lesson_resource、edu_lesson_plan | 接口资源组 /api/v1/ttv/features/32 | terminal_type、todo_type、todo_status、resource_type、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PAD-09 平板培训学习 / 考试 | TrainingExamAttempt | kbt_training_exam_attempt | POST /api/v1/training/exams/{id}/submit | pass_status、attempt_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 教师桌面直播工作台 | TeacherDesktopSession | teacher_desktop_session | 建议接口资源组 /api/v1/live/mic-requests | session_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 教师连麦队列管理 | TeacherDesktopSession | teacher_desktop_session | 建议接口资源组 /api/v1/live/mic-requests | session_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 教师电子工资条 | TeacherTodo | mob_teacher_todo | 建议接口资源组 /api/v1/hr/payslips | todo_type、todo_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 工资条异议提交 | TeacherTodo | mob_teacher_todo | 建议接口资源组 /api/v1/hr/payslips | todo_type、todo_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 教学安卓 TV 首页 | ClassroomSession、TVDevice、TVCommandLog | cls_classroom_session、tv_device、tv_command_log | 建议接口资源组 /api/v1/classroom/sessions | session_status、device_status、command_type、execute_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| TV 课件播放 | ClassroomSession、TVDevice、TVCommandLog | cls_classroom_session、tv_device、tv_command_log | 建议接口资源组 /api/v1/classroom/sessions | session_status、device_status、command_type、execute_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 课堂联动控制 | ClassroomSession、TVDevice、TVCommandLog | cls_classroom_session、tv_device、tv_command_log | 建议接口资源组 /api/v1/classroom/sessions | session_status、device_status、command_type、execute_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
06 · 原子级功能需求
用于研发任务拆分和测试用例追踪
需求编号可直接进入项目管理工具。| 编号 | 需求描述 | 入口页面 | 关键动作 | 输入校验 | 输出结果 | 异常处理 | 验收标准 |
|---|---|---|---|---|---|---|---|
| FR-TTV-001 | 教师/员工端支持 iPhone、iPad、安卓手机、安卓平板登录和统一权限控制,其中 iPad 和安卓平板需独立适配 | 教师员工工作台 | 查看课表 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 端侧无权限或课程未开始时展示禁用原因 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-002 | 平板端针对排课、点名、作业批改、督课、培训、报销和审批提供分栏大屏布局 | 平板批改与督课工作台 | 批改作业 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 横屏适配异常或附件加载失败时可重试 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-003 | 教师端课程详情必须展示本节课程资源和教案入口,课程资源支持按资料类型查看,本节教案教案在线只读,不允许教师端修改后台教研内容 | 教师桌面直播工作台 | 桌面开播 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 客户端版本过低或设备权限未授权时阻断开播 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-004 | 课堂点名与课堂点评必须联动,未到课学员不可点评,请假、旷课、未到、迟到待确认等状态必须在点评批量勾选时置灰并展示原因 | 教师桌面直播工作台 | 屏幕共享 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 屏幕权限、摄像头或麦克风不可用时给出修复指引 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-005 | 应急代课支持教务下发代课短时授权,代课教师通过扫码或输入授权码进入本节课,只开放点名、点评、课程资源和名单查看,不开放班级长期数据 | 教师桌面直播工作台 | 设备检测 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 原生模块不可用时降级到云厂商 Web SDK 能力 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-006 | 手机端作业批改支持轻量批量批改,仅允许同班级、同作业、同题型或同标准答案批量处理,并保留每位学员个性化评语保护 | 教师电子工资条 | 查看工资条 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 工资条未发布、账号未绑定或字段无权限时展示原因 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-007 | 已有文字评语、语音评语、订正说明或个性化附件的作业在批量操作中默认不被全选,避免覆盖个性化反馈 | 教师电子工资条 | 确认工资条 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 确认期限已过或工资条已撤回时禁止确认 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-008 | 同一份作业在手机、iPad、安卓平板同时编辑时必须启用跨端编辑锁和 draftVersion 校验,避免覆盖老师正在编辑的批改内容 | 工资条异议提交 | 提交异议 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 薪资期间已结账或附件上传失败时进入异常提示 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-009 | 语音评语支持录制、试听、重录、上传、转文字可选和语音敏感词预检;本地保存草稿前做敏感词预检,服务端发布前做最终审核 | 教学安卓 TV 首页 | 控制 TV | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 设备未绑定或课堂会话过期时重新绑定 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-010 | 平板批改支持弱网或离线场景下的本地草稿保存,恢复网络后通过离线补偿同步上传,冲突时按 draftVersion 提示保留本端或服务端版本 | TV 课件播放 | 播放课件 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 资源加载失败时切换备用清晰度或重试 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-011 | 安卓平板督课必须支持整改前证据、整改后证据、整改结论和复核意见对比展示,缺少整改后证据不得通过复核 | TV 课件播放 | 焦点导航 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 遥控器焦点丢失时回到当前播放区域 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-012 | 培训学习中心需支持资料阅读、阅读进度、考试答题、考试结果、错题回看和培训任务完成状态同步 | 课堂联动控制 | 互动投放 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 指令超时则提示教师重发并写入指令日志 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-013 | 报销 / 移动办公需支持报销草稿、发票附件、提交审批、驳回修改、重新提交和处理进度查询 | 教师员工工作台 | 同步课堂数据 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 签到、作业、测评或督课数据同步失败时进入补偿任务 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-014 | 教师员工端承接营销拓客中心发布的可推广活动,销售、市场、课程顾问和班主任可在 App/小程序生成本人专属链接、二维码和海报 | APP-11 审批详情 / 整改复核 | 播放课件 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 连麦座席冲突 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-015 | 教师员工端必须展示本人推广产生的活动线索待办、推广战报、二维码失效原因和 CRM 跟进入口 | APP-12 消息通知中心 | 互动投放 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | TV 绑定失效 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-016 | 教师桌面直播端确定采用 Electron + Chromium + 云直播 Web SDK,覆盖 macOS 和 Windows | 直播课堂/连麦队列 | 进入直播、举手上麦或处理连麦 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 直播未开播、连麦超时或供应商失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-017 | 教师桌面直播端支持摄像头、麦克风、屏幕共享、课件共享、互动白板、本地录制、设备检测、弱网提示和直播异常处理 | 指标异常处理 | 异常订阅、责任人处理或口径审批 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 指标延迟、责任人缺失或口径版本不一致 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-018 | 教师/助教端必须支持举手队列管理、同意上麦、拒绝上麦、静音、解除静音、下麦、清空队列、邀请超时提示和供应商连麦失败处理 | 采购对账付款 | 采购对账、采购付款或凭证归档 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 对账不平、付款失败或凭证缺失 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-019 | 教师/员工端必须支持电子工资条查看、确认和异议提交,可接收小程序推送提醒;社保、公积金明细是否展示由后台按组织或员工范围配置 | 电子工资条/薪资核算 | 薪资核算、工资条发布或员工确认 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 工资条未发布、显示配置缺失或员工异议超期 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-020 | 系统音频采集、虚拟摄像头、高可靠本地录制等能力如超出 Web SDK 能力,需要通过原生模块或云厂商桌面 SDK 补强 | APP-14A 报销单填写 / 办公详情 | 查看活动线索 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 教师端无课表 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-021 | 教学功能单独拆出安卓 TV 端,当前阶段只支持 Android TV | APP-15 我的 / 个人中心与设置 | 课堂点名 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 平板断网缓存 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-022 | 安卓 TV 端支持教室绑定、课程选择、课件播放、视频音频播放、互动内容展示和退出课堂 | 员工端营销推广工作台 | 桌面开播 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 直播设备检测失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-023 | 安卓 TV 端适配遥控器方向键、确认键、返回键、焦点态、低输入成本操作和大字号展示 | 我的活动二维码与海报 | 屏幕共享 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 连麦座席冲突 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-024 | 教师/员工手机或平板作为课堂控制端,TV 作为展示端,通过课堂会话同步播放、翻页、互动题和课堂状态 | 活动线索待办 | 处理连麦 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | TV 绑定失效 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-TTV-025 | 端侧操作必须与课表、班级、课程资源、签到、作业、测评、督课、知识库和审计日志联动 | 作业草稿箱/作业提交 | 保存草稿、恢复草稿或提交作业 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 草稿冲突、附件失败或作业已关闭 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
07 · 关联闭环补充需求
教师员工端与教学TV端在跨模块闭环中的责任边界
本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。| 闭环项 | 本模块责任 | 关键场景 | 页面/功能补充 | 关联对象/接口 | 验收口径 |
|---|---|---|---|---|---|
| 员工推广工作台 | 承接营销拓客中心发布到移动端的活动,支持员工领取活动、生成专属二维码/海报、分享推广、查看线索和推广战报 | 销售、市场、课程顾问、班主任不使用 PC Web 创建活动,但需要在教师员工端执行推广和跟进 | 员工端营销推广工作台、可推广活动、我的二维码、我的海报、推广战报、活动线索待办 | TeacherWorkspace、TeacherTodo、EmployeePromotionAsset、EmployeeCampaignStat、/api/v1/teacher/marketing/workbench | 员工端推广活动、生成资产、分享、线索回流、跟进待办和效果数据必须与营销拓客中心和 CRM 闭环 |
| 督课评分规则版本 | 教师端展示被督课评分、证据、整改要求和复核状态 | 在线巡课评分后教师需查看原因并完成整改 | 督课结果、证据查看、整改反馈、复核通知 | ClassroomCamera/PatrolRecord/TeachingQualityScore | 教师端看到的评分需带规则版本、扣分项和整改截止时间 |
| 工资条撤回重发 | 教师/员工端支持工资条撤回后失效提示、重发提醒、重新确认和异议提交 | 工资条批次修正、单人重发或员工异议后重算 | 教师电子工资条、撤回提示、重发详情、异议提交 | PayrollPayslip/SalaryItem、/api/v1/hr/payslips | 撤回工资条不可继续确认,重发后需重新查看确认 |
08 · 页面与原型设计说明
页面清单、布局要求、按钮字段和状态
原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。| 终端 | 页面 | 用户 | 页面目标 | 布局结构 | 关键按钮 | 关键字段 | 异常状态 | 原型备注 |
|---|---|---|---|---|---|---|---|---|
| 教师/员工 App/小程序 | APP-01 登录 / 选择校区与身份 | 教师/员工/销售/市场/课程顾问/班主任/督导 | 手机号验证码、账号密码、企业微信/微信授权登录后选择校区、岗位身份和本次登录端类型 | 教师员工端移动首页采用身份状态区、今日任务聚合、快捷入口和消息待办四段结构;登录页需突出验证码、账号密码、微信/企微授权、校区身份切换和端侧权限提示。 | 登录、发送验证码、切换校区、切换身份、查看待办、进入消息、退出登录 | 手机号、验证码、登录身份、当前校区、岗位角色、端类型、待办数量、消息分类、设备标识、版本号 | 验证码错误、账号停用、无可用校区、身份未授权、设备超限、网络异常 | 需绘制登录注册、身份选择、工作台空状态、越权提示、消息分类和个人设置状态。 建议 Figma Frame:TTV-app_01_登录_选择校区与身份;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-02 工作台首页 | 教师/员工/销售/市场/课程顾问/班主任 | 聚合今日课程、待批改、审批、培训、报销、工资条、营销推广线索和消息提醒 | 教师员工端移动首页采用身份状态区、今日任务聚合、快捷入口和消息待办四段结构;登录页需突出验证码、账号密码、微信/企微授权、校区身份切换和端侧权限提示。 | 登录、发送验证码、切换校区、切换身份、查看待办、进入消息、退出登录 | 手机号、验证码、登录身份、当前校区、岗位角色、端类型、待办数量、消息分类、设备标识、版本号 | 验证码错误、账号停用、无可用校区、身份未授权、设备超限、网络异常 | 需绘制登录注册、身份选择、工作台空状态、越权提示、消息分类和个人设置状态。 建议 Figma Frame:TTV-app_02_工作台首页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-03 今日课程 | 教师 | 按时间轴展示今日课程、班级、教室、学员数、点名状态、点评状态、资源状态和 TV/直播状态 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-app_03_今日课程;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-04 课程详情 | 教师/代课教师 | 展示课程基本信息、班级名单、课前准备、点名、点评、作业、测评、课程资源、教案和课堂联动入口 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-app_04_课程详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-04A 课程资源 / 本节资源包 | 教师/代课教师 | 按课件、音视频、互动题、讲义、练习、素材等资料类型查看本节课授权资源,支持预览、投屏和下载权限提示 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-app_04_a_课程资源_本节资源包;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-04B 教案详情 / 教案预览 | 教师/代课教师 | 只读查看教案目标、教学步骤、板书建议、互动设计、重点难点和课后任务,不允许端侧修改教研内容 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-app_04_b_教案详情_教案预览;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-05 课堂点名 | 教师/代课教师 | 对学员进行到课、迟到、请假、旷课、补课到课确认,支持异常原因、到访接待和签到来源展示 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-app_05_课堂点名;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-06 课堂点评 | 教师/代课教师 | 按学员填写课堂表现、学习内容、作业要求、照片和语音反馈,未到课学员自动置灰不可点评 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-app_06_课堂点评;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-07 待批改作业 | 教师 | 按班级、课程、作业、截止时间和待批改数量查看批改队列,支持筛选逾期、订正和异常提交 | 批改类页面手机端采用提交内容、评分、评语和发布按钮纵向流;平板端采用三栏:作业/学员队列、答案预览、评分评语与发布面板。 | 获取编辑锁、保存草稿、批量评分、录制语音、试听语音、发布批改、处理冲突 | 作业、提交记录、学员、分数、文字评语、语音评语、draftVersion、编辑锁、订正要求、发布状态 | 编辑锁占用、draftVersion 冲突、语音敏感词预检失败、个性化评语保护、离线同步失败、附件加载失败 | 需绘制编辑锁提示、批量跳过明细、语音审核失败、离线草稿和版本冲突处理。 建议 Figma Frame:TTV-app_07_待批改作业;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-08 作业批改详情 | 教师 | 查看学员答案、附件、历史批改、分数、文字评语、语音评语、订正要求和发布状态 | 批改类页面手机端采用提交内容、评分、评语和发布按钮纵向流;平板端采用三栏:作业/学员队列、答案预览、评分评语与发布面板。 | 获取编辑锁、保存草稿、批量评分、录制语音、试听语音、发布批改、处理冲突 | 作业、提交记录、学员、分数、文字评语、语音评语、draftVersion、编辑锁、订正要求、发布状态 | 编辑锁占用、draftVersion 冲突、语音敏感词预检失败、个性化评语保护、离线同步失败、附件加载失败 | 需绘制编辑锁提示、批量跳过明细、语音审核失败、离线草稿和版本冲突处理。 建议 Figma Frame:TTV-app_08_作业批改详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-08A 轻量批量批改 | 教师 | 对同班级同作业进行批量评分、批量常用评语和批量发布,已有个性化评语或订正说明的记录默认保护 | 批改类页面手机端采用提交内容、评分、评语和发布按钮纵向流;平板端采用三栏:作业/学员队列、答案预览、评分评语与发布面板。 | 获取编辑锁、保存草稿、批量评分、录制语音、试听语音、发布批改、处理冲突 | 作业、提交记录、学员、分数、文字评语、语音评语、draftVersion、编辑锁、订正要求、发布状态 | 编辑锁占用、draftVersion 冲突、语音敏感词预检失败、个性化评语保护、离线同步失败、附件加载失败 | 需绘制编辑锁提示、批量跳过明细、语音审核失败、离线草稿和版本冲突处理。 建议 Figma Frame:TTV-app_08_a_轻量批量批改;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-09 测评反馈 | 教师 | 录入阶段测评、能力评价、薄弱点、学习建议和家长可见反馈,结果同步学习档案 | 家长端使用移动端卡片流和底部主按钮,重要操作采用二次确认弹窗并展示处理进度。 | 绑定学员、查看课表、提交请假、确认补课、改期取消、缴费、签署合同、提交工单 | 绑定学员、课程、合同、应缴金额、请假课次、补课候选、服务工单、服务消息、课程/课堂、班级 | 绑定关系异常、补课候选过期、支付失败、合同签署失败、工单已关闭、消息发送失败 | 需覆盖微信小程序/H5 状态、合同缴费、补课候选确认、服务通知、工单进度和异常联系入口。 建议 Figma Frame:TTV-app_09_测评反馈;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-10 审批中心 | 教师/员工/主管 | 查看待我审批、我发起、抄送我和已办事项,覆盖请假、调课、报销、代课、整改和工资条异议 | 办公审批页采用待办列表、表单详情、附件预览和流程节点;报销填写页采用费用明细、发票附件、金额校验和底部提交。 | 保存草稿、提交审批、撤回、驳回修改、重新提交、审批通过、审批驳回 | 单据编号、费用类型、金额、发票附件、审批节点、审批意见、单据状态、付款状态、驳回原因、课程/课堂 | 金额超限、附件缺失、审批流未命中、重复提交、驳回后未修改、付款异常 | 需绘制草稿、提交中、驳回修改、重新提交、审批完成和付款回写状态。 建议 Figma Frame:TTV-app_10_审批中心;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-11 审批详情 / 整改复核 | 教师/员工/督导/主管 | 展示审批单据详情、流转节点、附件、整改前证据、整改后证据、复核结论和驳回原因 | 督课平板页采用左侧任务列表、中部课堂证据/评分项、右侧整改要求和复核结论;证据对比需支持整改前后并列展示。 | 查看证据、提交整改、上传整改后证据、复核通过、复核驳回、派发整改 | 督课任务、评分规则版本、问题项、整改前证据、整改后证据、整改截止时间、复核结论、复核意见、课程/课堂、班级 | 缺少整改后证据、整改超时、证据加载失败、复核权限不足、重复提交 | 复核通过必须以整改后证据为前置,原型需明确不可通过状态和驳回后再次提交路径。 建议 Figma Frame:TTV-app_11_审批详情_整改复核;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-12 消息通知中心 | 教师/员工 | 聚合课程提醒、作业批改、直播连麦、工资条、培训、报销、营销线索和 TV 异常消息 | 教师员工端移动首页采用身份状态区、今日任务聚合、快捷入口和消息待办四段结构;登录页需突出验证码、账号密码、微信/企微授权、校区身份切换和端侧权限提示。 | 登录、发送验证码、切换校区、切换身份、查看待办、进入消息、退出登录 | 手机号、验证码、登录身份、当前校区、岗位角色、端类型、待办数量、消息分类、设备标识、版本号 | 验证码错误、账号停用、无可用校区、身份未授权、设备超限、网络异常 | 需绘制登录注册、身份选择、工作台空状态、越权提示、消息分类和个人设置状态。 建议 Figma Frame:TTV-app_12_消息通知中心;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-13 培训学习 / 考试 | 教师/员工 | 查看培训任务、课程分类、资料类型、学习进度、考试入口、通过状态和证书/记录 | 培训学习页采用课程分类、资料类型、学习进度和考试入口;考试页采用题目卡片、答题进度、倒计时、交卷确认和结果反馈。 | 阅读资料、继续学习、开始考试、保存答案、交卷、查看错题、申请补考 | 培训任务、课程分类、资料类型、阅读进度、考试、答题进度、成绩、是否通过、错题、补考次数 | 资料无权限、考试超时、重复交卷、未达到学习条件、补考次数用尽 | 需体现学习进度恢复、考试中断恢复、结果页和错题回看。 建议 Figma Frame:TTV-app_13_培训学习_考试;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-13A 培训资料详情 / 阅读 | 教师/员工 | 阅读制度、课件、视频、教案、素材和操作手册,记录阅读进度、完成条件和学习时长 | 培训学习页采用课程分类、资料类型、学习进度和考试入口;考试页采用题目卡片、答题进度、倒计时、交卷确认和结果反馈。 | 阅读资料、继续学习、开始考试、保存答案、交卷、查看错题、申请补考 | 培训任务、课程分类、资料类型、阅读进度、考试、答题进度、成绩、是否通过、错题、补考次数 | 资料无权限、考试超时、重复交卷、未达到学习条件、补考次数用尽 | 需体现学习进度恢复、考试中断恢复、结果页和错题回看。 建议 Figma Frame:TTV-app_13_a_培训资料详情_阅读;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-13B 考试答题 / 考试结果 | 教师/员工 | 支持单选、多选、判断、问答、限时答题、交卷确认、成绩展示、错题回看和补考入口 | 培训学习页采用课程分类、资料类型、学习进度和考试入口;考试页采用题目卡片、答题进度、倒计时、交卷确认和结果反馈。 | 阅读资料、继续学习、开始考试、保存答案、交卷、查看错题、申请补考 | 培训任务、课程分类、资料类型、阅读进度、考试、答题进度、成绩、是否通过、错题、补考次数 | 资料无权限、考试超时、重复交卷、未达到学习条件、补考次数用尽 | 需体现学习进度恢复、考试中断恢复、结果页和错题回看。 建议 Figma Frame:TTV-app_13_b_考试答题_考试结果;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-14 报销 / 移动办公 | 教师/员工 | 查看报销、请假、调课、代课、办公申请和审批状态,支持新建、草稿、驳回修改和重新提交 | 办公审批页采用待办列表、表单详情、附件预览和流程节点;报销填写页采用费用明细、发票附件、金额校验和底部提交。 | 保存草稿、提交审批、撤回、驳回修改、重新提交、审批通过、审批驳回 | 单据编号、费用类型、金额、发票附件、审批节点、审批意见、单据状态、付款状态、驳回原因、课程/课堂 | 金额超限、附件缺失、审批流未命中、重复提交、驳回后未修改、付款异常 | 需绘制草稿、提交中、驳回修改、重新提交、审批完成和付款回写状态。 建议 Figma Frame:TTV-app_14_报销_移动办公;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-14A 报销单填写 / 办公详情 | 教师/员工 | 填写费用类型、金额、项目、发票附件、说明和收款信息,支持保存草稿、提交审批和驳回后修改 | 办公审批页采用待办列表、表单详情、附件预览和流程节点;报销填写页采用费用明细、发票附件、金额校验和底部提交。 | 保存草稿、提交审批、撤回、驳回修改、重新提交、审批通过、审批驳回 | 单据编号、费用类型、金额、发票附件、审批节点、审批意见、单据状态、付款状态、驳回原因、课程/课堂 | 金额超限、附件缺失、审批流未命中、重复提交、驳回后未修改、付款异常 | 需绘制草稿、提交中、驳回修改、重新提交、审批完成和付款回写状态。 建议 Figma Frame:TTV-app_14_a_报销单填写_办公详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | APP-15 我的 / 个人中心与设置 | 教师/员工 | 展示个人资料、当前身份、设备登录、消息设置、版本信息、缓存清理和退出登录 | 教师员工端移动首页采用身份状态区、今日任务聚合、快捷入口和消息待办四段结构;登录页需突出验证码、账号密码、微信/企微授权、校区身份切换和端侧权限提示。 | 登录、发送验证码、切换校区、切换身份、查看待办、进入消息、退出登录 | 手机号、验证码、登录身份、当前校区、岗位角色、端类型、待办数量、消息分类、设备标识、版本号 | 验证码错误、账号停用、无可用校区、身份未授权、设备超限、网络异常 | 需绘制登录注册、身份选择、工作台空状态、越权提示、消息分类和个人设置状态。 建议 Figma Frame:TTV-app_15_我的_个人中心与设置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | 员工端营销推广工作台 | 课程顾问/销售人员/市场人员/班主任 | 查看营销拓客中心发布的可推广活动、个人推广码、海报、活动线索待办和推广战报 | CRM 页采用左侧线索列表、右侧客户详情和底部跟进时间轴,试听页增加到访、反馈和转化任务区。 | 录入线索、查重合并、分配顾问、记录跟进、预约试听、填写反馈、发起仲裁 | 线索编号、家长手机号、学员姓名、来源渠道、保护期、归属顾问、试听课次、转化任务、课程/课堂、班级 | 重复客户、保护期冲突、超时未跟进、试听未到访、教师反馈缺失、归属争议超时 | 需覆盖撞单提示、客户合并、归属仲裁、误合并恢复、试听未到访唤醒和二次转化。 建议 Figma Frame:TTV-员工端营销推广工作台;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | 我的活动二维码与海报 | 课程顾问/销售人员/市场人员/班主任 | 生成、查看、保存和分享活动专属二维码及海报,展示失效、停用和归因状态 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:TTV-我的活动二维码与海报;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | 活动线索待办 | 课程顾问/销售人员/市场人员/班主任 | 承接本人推广产生的线索提醒、跟进任务、试听邀约和转销售状态 | CRM 页采用左侧线索列表、右侧客户详情和底部跟进时间轴,试听页增加到访、反馈和转化任务区。 | 录入线索、查重合并、分配顾问、记录跟进、预约试听、填写反馈、发起仲裁 | 线索编号、家长手机号、学员姓名、来源渠道、保护期、归属顾问、试听课次、转化任务、课程/课堂、班级 | 重复客户、保护期冲突、超时未跟进、试听未到访、教师反馈缺失、归属争议超时 | 需覆盖撞单提示、客户合并、归属仲裁、误合并恢复、试听未到访唤醒和二次转化。 建议 Figma Frame:TTV-活动线索待办;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-01 平板工作台首页 | 教师/员工/督导 | 以分栏布局展示今日课程、待批改、督课任务、培训考试、报销审批和课堂设备状态 | 教师员工端移动首页采用身份状态区、今日任务聚合、快捷入口和消息待办四段结构;登录页需突出验证码、账号密码、微信/企微授权、校区身份切换和端侧权限提示。 | 登录、发送验证码、切换校区、切换身份、查看待办、进入消息、退出登录 | 手机号、验证码、登录身份、当前校区、岗位角色、端类型、待办数量、消息分类、设备标识、版本号 | 验证码错误、账号停用、无可用校区、身份未授权、设备超限、网络异常 | 需绘制登录注册、身份选择、工作台空状态、越权提示、消息分类和个人设置状态。 建议 Figma Frame:TTV-pad_01_平板工作台首页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-02 平板批改工作台 | 教师 | 左侧作业与学员队列,中部答案与附件,右侧评分、评语、语音、订正和发布面板 | 批改类页面手机端采用提交内容、评分、评语和发布按钮纵向流;平板端采用三栏:作业/学员队列、答案预览、评分评语与发布面板。 | 获取编辑锁、保存草稿、批量评分、录制语音、试听语音、发布批改、处理冲突 | 作业、提交记录、学员、分数、文字评语、语音评语、draftVersion、编辑锁、订正要求、发布状态 | 编辑锁占用、draftVersion 冲突、语音敏感词预检失败、个性化评语保护、离线同步失败、附件加载失败 | 需绘制编辑锁提示、批量跳过明细、语音审核失败、离线草稿和版本冲突处理。 建议 Figma Frame:TTV-pad_02_平板批改工作台;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-03 平板课堂点评 / 学员档案 | 教师/班主任/学管师 | 左侧班级学员列表,右侧展示课堂点评、成长档案、历史表现、请假补课和风险提示 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-pad_03_平板课堂点评_学员档案;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-04 安卓平板督课工作台 | 督导/教学主管 | 查看在线巡课、督课任务、课堂质量评分、问题标记、截图证据和整改派发入口 | 督课平板页采用左侧任务列表、中部课堂证据/评分项、右侧整改要求和复核结论;证据对比需支持整改前后并列展示。 | 查看证据、提交整改、上传整改后证据、复核通过、复核驳回、派发整改 | 督课任务、评分规则版本、问题项、整改前证据、整改后证据、整改截止时间、复核结论、复核意见、课程/课堂、班级 | 缺少整改后证据、整改超时、证据加载失败、复核权限不足、重复提交 | 复核通过必须以整改后证据为前置,原型需明确不可通过状态和驳回后再次提交路径。 建议 Figma Frame:TTV-pad_04_安卓平板督课工作台;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-05 督课记录详情 / 整改复核 | 督导/教学主管/教师 | 展示督课评分、问题项、整改前证据、整改要求、整改后证据、复核意见和处理闭环 | 督课平板页采用左侧任务列表、中部课堂证据/评分项、右侧整改要求和复核结论;证据对比需支持整改前后并列展示。 | 查看证据、提交整改、上传整改后证据、复核通过、复核驳回、派发整改 | 督课任务、评分规则版本、问题项、整改前证据、整改后证据、整改截止时间、复核结论、复核意见、课程/课堂、班级 | 缺少整改后证据、整改超时、证据加载失败、复核权限不足、重复提交 | 复核通过必须以整改后证据为前置,原型需明确不可通过状态和驳回后再次提交路径。 建议 Figma Frame:TTV-pad_05_督课记录详情_整改复核;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-06 平板课程资源 / 教案对照 | 教师/代课教师 | 左右分栏对照本节课资源和教案,支持课件预览、音视频播放、投屏和只读教案查看 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-pad_06_平板课程资源_教案对照;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-07 平板今日课程 / 课程详情 | 教师 | 以大屏日程和课程详情结合的方式完成课前准备、点名、点评、资源投放和课堂联动 | 课堂移动页采用课程头部、班级学员区、资源/教案标签页和底部主操作;平板页采用左侧课程/学员列表、中部资源或点名区、右侧状态和提交区。 | 查看课程、查看资源、预览教案、点名提交、批量点评、投放 TV、保存草稿、发布反馈 | 课次、班级、教室、教师、学员、点名状态、点评资格、资源类型、教案版本、TV 状态 | 无课表、资源未授权、教案未发布、未到课学员不可点评、代课授权过期、TV 未绑定、提交失败 | 课程资源与教案需明确只读、投屏、下载权限;点名结果必须驱动点评可用性。 建议 Figma Frame:TTV-pad_07_平板今日课程_课程详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-08 平板办公中心 / 审批与报销 | 教师/员工/主管 | 分栏处理审批列表、审批详情、报销单、附件预览、驳回修改和审批意见 | 办公审批页采用待办列表、表单详情、附件预览和流程节点;报销填写页采用费用明细、发票附件、金额校验和底部提交。 | 保存草稿、提交审批、撤回、驳回修改、重新提交、审批通过、审批驳回 | 单据编号、费用类型、金额、发票附件、审批节点、审批意见、单据状态、付款状态、驳回原因、课程/课堂 | 金额超限、附件缺失、审批流未命中、重复提交、驳回后未修改、付款异常 | 需绘制草稿、提交中、驳回修改、重新提交、审批完成和付款回写状态。 建议 Figma Frame:TTV-pad_08_平板办公中心_审批与报销;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| iPad/安卓平板 App | PAD-09 平板培训学习 / 考试 | 教师/员工 | 大屏阅读培训资料、观看视频、考试答题、查看结果和错题解析 | 培训学习页采用课程分类、资料类型、学习进度和考试入口;考试页采用题目卡片、答题进度、倒计时、交卷确认和结果反馈。 | 阅读资料、继续学习、开始考试、保存答案、交卷、查看错题、申请补考 | 培训任务、课程分类、资料类型、阅读进度、考试、答题进度、成绩、是否通过、错题、补考次数 | 资料无权限、考试超时、重复交卷、未达到学习条件、补考次数用尽 | 需体现学习进度恢复、考试中断恢复、结果页和错题回看。 建议 Figma Frame:TTV-pad_09_平板培训学习_考试;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| macOS/Windows Electron | 教师桌面直播工作台 | 教师/助教 | 开播、摄像头麦克风采集、屏幕共享、课件共享、互动授课、本地录制和直播异常处理 | 教师桌面直播端采用主舞台、右侧互动/连麦队列、底部直播控制条和顶部推流质量状态;移动端连麦管理采用队列列表和座席卡片。 | 设备检测、开始直播、共享屏幕、共享课件、同意上麦、拒绝上麦、静音、下麦 | 直播间、供应商、设备检测、推流状态、录制状态、排队序号、座席、邀请倒计时、弱网提示、错误码 | 摄像头未授权、麦克风不可用、屏幕录制权限缺失、供应商失败、连麦超时、座席冲突 | 需绘制设备检测弹窗、连麦队列、座席管理、弱网提示和异常重试。 建议 Figma Frame:TTV-教师桌面直播工作台;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App + Electron | 教师连麦队列管理 | 教师/助教 | 处理学员举手队列、邀请上麦、拒绝、静音、下麦、清空队列和异常重试 | 教师桌面直播端采用主舞台、右侧互动/连麦队列、底部直播控制条和顶部推流质量状态;移动端连麦管理采用队列列表和座席卡片。 | 设备检测、开始直播、共享屏幕、共享课件、同意上麦、拒绝上麦、静音、下麦 | 直播间、供应商、设备检测、推流状态、录制状态、排队序号、座席、邀请倒计时、弱网提示、错误码 | 摄像头未授权、麦克风不可用、屏幕录制权限缺失、供应商失败、连麦超时、座席冲突 | 需绘制设备检测弹窗、连麦队列、座席管理、弱网提示和异常重试。 建议 Figma Frame:TTV-教师连麦队列管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | 教师电子工资条 | 教师/员工 | 查看电子工资条、确认无误、提交异议并接收小程序推送提醒 | 工资条页采用期间列表和详情分区,详情展示应发、扣款、实发、课酬提成和社保公积金可见性;异议页展示原因、附件和处理进度。 | 查看工资条、确认工资条、提交异议、上传附件、查看处理结果、重新确认 | 薪资期间、应发金额、扣款金额、实发金额、社保显示、公积金显示、确认状态、异议原因、处理结果、课程/课堂 | 工资条未发布、工资条已撤回、确认期限已过、字段无权限、附件上传失败 | 需体现社保/公积金后台开关、撤回重发、重新确认和小程序推送结果。 建议 Figma Frame:TTV-教师电子工资条;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/小程序 | 工资条异议提交 | 教师/员工 | 填写异议类型、说明和附件,跟踪人事处理结果 | 工资条页采用期间列表和详情分区,详情展示应发、扣款、实发、课酬提成和社保公积金可见性;异议页展示原因、附件和处理进度。 | 查看工资条、确认工资条、提交异议、上传附件、查看处理结果、重新确认 | 薪资期间、应发金额、扣款金额、实发金额、社保显示、公积金显示、确认状态、异议原因、处理结果、课程/课堂 | 工资条未发布、工资条已撤回、确认期限已过、字段无权限、附件上传失败 | 需体现社保/公积金后台开关、撤回重发、重新确认和小程序推送结果。 建议 Figma Frame:TTV-工资条异议提交;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| Android TV | 教学安卓 TV 首页 | 教师/课堂 | 绑定教室、选择课程、进入课堂展示 | Android TV 采用远距离可读全屏布局,首页突出教室绑定、课程选择和设备状态;播放页突出课件内容、焦点态、遥控器路径和教师端指令反馈。 | 绑定教室、进入课堂、播放课件、暂停、翻页、展示互动题、返回、退出课堂 | 设备编码、教室、绑定码、课程、课堂会话、课件、播放状态、焦点区域、指令状态、心跳时间 | 设备离线、绑定码错误、资源加载失败、焦点丢失、指令超时、课堂已结束 | TV 原型需补齐 10-foot UI、遥控器焦点态、断网恢复和教师端遥控响应。 建议 Figma Frame:TTV-教学安卓_tv_首页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| Android TV | TV 课件播放 | 教师/课堂 | 播放课件、视频、音频、互动题和课堂资源 | Android TV 采用远距离可读全屏布局,首页突出教室绑定、课程选择和设备状态;播放页突出课件内容、焦点态、遥控器路径和教师端指令反馈。 | 绑定教室、进入课堂、播放课件、暂停、翻页、展示互动题、返回、退出课堂 | 设备编码、教室、绑定码、课程、课堂会话、课件、播放状态、焦点区域、指令状态、心跳时间 | 设备离线、绑定码错误、资源加载失败、焦点丢失、指令超时、课堂已结束 | TV 原型需补齐 10-foot UI、遥控器焦点态、断网恢复和教师端遥控响应。 建议 Figma Frame:TTV-tv_课件播放;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App | 课堂联动控制 | 教师 | 控制 TV 翻页、播放、暂停、互动投放和退出课堂 | Android TV 采用远距离可读全屏布局,首页突出教室绑定、课程选择和设备状态;播放页突出课件内容、焦点态、遥控器路径和教师端指令反馈。 | 绑定教室、进入课堂、播放课件、暂停、翻页、展示互动题、返回、退出课堂 | 设备编码、教室、绑定码、课程、课堂会话、课件、播放状态、焦点区域、指令状态、心跳时间 | 设备离线、绑定码错误、资源加载失败、焦点丢失、指令超时、课堂已结束 | TV 原型需补齐 10-foot UI、遥控器焦点态、断网恢复和教师端遥控响应。 建议 Figma Frame:TTV-课堂联动控制;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 可推广活动 | 教师/员工/助教/课堂 | 围绕营销推广承接完善可推广活动的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-可推广活动;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 我的二维码 | 教师/员工/助教/课堂 | 围绕营销推广承接完善我的二维码的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-我的二维码;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 我的海报 | 教师/员工/助教/课堂 | 围绕营销推广承接完善我的海报的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-我的海报;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 推广战报 | 教师/员工/助教/课堂 | 围绕营销推广承接完善推广战报的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-推广战报;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 教师 App 控制台 | 教师/员工/助教/课堂 | 围绕教师直播完善教师 App 控制台的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-教师_app_控制台;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | iPad | 教师/员工/助教/课堂 | 围绕端侧适配完善iPad的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-i_pad;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 安卓平板 | 教师/员工/助教/课堂 | 围绕端侧适配完善安卓平板的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-安卓平板;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | Electron | 教师/员工/助教/课堂 | 围绕端侧适配完善Electron的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-electron;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | Android TV | 教师/员工/助教/课堂 | 围绕端侧适配完善Android TV的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-android_tv;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 员工工作台 | 教师/员工/助教/课堂 | 围绕员工能力完善员工工作台的入口、字段、状态、异常提示、处理进度和验收反馈 | TV 端采用远距离可读的大字号全屏布局,焦点态、遥控器方向键和返回键路径必须完整。 | 进入、播放、暂停、确认、返回、重试、查看课表、活动推广 | 课程/课堂、班级、设备状态、课堂会话、连麦座席、课件资源、工资条期间、异常提示 | 设备离线、焦点丢失、资源加载失败、网络异常 | 需补齐 10-foot UI、焦点态、遥控器操作和断网恢复。 建议 Figma Frame:TTV-员工工作台;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 工资条 | 教师/员工/助教/课堂 | 围绕员工能力完善工资条的入口、字段、状态、异常提示、处理进度和验收反馈 | 工资条页采用期间列表和详情分区,详情展示应发、扣款、实发、课酬提成和社保公积金可见性;异议页展示原因、附件和处理进度。 | 查看工资条、确认工资条、提交异议、上传附件、查看处理结果、重新确认 | 薪资期间、应发金额、扣款金额、实发金额、社保显示、公积金显示、确认状态、异议原因、处理结果、课程/课堂 | 工资条未发布、工资条已撤回、确认期限已过、字段无权限、附件上传失败 | 需体现社保/公积金后台开关、撤回重发、重新确认和小程序推送结果。 建议 Figma Frame:TTV-工资条;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 教师/员工 App/平板/Electron/Android TV | 报销 | 教师/员工/助教/课堂 | 围绕员工能力完善报销的入口、字段、状态、异常提示、处理进度和验收反馈 | 办公审批页采用待办列表、表单详情、附件预览和流程节点;报销填写页采用费用明细、发票附件、金额校验和底部提交。 | 保存草稿、提交审批、撤回、驳回修改、重新提交、审批通过、审批驳回 | 单据编号、费用类型、金额、发票附件、审批节点、审批意见、单据状态、付款状态、驳回原因、课程/课堂 | 金额超限、附件缺失、审批流未命中、重复提交、驳回后未修改、付款异常 | 需绘制草稿、提交中、驳回修改、重新提交、审批完成和付款回写状态。 建议 Figma Frame:TTV-报销;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
09 · 页面到接口的前后端闭环矩阵
把原型页面、后端接口、数据对象、状态和消息审批绑定到一起
设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。| 原型页面 | 关键接口 | 关联对象 | 状态流 | 审批/权限触发 | 消息/待办触达 | 原型验收要求 |
|---|---|---|---|---|---|---|
| APP-01 登录 / 选择校区与身份 | GET /api/v1/teacher/auth/identity-options | TeacherWorkspace | 未开始 -> 待绑定 -> 已绑定 -> 展示中 -> 互动中 -> 已结束 -> 异常断开 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 移动报销处理通知 -> 教师/员工/审批人 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-02 工作台首页 | GET /api/v1/teacher/workspace | TeacherWorkspace/TeacherTodo | 未绑定 -> 在线 -> 播放中 -> 离线 -> 异常 -> 停用 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 课堂开始提醒 -> 教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-03 今日课程 | GET /api/v1/teacher/today-lessons | Class/Schedule/Lesson | 未开始 -> 待绑定 -> 已绑定 -> 展示中 -> 互动中 -> 已结束 -> 异常断开 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 课堂开始提醒 -> 教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-04 课程详情 | GET /api/v1/lesson/resources | LessonResource/LessonPlan | 未授权 -> 已授权 -> 可预览 -> 可投放 -> 已下架 -> 权限过期 | 课程资源与教案发布授权:后台教研发布课程资源和教案后,教师端只读查看并按课次授权投放,禁止端侧直接修改教研内容 | 课程资源更新通知 -> 教师/代课教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-04A 课程资源 / 本节资源包 | GET /api/v1/lesson/resources | LessonResource/LessonPlan | 未授权 -> 已授权 -> 可预览 -> 可投放 -> 已下架 -> 权限过期 | 课程资源与教案发布授权:后台教研发布课程资源和教案后,教师端只读查看并按课次授权投放,禁止端侧直接修改教研内容 | 课程资源更新通知 -> 教师/代课教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-04B 教案详情 / 教案预览 | GET /api/v1/lesson/plans/{lessonId} | LessonPlan | 未发布 -> 已发布 -> 只读预览 -> 版本更新 -> 已归档 | 课程资源与教案发布授权:后台教研发布课程资源和教案后,教师端只读查看并按课次授权投放,禁止端侧直接修改教研内容 | 课程资源更新通知 -> 教师/代课教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-05 课堂点名 | POST /api/v1/teacher/attendance/submit | LessonAttendanceItem/LessonComment | 待点名 -> 点名中 -> 已到课 -> 迟到待确认 -> 请假 -> 旷课 -> 未到 -> 可点评 -> 不可点评 -> 点评已发布 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 课堂开始提醒 -> 教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-06 课堂点评 | POST /api/v1/teacher/attendance/submit | LessonAttendanceItem/LessonComment | 待点名 -> 点名中 -> 已到课 -> 迟到待确认 -> 请假 -> 旷课 -> 未到 -> 可点评 -> 不可点评 -> 点评已发布 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 课堂开始提醒 -> 教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-07 待批改作业 | POST /api/v1/teacher/homework/review | HomeworkReviewDraft/HomeworkEditLock/AudioCommentReview | 未锁定 -> 锁定中 -> 编辑中 -> 已保存草稿 -> 版本冲突 -> 已释放 -> 强制释放 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 批改编辑锁提醒 -> 教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-08 作业批改详情 | POST /api/v1/teacher/homework/review | HomeworkReviewDraft/HomeworkEditLock/AudioCommentReview | 未锁定 -> 锁定中 -> 编辑中 -> 已保存草稿 -> 版本冲突 -> 已释放 -> 强制释放 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 批改编辑锁提醒 -> 教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-08A 轻量批量批改 | POST /api/v1/teacher/homework/review | HomeworkReviewDraft/HomeworkEditLock/AudioCommentReview | 未锁定 -> 锁定中 -> 编辑中 -> 已保存草稿 -> 版本冲突 -> 已释放 -> 强制释放 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 批改编辑锁提醒 -> 教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| APP-09 测评反馈 | POST /api/v1/teacher/assessments/feedback | LessonComment | 待点名 -> 点名中 -> 已到课 -> 迟到待确认 -> 请假 -> 旷课 -> 未到 -> 可点评 -> 不可点评 -> 点评已发布 | 端侧教学操作授权:教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 课堂开始提醒 -> 教师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
10 · 原型、UI、研发、测试交付补充
把关键闭环补强为下一阶段可执行任务
本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。| 能力域 | 功能补充要求 | 原型交付要求 | UI 交互要求 | 研发实现要求 | 测试验收要求 |
|---|---|---|---|---|---|
| 营销推广承接 | 补齐员工端营销推广工作台、可推广活动、专属二维码/海报、分享记录、活动线索待办和推广战报。 | 员工端营销推广工作台、可推广活动、我的二维码、我的海报、活动线索待办、推广战报 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;员工端可以完成活动领取、专属码生成、分享推广、查看本人线索和推广效果,所有操作回写营销拓客中心和 CRM。 |
| 教师直播 | 增加连麦队列、座席管理、设备检测、静音、下麦、超时和失败处理。 | 教师桌面直播工作台、教师 App 控制台 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;教师端能处理学员端全部连麦状态。 |
| 端侧适配 | 补齐平板分栏、桌面直播能力边界、TV 遥控焦点和课堂会话联动。 | iPad/安卓平板、Electron、Android TV 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;不同终端有独立页面与交互说明。 |
| 员工能力 | 补齐工资条查看确认、异议、小程序推送、报销审批、培训考试和消息联动。 | 员工工作台、工资条、报销、培训 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;员工端操作能回写对应后台模块。 |
11 · 数据对象与字段字典
明确页面、接口、数据库共同使用的数据语言
字段涉及敏感、人脸、财务、绩效时,原型需体现脱敏、授权和审计。核心对象
| 对象 | 说明 |
|---|---|
| TeacherWorkspace | 教师/员工移动工作台配置;落地表:mob_teacher_workspace |
| TeacherTodo | 教师/员工待办;落地表:mob_teacher_todo |
| LessonResource | 课次课程资源授权;落地表:edu_lesson_resource |
| LessonPlan | 本节教案版本;落地表:edu_lesson_plan |
| SubstituteGrant | 应急代课短时授权;落地表:edu_substitute_grant |
| LessonAttendanceItem | 课堂点名明细与点评资格;落地表:edu_lesson_attendance_item |
| LessonComment | 课堂点评记录;落地表:edu_lesson_comment |
| HomeworkReviewDraft | 教师批改草稿;落地表:edu_homework_review_draft |
| HomeworkEditLock | 作业批改跨端编辑锁;落地表:edu_homework_edit_lock |
| AudioCommentReview | 语音评语审核;落地表:edu_audio_comment_review |
| OfflineSyncQueue | 平板离线补偿同步队列;落地表:mob_offline_sync_queue |
| TrainingExamAttempt | 员工培训考试答题记录;落地表:kbt_training_exam_attempt |
| ExpenseReport | 教师员工移动报销单;落地表:fin_expense_report |
| PatrolRectificationReview | 督课整改复核记录;落地表:pat_rectification_review |
| ClassroomSession | 课堂会话;落地表:cls_classroom_session |
| TVDevice | 安卓 TV 教学端设备;落地表:tv_device |
| TVCommandLog | 教师端到 TV 端遥控命令;落地表:tv_command_log |
| TeacherDesktopSession | 教师 Electron 桌面直播端会话;落地表:teacher_desktop_session |
关联引用对象
| 对象 | 说明 |
|---|---|
| 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 |
| EmployeePromotionAsset | 员工专属推广链接、二维码和海报资产;引用来源:MKT / mkt_employee_promotion_asset |
| EmployeeCampaignStat | 员工活动推广效果快照;引用来源:MKT / mkt_employee_campaign_stat |
| Lead | 销售线索主表;引用来源:CRM / crm_lead |
| Schedule/Lesson | 课次和排课;引用来源:EDU / edu_lesson |
| Class | 班级;引用来源:EDU / edu_class |
| LiveRoom | 直播间;引用来源:LIVE / live_room |
| LiveMicRequest | 举手上麦请求;引用来源:LIVE / live_mic_request |
| PayrollPayslip | 电子工资条;引用来源:HR / hr_payslip |
| TrainingLearningTask | 员工学习任务;引用来源:KBT / kb_learning_task |
完整字段字典
| 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|
| TeacherWorkspace | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| TeacherWorkspace | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| TeacherWorkspace | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| TeacherWorkspace | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| TeacherWorkspace | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| TeacherWorkspace | created_at | DATETIME | 是 | 创建时间 | 普通 |
| TeacherWorkspace | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| TeacherWorkspace | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| TeacherWorkspace | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| TeacherWorkspace | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| TeacherWorkspace | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| TeacherWorkspace | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| TeacherWorkspace | user_id | BIGINT | 是 | 教师/员工账号 ID | 普通 |
| TeacherWorkspace | terminal_type | VARCHAR(32) | 是 | 手机/小程序/iPad/安卓平板/桌面端 | 普通 |
| TeacherWorkspace | widget_config | JSON | 否 | 工作台组件配置 | 普通 |
| TeacherWorkspace | todo_count_snapshot | JSON | 否 | 待办数量快照 | 普通 |
| TeacherWorkspace | last_open_at | DATETIME | 否 | 最近打开时间 | 普通 |
| TeacherTodo | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| TeacherTodo | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| TeacherTodo | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| TeacherTodo | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| TeacherTodo | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| TeacherTodo | created_at | DATETIME | 是 | 创建时间 | 普通 |
| TeacherTodo | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| TeacherTodo | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| TeacherTodo | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| TeacherTodo | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| TeacherTodo | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| TeacherTodo | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| TeacherTodo | todo_no | VARCHAR(64) | 是 | 待办编号,唯一 | 普通 |
| TeacherTodo | user_id | BIGINT | 是 | 接收人 ID | 普通 |
| TeacherTodo | todo_type | VARCHAR(64) | 是 | 签到/批改/审批/培训/直播/工资条/营销推广/线索跟进 | 普通 |
| TeacherTodo | biz_id | BIGINT | 是 | 业务 ID | 普通 |
| TeacherTodo | due_at | DATETIME | 否 | 截止时间 | 普通 |
| TeacherTodo | todo_status | VARCHAR(32) | 是 | 待处理/已处理/已过期 | 普通 |
| LessonResource | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| LessonResource | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| LessonResource | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| LessonResource | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| LessonResource | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| LessonResource | created_at | DATETIME | 是 | 创建时间 | 普通 |
| LessonResource | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| LessonResource | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| LessonResource | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| LessonResource | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| LessonResource | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| LessonResource | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| LessonResource | resource_no | VARCHAR(64) | 是 | 资源编号,唯一 | 普通 |
| LessonResource | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| LessonResource | course_id | BIGINT | 是 | 课程 ID | 普通 |
| LessonResource | resource_type | VARCHAR(32) | 是 | 课件/音视频/互动题/讲义/练习/素材 | 普通 |
| LessonResource | resource_name | VARCHAR(128) | 是 | 资源名称 | 普通 |
| LessonResource | file_id | BIGINT | 否 | 文件中心资源 ID | 普通 |
| LessonResource | preview_policy | JSON | 否 | 预览权限策略 | 普通 |
| LessonResource | projection_policy | JSON | 否 | 投屏/TV 展示权限策略 | 普通 |
| LessonResource | download_policy | JSON | 否 | 下载权限策略 | 普通 |
| LessonResource | publish_status | VARCHAR(32) | 是 | 未发布/已发布/已下架 | 普通 |
| LessonResource | version_no | VARCHAR(32) | 是 | 资源版本号 | 普通 |
| LessonPlan | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| LessonPlan | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| LessonPlan | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| LessonPlan | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| LessonPlan | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| LessonPlan | created_at | DATETIME | 是 | 创建时间 | 普通 |
| LessonPlan | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| LessonPlan | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| LessonPlan | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| LessonPlan | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| LessonPlan | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| LessonPlan | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| LessonPlan | plan_no | VARCHAR(64) | 是 | 教案编号,唯一 | 普通 |
| LessonPlan | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| LessonPlan | course_id | BIGINT | 是 | 课程 ID | 普通 |
| LessonPlan | plan_title | VARCHAR(128) | 是 | 教案标题 | 普通 |
| LessonPlan | plan_content | JSON | 是 | 教案结构化内容,包含目标、步骤、重点难点和课后任务 | 普通 |
| LessonPlan | version_no | VARCHAR(32) | 是 | 教案版本号 | 普通 |
| LessonPlan | read_only | TINYINT | 是 | 教师端是否只读,固定为 1 | 普通 |
| LessonPlan | publish_status | VARCHAR(32) | 是 | 未发布/已发布/已归档 | 普通 |
| LessonPlan | published_at | DATETIME | 否 | 发布时间 | 普通 |
| SubstituteGrant | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| SubstituteGrant | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| SubstituteGrant | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| SubstituteGrant | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| SubstituteGrant | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| SubstituteGrant | created_at | DATETIME | 是 | 创建时间 | 普通 |
| SubstituteGrant | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| SubstituteGrant | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| SubstituteGrant | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| SubstituteGrant | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| SubstituteGrant | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| SubstituteGrant | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| SubstituteGrant | grant_no | VARCHAR(64) | 是 | 代课授权编号,唯一 | 普通 |
| SubstituteGrant | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| SubstituteGrant | original_teacher_id | BIGINT | 是 | 原任课教师 ID | 普通 |
| SubstituteGrant | substitute_teacher_id | BIGINT | 是 | 代课教师 ID | 普通 |
| SubstituteGrant | grant_code | VARCHAR(64) | 是 | 扫码或输入码授权码,唯一 | 普通 |
| SubstituteGrant | allowed_actions | JSON | 是 | 允许动作,默认点名/点评/课程资源/名单查看 | 普通 |
| SubstituteGrant | valid_from | DATETIME | 是 | 授权开始时间 | 普通 |
| SubstituteGrant | valid_until | DATETIME | 是 | 授权截止时间 | 普通 |
| SubstituteGrant | grant_status | VARCHAR(32) | 是 | 待领取/有效/已过期/已撤销/已使用 | 普通 |
| SubstituteGrant | used_at | DATETIME | 否 | 首次使用时间 | 普通 |
| LessonAttendanceItem | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| LessonAttendanceItem | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| LessonAttendanceItem | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| LessonAttendanceItem | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| LessonAttendanceItem | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| LessonAttendanceItem | created_at | DATETIME | 是 | 创建时间 | 普通 |
| LessonAttendanceItem | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| LessonAttendanceItem | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| LessonAttendanceItem | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| LessonAttendanceItem | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| LessonAttendanceItem | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| LessonAttendanceItem | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| LessonAttendanceItem | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| LessonAttendanceItem | student_id | BIGINT | 是 | 学员 ID | 普通 |
| LessonAttendanceItem | teacher_id | BIGINT | 是 | 操作教师 ID | 普通 |
| LessonAttendanceItem | attendance_status | VARCHAR(32) | 是 | 到课/迟到/请假/旷课/未到/补课到课 | 普通 |
| LessonAttendanceItem | source_type | VARCHAR(32) | 是 | 人工/人脸识别/补录/导入 | 普通 |
| LessonAttendanceItem | reason_code | VARCHAR(64) | 否 | 异常或请假原因编码 | 普通 |
| LessonAttendanceItem | arrived_at | DATETIME | 否 | 到课时间 | 普通 |
| LessonAttendanceItem | comment_eligible | TINYINT | 是 | 是否允许课堂点评,未到课状态为 0 | 普通 |
| LessonAttendanceItem | blocked_reason | VARCHAR(255) | 否 | 不可点评原因 | 普通 |
| LessonComment | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| LessonComment | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| LessonComment | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| LessonComment | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| LessonComment | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| LessonComment | created_at | DATETIME | 是 | 创建时间 | 普通 |
| LessonComment | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| LessonComment | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| LessonComment | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| LessonComment | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| LessonComment | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| LessonComment | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| LessonComment | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| LessonComment | student_id | BIGINT | 是 | 学员 ID | 普通 |
| LessonComment | teacher_id | BIGINT | 是 | 点评教师 ID | 普通 |
| LessonComment | attendance_status_snapshot | VARCHAR(32) | 是 | 提交点评时的点名状态快照 | 普通 |
| LessonComment | comment_content | TEXT | 否 | 课堂表现和学习建议 | 普通 |
| LessonComment | photo_file_ids | JSON | 否 | 课堂照片附件 | 普通 |
| LessonComment | audio_comment_id | BIGINT | 否 | 语音评语 ID | 普通 |
| LessonComment | publish_status | VARCHAR(32) | 是 | 草稿/待审核/已发布/已驳回 | 普通 |
| LessonComment | published_at | DATETIME | 否 | 发布时间 | 普通 |
| HomeworkReviewDraft | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| HomeworkReviewDraft | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| HomeworkReviewDraft | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| HomeworkReviewDraft | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| HomeworkReviewDraft | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| HomeworkReviewDraft | created_at | DATETIME | 是 | 创建时间 | 普通 |
| HomeworkReviewDraft | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| HomeworkReviewDraft | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| HomeworkReviewDraft | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| HomeworkReviewDraft | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| HomeworkReviewDraft | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| HomeworkReviewDraft | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| HomeworkReviewDraft | draft_no | VARCHAR(64) | 是 | 批改草稿编号,唯一 | 普通 |
| HomeworkReviewDraft | homework_id | BIGINT | 是 | 作业 ID | 普通 |
| HomeworkReviewDraft | submission_id | BIGINT | 是 | 作业提交 ID | 普通 |
| HomeworkReviewDraft | student_id | BIGINT | 是 | 学员 ID | 普通 |
| HomeworkReviewDraft | teacher_id | BIGINT | 是 | 批改教师 ID | 普通 |
| HomeworkReviewDraft | draft_version | INT | 是 | 批改草稿版本号 | 普通 |
| HomeworkReviewDraft | score | DECIMAL(8,2) | 否 | 评分 | 普通 |
| HomeworkReviewDraft | text_comment | TEXT | 否 | 文字评语 | 普通 |
| HomeworkReviewDraft | audio_comment_id | BIGINT | 否 | 语音评语 ID | 普通 |
| HomeworkReviewDraft | correction_required | TINYINT | 是 | 是否要求订正 | 普通 |
| HomeworkReviewDraft | draft_status | VARCHAR(32) | 是 | 草稿/待发布/已发布/冲突/已废弃 | 普通 |
| HomeworkReviewDraft | last_saved_at | DATETIME | 否 | 最近保存时间 | 普通 |
| HomeworkEditLock | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| HomeworkEditLock | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| HomeworkEditLock | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| HomeworkEditLock | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| HomeworkEditLock | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| HomeworkEditLock | created_at | DATETIME | 是 | 创建时间 | 普通 |
| HomeworkEditLock | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| HomeworkEditLock | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| HomeworkEditLock | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| HomeworkEditLock | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| HomeworkEditLock | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| HomeworkEditLock | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| HomeworkEditLock | lock_no | VARCHAR(64) | 是 | 编辑锁编号,唯一 | 普通 |
| HomeworkEditLock | submission_id | BIGINT | 是 | 作业提交 ID | 普通 |
| HomeworkEditLock | teacher_id | BIGINT | 是 | 锁定教师 ID | 普通 |
| HomeworkEditLock | terminal_type | VARCHAR(32) | 是 | 手机/小程序/iPad/安卓平板 | 普通 |
| HomeworkEditLock | lock_token | VARCHAR(128) | 是 | 编辑锁令牌,唯一 | 普通 |
| HomeworkEditLock | lock_status | VARCHAR(32) | 是 | 锁定中/已释放/已过期/强制释放 | 普通 |
| HomeworkEditLock | locked_at | DATETIME | 是 | 锁定时间 | 普通 |
| HomeworkEditLock | expire_at | DATETIME | 是 | 锁过期时间 | 普通 |
| HomeworkEditLock | released_at | DATETIME | 否 | 释放时间 | 普通 |
| AudioCommentReview | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| AudioCommentReview | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| AudioCommentReview | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| AudioCommentReview | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| AudioCommentReview | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| AudioCommentReview | created_at | DATETIME | 是 | 创建时间 | 普通 |
| AudioCommentReview | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| AudioCommentReview | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| AudioCommentReview | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| AudioCommentReview | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| AudioCommentReview | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| AudioCommentReview | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| AudioCommentReview | audio_comment_no | VARCHAR(64) | 是 | 语音评语编号,唯一 | 普通 |
| AudioCommentReview | biz_type | VARCHAR(32) | 是 | 作业批改/课堂点评/测评反馈 | 普通 |
| AudioCommentReview | biz_id | BIGINT | 是 | 业务对象 ID | 普通 |
| AudioCommentReview | teacher_id | BIGINT | 是 | 教师 ID | 普通 |
| AudioCommentReview | audio_file_id | BIGINT | 是 | 语音文件 ID | 普通 |
| AudioCommentReview | duration_seconds | INT | 是 | 语音时长秒数 | 普通 |
| AudioCommentReview | transcript_text | TEXT | 否 | 语音转写文本 | 普通 |
| AudioCommentReview | precheck_status | VARCHAR(32) | 是 | 待预检/通过/拦截 | 普通 |
| AudioCommentReview | review_status | VARCHAR(32) | 是 | 待审核/通过/驳回 | 普通 |
| AudioCommentReview | sensitive_hits | JSON | 否 | 敏感词命中结果 | 普通 |
| OfflineSyncQueue | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| OfflineSyncQueue | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| OfflineSyncQueue | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| OfflineSyncQueue | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| OfflineSyncQueue | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| OfflineSyncQueue | created_at | DATETIME | 是 | 创建时间 | 普通 |
| OfflineSyncQueue | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| OfflineSyncQueue | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| OfflineSyncQueue | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| OfflineSyncQueue | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| OfflineSyncQueue | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| OfflineSyncQueue | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| OfflineSyncQueue | sync_batch_no | VARCHAR(64) | 是 | 离线同步批次号,唯一 | 普通 |
| OfflineSyncQueue | employee_id | BIGINT | 是 | 员工/教师 ID | 普通 |
| OfflineSyncQueue | terminal_type | VARCHAR(32) | 是 | iPad/安卓平板 | 普通 |
| OfflineSyncQueue | device_id | VARCHAR(128) | 是 | 端侧设备 ID | 普通 |
| OfflineSyncQueue | offline_payload | JSON | 是 | 离线操作载荷 | 普通 |
| OfflineSyncQueue | draft_version | INT | 否 | 端侧草稿版本 | 普通 |
| OfflineSyncQueue | sync_status | VARCHAR(32) | 是 | 待同步/同步中/成功/冲突/失败 | 普通 |
| OfflineSyncQueue | conflict_items | JSON | 否 | 冲突明细 | 普通 |
| OfflineSyncQueue | retry_count | INT | 是 | 重试次数 | 普通 |
| OfflineSyncQueue | last_sync_at | DATETIME | 否 | 最近同步时间 | 普通 |
| TrainingExamAttempt | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| TrainingExamAttempt | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| TrainingExamAttempt | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| TrainingExamAttempt | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| TrainingExamAttempt | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| TrainingExamAttempt | created_at | DATETIME | 是 | 创建时间 | 普通 |
| TrainingExamAttempt | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| TrainingExamAttempt | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| TrainingExamAttempt | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| TrainingExamAttempt | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| TrainingExamAttempt | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| TrainingExamAttempt | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| TrainingExamAttempt | attempt_no | VARCHAR(64) | 是 | 答题记录编号,唯一 | 普通 |
| TrainingExamAttempt | employee_id | BIGINT | 是 | 员工 ID | 普通 |
| TrainingExamAttempt | exam_id | BIGINT | 是 | 考试 ID | 普通 |
| TrainingExamAttempt | task_id | BIGINT | 否 | 培训任务 ID | 普通 |
| TrainingExamAttempt | started_at | DATETIME | 是 | 开始答题时间 | 普通 |
| TrainingExamAttempt | submitted_at | DATETIME | 否 | 交卷时间 | 普通 |
| TrainingExamAttempt | score | DECIMAL(8,2) | 否 | 考试得分 | 普通 |
| TrainingExamAttempt | pass_status | VARCHAR(32) | 否 | 未判分/已通过/未通过 | 普通 |
| TrainingExamAttempt | wrong_question_snapshot | JSON | 否 | 错题快照 | 普通 |
| TrainingExamAttempt | attempt_status | VARCHAR(32) | 是 | 进行中/已交卷/已超时/已作废 | 普通 |
| ExpenseReport | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ExpenseReport | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ExpenseReport | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ExpenseReport | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ExpenseReport | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ExpenseReport | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ExpenseReport | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ExpenseReport | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ExpenseReport | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ExpenseReport | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ExpenseReport | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ExpenseReport | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ExpenseReport | report_no | VARCHAR(64) | 是 | 报销单号,唯一 | 普通 |
| ExpenseReport | employee_id | BIGINT | 是 | 报销人 ID | 普通 |
| ExpenseReport | expense_type | VARCHAR(32) | 是 | 报销类型 | 普通 |
| ExpenseReport | amount | DECIMAL(18,2) | 是 | 报销金额 | 普通 |
| ExpenseReport | invoice_file_ids | JSON | 否 | 发票附件 ID 列表 | 普通 |
| ExpenseReport | item_snapshot | JSON | 是 | 费用明细快照 | 普通 |
| ExpenseReport | approval_instance_id | BIGINT | 否 | 审批实例 ID | 普通 |
| ExpenseReport | report_status | VARCHAR(32) | 是 | 草稿/审批中/已驳回/已通过/付款中/已付款/已作废 | 普通 |
| ExpenseReport | submitted_at | DATETIME | 否 | 提交时间 | 普通 |
| PatrolRectificationReview | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| PatrolRectificationReview | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| PatrolRectificationReview | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| PatrolRectificationReview | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| PatrolRectificationReview | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| PatrolRectificationReview | created_at | DATETIME | 是 | 创建时间 | 普通 |
| PatrolRectificationReview | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| PatrolRectificationReview | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| PatrolRectificationReview | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| PatrolRectificationReview | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| PatrolRectificationReview | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| PatrolRectificationReview | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| PatrolRectificationReview | review_no | VARCHAR(64) | 是 | 复核编号,唯一 | 普通 |
| PatrolRectificationReview | rectification_id | BIGINT | 是 | 整改任务 ID | 普通 |
| PatrolRectificationReview | reviewer_id | BIGINT | 是 | 复核人 ID | 普通 |
| PatrolRectificationReview | before_evidence_ids | JSON | 是 | 整改前证据 ID 列表 | 普通 |
| PatrolRectificationReview | after_evidence_ids | JSON | 是 | 整改后证据 ID 列表 | 普通 |
| PatrolRectificationReview | review_result | VARCHAR(32) | 是 | 通过/驳回/待补充 | 普通 |
| PatrolRectificationReview | review_comment | VARCHAR(1024) | 否 | 复核意见 | 普通 |
| PatrolRectificationReview | review_status | VARCHAR(32) | 是 | 待复核/已通过/已驳回/已关闭 | 普通 |
| PatrolRectificationReview | reviewed_at | DATETIME | 否 | 复核时间 | 普通 |
| ClassroomSession | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ClassroomSession | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ClassroomSession | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ClassroomSession | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ClassroomSession | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ClassroomSession | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ClassroomSession | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ClassroomSession | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ClassroomSession | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ClassroomSession | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ClassroomSession | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ClassroomSession | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ClassroomSession | session_no | VARCHAR(64) | 是 | 课堂会话编号,唯一 | 普通 |
| ClassroomSession | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| ClassroomSession | teacher_id | BIGINT | 是 | 教师 ID | 普通 |
| ClassroomSession | tv_device_id | BIGINT | 否 | 教学 TV 设备 ID | 普通 |
| ClassroomSession | session_status | VARCHAR(32) | 是 | 未开始/进行中/已结束/异常 | 普通 |
| ClassroomSession | resource_state | JSON | 否 | 课件投放与播放状态 | 普通 |
| TVDevice | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| TVDevice | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| TVDevice | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| TVDevice | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| TVDevice | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| TVDevice | created_at | DATETIME | 是 | 创建时间 | 普通 |
| TVDevice | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| TVDevice | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| TVDevice | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| TVDevice | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| TVDevice | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| TVDevice | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| TVDevice | device_code | VARCHAR(64) | 是 | TV 设备编码,唯一 | 普通 |
| TVDevice | classroom_id | BIGINT | 是 | 绑定教室 ID | 普通 |
| TVDevice | app_version | VARCHAR(32) | 是 | 应用版本 | 普通 |
| TVDevice | device_status | VARCHAR(32) | 是 | 在线/离线/停用/异常 | 普通 |
| TVDevice | heartbeat_at | DATETIME | 否 | 最近心跳 | 普通 |
| TVDevice | focus_mode | VARCHAR(32) | 否 | 遥控器焦点模式 | 普通 |
| TVCommandLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| TVCommandLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| TVCommandLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| TVCommandLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| TVCommandLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| TVCommandLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| TVCommandLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| TVCommandLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| TVCommandLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| TVCommandLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| TVCommandLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| TVCommandLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| TVCommandLog | command_no | VARCHAR(64) | 是 | 命令编号,唯一 | 普通 |
| TVCommandLog | tv_device_id | BIGINT | 是 | TV 设备 ID | 普通 |
| TVCommandLog | sender_id | BIGINT | 是 | 发送人 ID | 普通 |
| TVCommandLog | command_type | VARCHAR(64) | 是 | 打开课件/播放/暂停/切题/退出 | 普通 |
| TVCommandLog | command_payload | JSON | 否 | 命令参数 | 普通 |
| TVCommandLog | execute_status | VARCHAR(32) | 是 | 待执行/成功/失败/超时 | 普通 |
| TeacherDesktopSession | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| TeacherDesktopSession | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| TeacherDesktopSession | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| TeacherDesktopSession | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| TeacherDesktopSession | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| TeacherDesktopSession | created_at | DATETIME | 是 | 创建时间 | 普通 |
| TeacherDesktopSession | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| TeacherDesktopSession | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| TeacherDesktopSession | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| TeacherDesktopSession | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| TeacherDesktopSession | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| TeacherDesktopSession | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| TeacherDesktopSession | session_no | VARCHAR(64) | 是 | 桌面端会话编号,唯一 | 普通 |
| TeacherDesktopSession | user_id | BIGINT | 是 | 教师账号 ID | 普通 |
| TeacherDesktopSession | platform | VARCHAR(32) | 是 | macOS/Windows | 普通 |
| TeacherDesktopSession | app_version | VARCHAR(32) | 是 | 客户端版本 | 普通 |
| TeacherDesktopSession | device_check_result | JSON | 否 | 摄像头、麦克风、屏幕共享检测 | 普通 |
| TeacherDesktopSession | session_status | VARCHAR(32) | 是 | 在线/离线/异常/需升级 | 普通 |
引用对象字段字典
| 引用表 | 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|---|
| sys_organization | Organization | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_organization | Organization | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_organization | Organization | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_organization | Organization | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_organization | Organization | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_organization | Organization | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_organization | Organization | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_organization | Organization | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_organization | Organization | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_organization | Organization | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_organization | Organization | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_organization | Organization | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_organization | Organization | org_code | VARCHAR(64) | 是 | 组织编码,租户内唯一 | 普通 |
| sys_organization | Organization | org_name | VARCHAR(128) | 是 | 组织名称 | 普通 |
| sys_organization | Organization | org_type | VARCHAR(32) | 是 | 集团/区域/校区/部门/法人主体 | 普通 |
| sys_organization | Organization | parent_id | BIGINT | 否 | 上级组织 ID,根节点为空 | 普通 |
| sys_organization | Organization | sort_no | INT | 否 | 同级排序 | 普通 |
| sys_organization | Organization | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_user | User/Employee | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_user | User/Employee | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_user | User/Employee | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_user | User/Employee | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_user | User/Employee | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_user | User/Employee | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_user | User/Employee | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_user | User/Employee | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_user | User/Employee | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_user | User/Employee | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_user | User/Employee | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_user | User/Employee | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_user | User/Employee | user_no | VARCHAR(64) | 是 | 账号编号,唯一 | 普通 |
| sys_user | User/Employee | login_name | VARCHAR(64) | 是 | 登录名,唯一 | 普通 |
| sys_user | User/Employee | mobile | VARCHAR(32) | 否 | 手机号,敏感脱敏展示 | 敏感 |
| sys_user | User/Employee | password_hash | VARCHAR(255) | 否 | 密码哈希,禁止前端返回 | 高敏 |
| sys_user | User/Employee | user_type | VARCHAR(32) | 是 | 员工/学员/家长/外部账号 | 普通 |
| sys_user | User/Employee | login_status | VARCHAR(32) | 是 | 正常/锁定/停用/待激活 | 普通 |
| sys_employee | Employee | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_employee | Employee | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_employee | Employee | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_employee | Employee | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_employee | Employee | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_employee | Employee | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_employee | Employee | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_employee | Employee | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_employee | Employee | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_employee | Employee | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_employee | Employee | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_employee | Employee | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_employee | Employee | employee_no | VARCHAR(64) | 是 | 工号,唯一 | 普通 |
| sys_employee | Employee | user_id | BIGINT | 否 | 关联账号 ID | 普通 |
| sys_employee | Employee | employee_name | VARCHAR(64) | 是 | 员工姓名 | 普通 |
| sys_employee | Employee | primary_campus_id | BIGINT | 否 | 主校区 ID | 普通 |
| sys_employee | Employee | job_title | VARCHAR(64) | 否 | 岗位名称 | 普通 |
| sys_employee | Employee | hire_status | VARCHAR(32) | 是 | 在职/试用/离职/停用 | 普通 |
| sys_role | Role | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_role | Role | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_role | Role | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_role | Role | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_role | Role | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_role | Role | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_role | Role | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_role | Role | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_role | Role | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_role | Role | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_role | Role | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_role | Role | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_role | Role | role_code | VARCHAR(64) | 是 | 角色编码,唯一 | 普通 |
| sys_role | Role | role_name | VARCHAR(128) | 是 | 角色名称 | 普通 |
| sys_role | Role | role_level | VARCHAR(32) | 是 | 总部/区域/校区/个人 | 普通 |
| sys_role | Role | data_scope_type | VARCHAR(32) | 是 | 数据范围类型 | 普通 |
| sys_role | Role | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_approval_flow | ApprovalFlow | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_approval_flow | ApprovalFlow | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_approval_flow | ApprovalFlow | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_approval_flow | ApprovalFlow | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_approval_flow | ApprovalFlow | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_approval_flow | ApprovalFlow | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_approval_flow | ApprovalFlow | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_approval_flow | ApprovalFlow | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_approval_flow | ApprovalFlow | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_approval_flow | ApprovalFlow | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_approval_flow | ApprovalFlow | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_approval_flow | ApprovalFlow | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_approval_flow | ApprovalFlow | flow_code | VARCHAR(64) | 是 | 审批流编码,唯一 | 普通 |
| sys_approval_flow | ApprovalFlow | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sys_approval_flow | ApprovalFlow | flow_name | VARCHAR(128) | 是 | 审批流名称 | 普通 |
| sys_approval_flow | ApprovalFlow | condition_json | JSON | 否 | 触发条件 | 普通 |
| sys_approval_flow | ApprovalFlow | node_json | JSON | 是 | 节点、审批人和超时规则 | 普通 |
| sys_approval_flow | ApprovalFlow | version_no | INT | 是 | 审批流版本号 | 普通 |
| sys_approval_flow | ApprovalFlow | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_message_template | MessageTemplate | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_message_template | MessageTemplate | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_message_template | MessageTemplate | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_message_template | MessageTemplate | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_message_template | MessageTemplate | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_message_template | MessageTemplate | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_message_template | MessageTemplate | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_message_template | MessageTemplate | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_message_template | MessageTemplate | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_message_template | MessageTemplate | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_message_template | MessageTemplate | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_message_template | MessageTemplate | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_message_template | MessageTemplate | template_code | VARCHAR(64) | 是 | 模板编码,唯一 | 普通 |
| sys_message_template | MessageTemplate | template_name | VARCHAR(128) | 是 | 模板名称 | 普通 |
| sys_message_template | MessageTemplate | channel | VARCHAR(32) | 是 | 站内信/短信/微信小程序/企微/Push | 普通 |
| sys_message_template | MessageTemplate | receiver_rule | JSON | 是 | 接收人规则 | 普通 |
| sys_message_template | MessageTemplate | content_template | TEXT | 是 | 模板内容 | 普通 |
| sys_message_template | MessageTemplate | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_audit_log | AuditLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_audit_log | AuditLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_audit_log | AuditLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_audit_log | AuditLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_audit_log | AuditLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_audit_log | AuditLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_audit_log | AuditLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_audit_log | AuditLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_audit_log | AuditLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_audit_log | AuditLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_audit_log | AuditLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_audit_log | AuditLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_audit_log | AuditLog | operator_id | BIGINT | 是 | 操作人 ID | 普通 |
| sys_audit_log | AuditLog | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sys_audit_log | AuditLog | biz_id | BIGINT | 否 | 业务主键 ID | 普通 |
| sys_audit_log | AuditLog | action_code | VARCHAR(64) | 是 | 操作编码 | 普通 |
| sys_audit_log | AuditLog | before_snapshot | JSON | 否 | 变更前快照 | 普通 |
| sys_audit_log | AuditLog | after_snapshot | JSON | 否 | 变更后快照 | 普通 |
| sys_audit_log | AuditLog | ip_address | VARCHAR(64) | 否 | 操作 IP | 普通 |
| int_integration_log | IntegrationLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| int_integration_log | IntegrationLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| int_integration_log | IntegrationLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| int_integration_log | IntegrationLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| int_integration_log | IntegrationLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| int_integration_log | IntegrationLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| int_integration_log | IntegrationLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| int_integration_log | IntegrationLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| int_integration_log | IntegrationLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| int_integration_log | IntegrationLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| int_integration_log | IntegrationLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| int_integration_log | IntegrationLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| int_integration_log | IntegrationLog | request_id | VARCHAR(128) | 是 | 请求 ID,幂等键 | 普通 |
| int_integration_log | IntegrationLog | system_code | VARCHAR(64) | 是 | 外部系统编码 | 普通 |
| int_integration_log | IntegrationLog | api_path | VARCHAR(512) | 是 | 接口路径 | 普通 |
| int_integration_log | IntegrationLog | biz_type | VARCHAR(64) | 否 | 业务类型 | 普通 |
| int_integration_log | IntegrationLog | biz_id | BIGINT | 否 | 业务 ID | 普通 |
| int_integration_log | IntegrationLog | request_payload | JSON | 否 | 请求报文,敏感字段脱敏 | 敏感 |
| int_integration_log | IntegrationLog | response_payload | JSON | 否 | 响应报文 | 普通 |
| int_integration_log | IntegrationLog | call_status | VARCHAR(32) | 是 | 成功/失败/超时/重试中 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | field_code | VARCHAR(128) | 是 | 字段编码,唯一 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | mask_rule | VARCHAR(64) | 是 | 脱敏规则 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | view_requires_approval | TINYINT | 是 | 明文查看是否需审批 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | watermark_required | TINYINT | 是 | 是否加水印 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | asset_no | VARCHAR(64) | 是 | 推广资产编号,唯一 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | campaign_id | BIGINT | 是 | 关联营销活动 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | landing_page_id | BIGINT | 是 | 关联活动落地页 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | employee_id | BIGINT | 是 | 推广员工 ID | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | campus_id_ref | BIGINT | 否 | 员工推广归属校区 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | qr_code_id | BIGINT | 否 | 关联活码 ID | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | short_url | VARCHAR(512) | 否 | 员工专属短链 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | poster_file_id | BIGINT | 否 | 员工专属分享海报文件 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | share_params | JSON | 是 | campaignId/pageId/campusId/channelId/employeeId/shareScene 等归因参数 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | asset_status | VARCHAR(32) | 是 | 待生成/已生成/已停用/已失效 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | stat_date | DATE | 是 | 统计日期 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | campaign_id | BIGINT | 是 | 营销活动 ID | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | employee_id | BIGINT | 是 | 员工 ID | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | campus_id_ref | BIGINT | 否 | 归属校区 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | visit_count | INT | 是 | 访问量 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | scan_count | INT | 是 | 扫码量 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | submit_count | INT | 是 | 留资数 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | lead_count | INT | 是 | 线索数 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | trial_count | INT | 是 | 试听预约数 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | deal_count | INT | 是 | 成交数 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | roi_snapshot | JSON | 否 | 转化率、成交额和 ROI 快照 | 普通 |
| crm_lead | Lead | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| crm_lead | Lead | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| crm_lead | Lead | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| crm_lead | Lead | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| crm_lead | Lead | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| crm_lead | Lead | created_at | DATETIME | 是 | 创建时间 | 普通 |
| crm_lead | Lead | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| crm_lead | Lead | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| crm_lead | Lead | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| crm_lead | Lead | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| crm_lead | Lead | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| crm_lead | Lead | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| crm_lead | Lead | lead_no | VARCHAR(64) | 是 | 线索编号,唯一 | 普通 |
| crm_lead | Lead | source_channel | VARCHAR(64) | 是 | 来源渠道 | 普通 |
| crm_lead | Lead | campaign_id | BIGINT | 否 | 来源活动 ID | 普通 |
| crm_lead | Lead | guardian_mobile | VARCHAR(32) | 是 | 家长手机号,敏感 | 敏感 |
| crm_lead | Lead | student_name | VARCHAR(64) | 否 | 学员姓名 | 普通 |
| crm_lead | Lead | intent_course_id | BIGINT | 否 | 意向课程 | 普通 |
| crm_lead | Lead | owner_id | BIGINT | 否 | 当前归属销售/顾问 | 普通 |
| crm_lead | Lead | protect_until | DATETIME | 否 | 保护期截止时间 | 普通 |
| crm_lead | Lead | duplicate_status | VARCHAR(32) | 是 | 未查重/疑似重复/已合并/已忽略 | 普通 |
| crm_lead | Lead | biz_status | VARCHAR(32) | 是 | 业务状态,取值来自状态机字典 | 普通 |
| crm_lead | Lead | remark | VARCHAR(512) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| edu_lesson | Schedule/Lesson | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_lesson | Schedule/Lesson | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_lesson | Schedule/Lesson | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_lesson | Schedule/Lesson | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_lesson | Schedule/Lesson | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_lesson | Schedule/Lesson | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_lesson | Schedule/Lesson | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_lesson | Schedule/Lesson | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_lesson | Schedule/Lesson | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_lesson | Schedule/Lesson | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_lesson | Schedule/Lesson | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_lesson | Schedule/Lesson | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_lesson | Schedule/Lesson | lesson_no | VARCHAR(64) | 是 | 课次编号,唯一 | 普通 |
| edu_lesson | Schedule/Lesson | class_id | BIGINT | 是 | 班级 ID | 普通 |
| edu_lesson | Schedule/Lesson | teacher_id | BIGINT | 是 | 授课教师 ID | 普通 |
| edu_lesson | Schedule/Lesson | classroom_id | BIGINT | 否 | 教室 ID | 普通 |
| edu_lesson | Schedule/Lesson | start_at | DATETIME | 是 | 上课开始时间 | 普通 |
| edu_lesson | Schedule/Lesson | end_at | DATETIME | 是 | 上课结束时间 | 普通 |
| edu_lesson | Schedule/Lesson | lesson_status | VARCHAR(32) | 是 | 待上课/上课中/已下课/已取消/需补课 | 普通 |
| edu_class | Class | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_class | Class | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_class | Class | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_class | Class | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_class | Class | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_class | Class | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_class | Class | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_class | Class | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_class | Class | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_class | Class | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_class | Class | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_class | Class | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_class | Class | class_no | VARCHAR(64) | 是 | 班级编号,唯一 | 普通 |
| edu_class | Class | course_id | BIGINT | 是 | 课程 ID | 普通 |
| edu_class | Class | teacher_id | BIGINT | 否 | 主讲教师 ID | 普通 |
| edu_class | Class | classroom_id | BIGINT | 否 | 默认教室 ID | 普通 |
| edu_class | Class | capacity | INT | 是 | 班级容量 | 普通 |
| edu_class | Class | class_status | VARCHAR(32) | 是 | 筹备中/开班/结课/停课 | 普通 |
| live_room | LiveRoom | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| live_room | LiveRoom | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| live_room | LiveRoom | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| live_room | LiveRoom | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| live_room | LiveRoom | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| live_room | LiveRoom | created_at | DATETIME | 是 | 创建时间 | 普通 |
| live_room | LiveRoom | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| live_room | LiveRoom | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| live_room | LiveRoom | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| live_room | LiveRoom | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| live_room | LiveRoom | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| live_room | LiveRoom | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| live_room | LiveRoom | room_no | VARCHAR(64) | 是 | 直播间编号,唯一 | 普通 |
| live_room | LiveRoom | live_type | VARCHAR(32) | 是 | 教学直播/活动直播/集团会议直播 | 普通 |
| live_room | LiveRoom | provider_code | VARCHAR(32) | 是 | 启用供应商 | 普通 |
| live_room | LiveRoom | biz_type | VARCHAR(64) | 是 | 绑定业务类型 | 普通 |
| live_room | LiveRoom | biz_id | BIGINT | 是 | 绑定业务 ID | 普通 |
| live_room | LiveRoom | start_at | DATETIME | 否 | 计划开始时间 | 普通 |
| live_room | LiveRoom | end_at | DATETIME | 否 | 计划结束时间 | 普通 |
| live_room | LiveRoom | room_status | VARCHAR(32) | 是 | 待开播/直播中/已结束/异常 | 普通 |
| live_mic_request | LiveMicRequest | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| live_mic_request | LiveMicRequest | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| live_mic_request | LiveMicRequest | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| live_mic_request | LiveMicRequest | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| live_mic_request | LiveMicRequest | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| live_mic_request | LiveMicRequest | created_at | DATETIME | 是 | 创建时间 | 普通 |
| live_mic_request | LiveMicRequest | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| live_mic_request | LiveMicRequest | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| live_mic_request | LiveMicRequest | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| live_mic_request | LiveMicRequest | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| live_mic_request | LiveMicRequest | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| live_mic_request | LiveMicRequest | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| live_mic_request | LiveMicRequest | live_room_id | BIGINT | 是 | 直播间 ID | 普通 |
| live_mic_request | LiveMicRequest | requester_id | BIGINT | 是 | 申请人 ID | 普通 |
| live_mic_request | LiveMicRequest | request_status | VARCHAR(32) | 是 | 排队中/已邀请/已上麦/已拒绝/已超时/已取消 | 普通 |
| live_mic_request | LiveMicRequest | queue_no | INT | 否 | 队列序号 | 普通 |
| live_mic_request | LiveMicRequest | seat_no | INT | 否 | 座席号 | 普通 |
| live_mic_request | LiveMicRequest | invite_expire_at | DATETIME | 否 | 邀请过期时间 | 普通 |
| live_mic_request | LiveMicRequest | device_check_result | JSON | 否 | 设备检测结果 | 普通 |
| hr_payslip | PayrollPayslip | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| hr_payslip | PayrollPayslip | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| hr_payslip | PayrollPayslip | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| hr_payslip | PayrollPayslip | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| hr_payslip | PayrollPayslip | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| hr_payslip | PayrollPayslip | created_at | DATETIME | 是 | 创建时间 | 普通 |
| hr_payslip | PayrollPayslip | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| hr_payslip | PayrollPayslip | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| hr_payslip | PayrollPayslip | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| hr_payslip | PayrollPayslip | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| hr_payslip | PayrollPayslip | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| hr_payslip | PayrollPayslip | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| hr_payslip | PayrollPayslip | payslip_no | VARCHAR(64) | 是 | 工资条编号,唯一 | 普通 |
| hr_payslip | PayrollPayslip | batch_id | BIGINT | 是 | 薪酬批次 ID | 普通 |
| hr_payslip | PayrollPayslip | employee_id | BIGINT | 是 | 员工 ID | 普通 |
| hr_payslip | PayrollPayslip | gross_salary | DECIMAL(18,2) | 是 | 应发工资 | 普通 |
| hr_payslip | PayrollPayslip | net_salary | DECIMAL(18,2) | 是 | 实发工资 | 普通 |
| hr_payslip | PayrollPayslip | show_social_insurance | TINYINT | 是 | 是否显示社保信息 | 普通 |
| hr_payslip | PayrollPayslip | show_housing_fund | TINYINT | 是 | 是否显示公积金信息 | 普通 |
| hr_payslip | PayrollPayslip | confirm_status | VARCHAR(32) | 是 | 待确认/已确认/有异议 | 普通 |
| kb_learning_task | TrainingLearningTask | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| kb_learning_task | TrainingLearningTask | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| kb_learning_task | TrainingLearningTask | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| kb_learning_task | TrainingLearningTask | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| kb_learning_task | TrainingLearningTask | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| kb_learning_task | TrainingLearningTask | created_at | DATETIME | 是 | 创建时间 | 普通 |
| kb_learning_task | TrainingLearningTask | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| kb_learning_task | TrainingLearningTask | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| kb_learning_task | TrainingLearningTask | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| kb_learning_task | TrainingLearningTask | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| kb_learning_task | TrainingLearningTask | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| kb_learning_task | TrainingLearningTask | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| kb_learning_task | TrainingLearningTask | task_no | VARCHAR(64) | 是 | 学习任务编号,唯一 | 普通 |
| kb_learning_task | TrainingLearningTask | course_id | BIGINT | 是 | 培训课程 ID | 普通 |
| kb_learning_task | TrainingLearningTask | employee_id | BIGINT | 是 | 员工 ID | 普通 |
| kb_learning_task | TrainingLearningTask | assigned_by | BIGINT | 是 | 指派人 | 普通 |
| kb_learning_task | TrainingLearningTask | deadline_at | DATETIME | 否 | 截止时间 | 普通 |
| kb_learning_task | TrainingLearningTask | learning_status | VARCHAR(32) | 是 | 未开始/学习中/已完成/逾期 | 普通 |
JSON 字段结构与校验
| 表名 | 对象 | 字段 | 结构编码 | 结构定义 | 校验规则 | 示例 |
|---|---|---|---|---|---|---|
| mob_teacher_workspace | TeacherWorkspace | widget_config | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mob_teacher_workspace | TeacherWorkspace | todo_count_snapshot | AUDIT_SNAPSHOT | {before?:object, after?:object, changedFields:string[], maskPolicy:string} | 敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥 | {"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"} |
| edu_lesson_resource | LessonResource | preview_policy | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| edu_lesson_resource | LessonResource | projection_policy | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| edu_lesson_resource | LessonResource | download_policy | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| edu_lesson_plan | LessonPlan | plan_content | MESSAGE_RECEIVER | {receiverType:string, roleCodes?:string[], userIds?:number[], dynamicField?:string} | 接收人必须能解析到有效账号;失败生成消息异常任务 | {"receiverType":"ROLE","roleCodes":["CAMPUS_MANAGER"]} |
| edu_substitute_grant | SubstituteGrant | allowed_actions | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| edu_lesson_comment | LessonComment | photo_file_ids | ID_LIST | array<number> | 数组长度 1-500;元素必须为已存在且未逻辑删除的业务 ID | [10001,10002] |
| edu_audio_comment_review | AudioCommentReview | sensitive_hits | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mob_offline_sync_queue | OfflineSyncQueue | offline_payload | SUPERVISION_PAYLOAD | {bizType:string, contractNo:string, amount:number, student:object, attachments:number[]} | 报送字段必须满足教育局/监管账户配置的必填规则 | {"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800} |
| mob_offline_sync_queue | OfflineSyncQueue | conflict_items | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| kbt_training_exam_attempt | TrainingExamAttempt | wrong_question_snapshot | AUDIT_SNAPSHOT | {before?:object, after?:object, changedFields:string[], maskPolicy:string} | 敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥 | {"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"} |
| fin_expense_report | ExpenseReport | invoice_file_ids | ID_LIST | array<number> | 数组长度 1-500;元素必须为已存在且未逻辑删除的业务 ID | [10001,10002] |
| fin_expense_report | ExpenseReport | item_snapshot | AUDIT_SNAPSHOT | {before?:object, after?:object, changedFields:string[], maskPolicy:string} | 敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥 | {"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"} |
| pat_rectification_review | PatrolRectificationReview | before_evidence_ids | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| pat_rectification_review | PatrolRectificationReview | after_evidence_ids | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| cls_classroom_session | ClassroomSession | resource_state | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| tv_command_log | TVCommandLog | command_payload | SUPERVISION_PAYLOAD | {bizType:string, contractNo:string, amount:number, student:object, attachments:number[]} | 报送字段必须满足教育局/监管账户配置的必填规则 | {"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800} |
| teacher_desktop_session | TeacherDesktopSession | device_check_result | MIC_DEVICE_CHECK | {camera:boolean, microphone:boolean, network:string, sdkVersion:string, failReason?:string} | 上麦前必须完成端侧设备检测 | {"camera":true,"microphone":true,"network":"GOOD"} |
状态/枚举标准字典
| 表名 | 对象 | 字段 | 枚举编码 | 取值 | 终态/流转规则 | 字段说明 |
|---|---|---|---|---|---|---|
| mob_teacher_workspace | TeacherWorkspace | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mob_teacher_workspace | TeacherWorkspace | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mob_teacher_workspace | TeacherWorkspace | user_id | USER_ID | 教师、员工账号 ID | 非终态,可按状态机或字典规则流转 | 教师/员工账号 ID |
| mob_teacher_workspace | TeacherWorkspace | terminal_type | TERMINAL_TYPE | PC_WEB、WECHAT_MINI_PROGRAM、IOS_APP、IPAD_APP、ANDROID_APP、ANDROID_TABLET、H5、MACOS_TAURI、WINDOWS_TAURI、MACOS_ELECTRON、WINDOWS_ELECTRON、ANDROID_TV、BIG_SCREEN | 非终态,可按状态机或字典规则流转 | 手机/小程序/iPad/安卓平板/桌面端 |
| mob_teacher_todo | TeacherTodo | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mob_teacher_todo | TeacherTodo | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mob_teacher_todo | TeacherTodo | todo_type | TODO_TYPE | 签到、批改、审批、培训、直播、工资条、营销推广、线索跟进 | 非终态,可按状态机或字典规则流转 | 签到/批改/审批/培训/直播/工资条/营销推广/线索跟进 |
| mob_teacher_todo | TeacherTodo | todo_status | TODO_STATUS | 待处理、已处理、已过期 | 非终态,可按状态机或字典规则流转 | 待处理/已处理/已过期 |
| edu_lesson_resource | LessonResource | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| edu_lesson_resource | LessonResource | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| edu_lesson_resource | LessonResource | resource_type | LESSON_RESOURCE_TYPE | 课件、音视频、互动题、讲义、练习、素材 | 非终态,可按状态机或字典规则流转 | 课件/音视频/互动题/讲义/练习/素材 |
| edu_lesson_resource | LessonResource | projection_policy | PROJECTION_POLICY | 投屏、TV 展示权限策略 | 非终态,可按状态机或字典规则流转 | 投屏/TV 展示权限策略 |
| edu_lesson_resource | LessonResource | publish_status | PUBLISH_STATUS | DRAFT 草稿、PUBLISHING 发布中、PUBLISHED 已发布、FAILED 发布失败、OFFLINE 已下线、ARCHIVED 已归档 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 未发布/已发布/已下架 |
| edu_lesson_plan | LessonPlan | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| edu_lesson_plan | LessonPlan | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| edu_lesson_plan | LessonPlan | read_only | BOOL | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 教师端是否只读,固定为 1 |
| edu_lesson_plan | LessonPlan | publish_status | PUBLISH_STATUS | DRAFT 草稿、PUBLISHING 发布中、PUBLISHED 已发布、FAILED 发布失败、OFFLINE 已下线、ARCHIVED 已归档 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 未发布/已发布/已归档 |
| edu_substitute_grant | SubstituteGrant | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| edu_substitute_grant | SubstituteGrant | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| edu_substitute_grant | SubstituteGrant | allowed_actions | ALLOWED_ACTIONS | 默认点名、点评、课程资源、名单查看 | 非终态,可按状态机或字典规则流转 | 允许动作,默认点名/点评/课程资源/名单查看 |
| edu_substitute_grant | SubstituteGrant | grant_status | SUBSTITUTE_GRANT_STATUS | 待领取、有效、已过期、已撤销、已使用 | 非终态,可按状态机或字典规则流转 | 待领取/有效/已过期/已撤销/已使用 |
| edu_lesson_attendance_item | LessonAttendanceItem | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| edu_lesson_attendance_item | LessonAttendanceItem | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| edu_lesson_attendance_item | LessonAttendanceItem | attendance_status | ATTENDANCE_STATUS | 到课、迟到、请假、旷课、未到、补课到课 | 非终态,可按状态机或字典规则流转 | 到课/迟到/请假/旷课/未到/补课到课 |
| edu_lesson_attendance_item | LessonAttendanceItem | source_type | SOURCE_TYPE | 人工、人脸识别、补录、导入 | 非终态,可按状态机或字典规则流转 | 人工/人脸识别/补录/导入 |
| edu_lesson_attendance_item | LessonAttendanceItem | comment_eligible | BOOL | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 是否允许课堂点评,未到课状态为 0 |
| edu_lesson_comment | LessonComment | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| edu_lesson_comment | LessonComment | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| edu_lesson_comment | LessonComment | publish_status | PUBLISH_STATUS | DRAFT 草稿、PUBLISHING 发布中、PUBLISHED 已发布、FAILED 发布失败、OFFLINE 已下线、ARCHIVED 已归档 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 草稿/待审核/已发布/已驳回 |
| edu_homework_review_draft | HomeworkReviewDraft | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| edu_homework_review_draft | HomeworkReviewDraft | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| edu_homework_review_draft | HomeworkReviewDraft | correction_required | BOOL | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 是否要求订正 |
| edu_homework_review_draft | HomeworkReviewDraft | draft_status | DRAFT_STATUS | 草稿、待发布、已发布、冲突、已废弃 | 非终态,可按状态机或字典规则流转 | 草稿/待发布/已发布/冲突/已废弃 |
| edu_homework_edit_lock | HomeworkEditLock | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| edu_homework_edit_lock | HomeworkEditLock | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| edu_homework_edit_lock | HomeworkEditLock | terminal_type | TERMINAL_TYPE | PC_WEB、WECHAT_MINI_PROGRAM、IOS_APP、IPAD_APP、ANDROID_APP、ANDROID_TABLET、H5、MACOS_TAURI、WINDOWS_TAURI、MACOS_ELECTRON、WINDOWS_ELECTRON、ANDROID_TV、BIG_SCREEN | 非终态,可按状态机或字典规则流转 | 手机/小程序/iPad/安卓平板 |
| edu_homework_edit_lock | HomeworkEditLock | lock_status | LOCK_STATUS | 锁定中、已释放、已过期、强制释放 | 非终态,可按状态机或字典规则流转 | 锁定中/已释放/已过期/强制释放 |
| edu_audio_comment_review | AudioCommentReview | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| edu_audio_comment_review | AudioCommentReview | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| edu_audio_comment_review | AudioCommentReview | biz_type | BIZ_TYPE | LEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资 | 非终态,可按状态机或字典规则流转 | 作业批改/课堂点评/测评反馈 |
| edu_audio_comment_review | AudioCommentReview | precheck_status | PRECHECK_STATUS | 待预检、通过、拦截 | 非终态,可按状态机或字典规则流转 | 待预检/通过/拦截 |
| edu_audio_comment_review | AudioCommentReview | review_status | REVIEW_STATUS | DRAFT 草稿、PENDING 审核中、APPROVED 已通过、REJECTED 已驳回、DISABLED 已停用 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待审核/通过/驳回 |
| mob_offline_sync_queue | OfflineSyncQueue | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mob_offline_sync_queue | OfflineSyncQueue | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mob_offline_sync_queue | OfflineSyncQueue | employee_id | EMPLOYEE_ID | 员工、教师 ID | 非终态,可按状态机或字典规则流转 | 员工/教师 ID |
| mob_offline_sync_queue | OfflineSyncQueue | terminal_type | TERMINAL_TYPE | PC_WEB、WECHAT_MINI_PROGRAM、IOS_APP、IPAD_APP、ANDROID_APP、ANDROID_TABLET、H5、MACOS_TAURI、WINDOWS_TAURI、MACOS_ELECTRON、WINDOWS_ELECTRON、ANDROID_TV、BIG_SCREEN | 非终态,可按状态机或字典规则流转 | iPad/安卓平板 |
| mob_offline_sync_queue | OfflineSyncQueue | sync_status | SYNC_STATUS | 待同步、同步中、成功、冲突、失败 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待同步/同步中/成功/冲突/失败 |
| kbt_training_exam_attempt | TrainingExamAttempt | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| kbt_training_exam_attempt | TrainingExamAttempt | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| kbt_training_exam_attempt | TrainingExamAttempt | pass_status | PASS_STATUS | 未判分、已通过、未通过 | 非终态,可按状态机或字典规则流转 | 未判分/已通过/未通过 |
| kbt_training_exam_attempt | TrainingExamAttempt | attempt_status | ATTEMPT_STATUS | 进行中、已交卷、已超时、已作废 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 进行中/已交卷/已超时/已作废 |
| fin_expense_report | ExpenseReport | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| fin_expense_report | ExpenseReport | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| fin_expense_report | ExpenseReport | expense_type | EXPENSE_TYPE | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 报销类型 |
| fin_expense_report | ExpenseReport | report_status | REPORT_STATUS | PENDING 待报送、SUCCESS 成功、FAILED 失败、RETRYING 重试中 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 草稿/审批中/已驳回/已通过/付款中/已付款/已作废 |
| pat_rectification_review | PatrolRectificationReview | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| pat_rectification_review | PatrolRectificationReview | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| pat_rectification_review | PatrolRectificationReview | review_result | REVIEW_RESULT | 通过、驳回、待补充 | 非终态,可按状态机或字典规则流转 | 通过/驳回/待补充 |
| pat_rectification_review | PatrolRectificationReview | review_status | REVIEW_STATUS | DRAFT 草稿、PENDING 审核中、APPROVED 已通过、REJECTED 已驳回、DISABLED 已停用 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待复核/已通过/已驳回/已关闭 |
| cls_classroom_session | ClassroomSession | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| cls_classroom_session | ClassroomSession | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| cls_classroom_session | ClassroomSession | session_status | SESSION_STATUS | 未开始、进行中、已结束、异常 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 未开始/进行中/已结束/异常 |
| tv_device | TVDevice | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| tv_device | TVDevice | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| tv_device | TVDevice | device_status | DEVICE_STATUS | ONLINE 在线、OFFLINE 离线、DISABLED 停用、ABNORMAL 异常 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 在线/离线/停用/异常 |
| tv_device | TVDevice | focus_mode | FOCUS_MODE | REMOTE 遥控器、TOUCH 触控、TEACHER_CONTROL 教师端控制、AUTO 自动聚焦 | 非终态,可按状态机或字典规则流转 | 遥控器焦点模式 |
| tv_command_log | TVCommandLog | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| tv_command_log | TVCommandLog | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| tv_command_log | TVCommandLog | command_type | COMMAND_TYPE | 打开课件、播放、暂停、切题、退出 | 非终态,可按状态机或字典规则流转 | 打开课件/播放/暂停/切题/退出 |
| tv_command_log | TVCommandLog | execute_status | EXECUTE_STATUS | 待执行、成功、失败、超时 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待执行/成功/失败/超时 |
| teacher_desktop_session | TeacherDesktopSession | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| teacher_desktop_session | TeacherDesktopSession | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| teacher_desktop_session | TeacherDesktopSession | platform | PLATFORM | macOS、Windows | 非终态,可按状态机或字典规则流转 | macOS/Windows |
| teacher_desktop_session | TeacherDesktopSession | session_status | SESSION_STATUS | 在线、离线、异常、需升级 | 非终态,可按状态机或字典规则流转 | 在线/离线/异常/需升级 |
敏感字段与数据安全策略
| 来源 | 表名 | 对象 | 字段 | 数据级别 | 脱敏/返回策略 | 明文查看条件 | 导出策略 | 审计要求 | 端侧展示规则 |
|---|---|---|---|---|---|---|---|---|---|
| 本模块对象 | mob_teacher_todo | TeacherTodo | todo_type | 普通 | PAYROLL_MASK | 默认仅本人和授权人力/财务可见;社保、公积金字段按后台开关展示 | 工资条批量导出必须走高敏审批并限制下载次数 | 发布、撤回、重发、查看、确认、异议、导出全链路审计 | 教师/员工端仅查看本人电子工资条;PC 按岗位与审批展示 |
| 本模块对象 | edu_substitute_grant | SubstituteGrant | grant_no | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 本模块对象 | edu_substitute_grant | SubstituteGrant | grant_code | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 本模块对象 | edu_substitute_grant | SubstituteGrant | valid_from | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 本模块对象 | edu_substitute_grant | SubstituteGrant | valid_until | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 本模块对象 | edu_lesson_attendance_item | LessonAttendanceItem | source_type | 普通 | FACE_IMAGE_PROTECTED | 默认只返回受控文件 ID/缩略图;人脸照片查看、下发、删除需授权和审计 | 禁止常规导出;仅设备下发、授权撤回和合规取证场景允许 | 人脸采集、下发、识别、撤回、删除、失败重试全链路留痕 | 未授权端不展示原图;设备端按任务有效期拉取 |
| 本模块对象 | edu_lesson_comment | LessonComment | photo_file_ids | 普通 | FACE_IMAGE_PROTECTED | 默认只返回受控文件 ID/缩略图;人脸照片查看、下发、删除需授权和审计 | 禁止常规导出;仅设备下发、授权撤回和合规取证场景允许 | 人脸采集、下发、识别、撤回、删除、失败重试全链路留痕 | 未授权端不展示原图;设备端按任务有效期拉取 |
| 本模块对象 | edu_audio_comment_review | AudioCommentReview | sensitive_hits | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 本模块对象 | mob_offline_sync_queue | OfflineSyncQueue | offline_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 本模块对象 | fin_expense_report | ExpenseReport | invoice_file_ids | 普通 | TAX_INVOICE_MASK | 默认按税号/发票号局部脱敏;发票原图、OCR 结果和国税回执按财务权限查看 | 财务导出需审批并加水印;国税官方回执随业务单归档 | OCR、核验、查重、人工校正、导出和付款阻断均留痕 | 移动端可上传和查看本人报销结果,不展示其他人员票据明文 |
| 本模块对象 | tv_command_log | TVCommandLog | command_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | sys_user | User/Employee | mobile | 敏感 | MOBILE_MASK | 默认展示 138****0000;明文查看需字段权限或敏感字段查看审批 | 导出手机号必须触发导出审批、下载水印和有效期控制 | 明文查看、复制、导出和批量下载均写入 SensitiveAccessLog | PC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息 |
| 引用对象 | sys_user | User/Employee | password_hash | 高敏 | NEVER_RETURN | 禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用 | 禁止导出;配置导出只允许导出脱敏引用和启停状态 | 配置新增、修改、启停、轮换和失败读取均记录安全审计 | 前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值 |
| 引用对象 | int_integration_log | IntegrationLog | request_payload | 敏感 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | int_integration_log | IntegrationLog | response_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | sec_sensitive_field_policy | SensitiveFieldPolicy | mask_rule | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | crm_lead | Lead | guardian_mobile | 敏感 | MOBILE_MASK | 默认展示 138****0000;明文查看需字段权限或敏感字段查看审批 | 导出手机号必须触发导出审批、下载水印和有效期控制 | 明文查看、复制、导出和批量下载均写入 SensitiveAccessLog | PC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息 |
| 引用对象 | crm_lead | Lead | remark | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | hr_payslip | PayrollPayslip | payslip_no | 普通 | PAYROLL_MASK | 默认仅本人和授权人力/财务可见;社保、公积金字段按后台开关展示 | 工资条批量导出必须走高敏审批并限制下载次数 | 发布、撤回、重发、查看、确认、异议、导出全链路审计 | 教师/员工端仅查看本人电子工资条;PC 按岗位与审批展示 |
| 引用对象 | hr_payslip | PayrollPayslip | gross_salary | 普通 | PAYROLL_MASK | 默认仅本人和授权人力/财务可见;社保、公积金字段按后台开关展示 | 工资条批量导出必须走高敏审批并限制下载次数 | 发布、撤回、重发、查看、确认、异议、导出全链路审计 | 教师/员工端仅查看本人电子工资条;PC 按岗位与审批展示 |
| 引用对象 | hr_payslip | PayrollPayslip | net_salary | 普通 | PAYROLL_MASK | 默认仅本人和授权人力/财务可见;社保、公积金字段按后台开关展示 | 工资条批量导出必须走高敏审批并限制下载次数 | 发布、撤回、重发、查看、确认、异议、导出全链路审计 | 教师/员工端仅查看本人电子工资条;PC 按岗位与审批展示 |
核心数据表完整字段
| 表名 | 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|---|
| mob_teacher_workspace | TeacherWorkspace | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mob_teacher_workspace | TeacherWorkspace | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mob_teacher_workspace | TeacherWorkspace | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | user_id | BIGINT | 是 | 教师/员工账号 ID | 普通 |
| mob_teacher_workspace | TeacherWorkspace | terminal_type | VARCHAR(32) | 是 | 手机/小程序/iPad/安卓平板/桌面端 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | widget_config | JSON | 否 | 工作台组件配置 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | todo_count_snapshot | JSON | 否 | 待办数量快照 | 普通 |
| mob_teacher_workspace | TeacherWorkspace | last_open_at | DATETIME | 否 | 最近打开时间 | 普通 |
| mob_teacher_todo | TeacherTodo | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mob_teacher_todo | TeacherTodo | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mob_teacher_todo | TeacherTodo | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mob_teacher_todo | TeacherTodo | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mob_teacher_todo | TeacherTodo | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mob_teacher_todo | TeacherTodo | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mob_teacher_todo | TeacherTodo | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mob_teacher_todo | TeacherTodo | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mob_teacher_todo | TeacherTodo | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mob_teacher_todo | TeacherTodo | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mob_teacher_todo | TeacherTodo | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mob_teacher_todo | TeacherTodo | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mob_teacher_todo | TeacherTodo | todo_no | VARCHAR(64) | 是 | 待办编号,唯一 | 普通 |
| mob_teacher_todo | TeacherTodo | user_id | BIGINT | 是 | 接收人 ID | 普通 |
| mob_teacher_todo | TeacherTodo | todo_type | VARCHAR(64) | 是 | 签到/批改/审批/培训/直播/工资条/营销推广/线索跟进 | 普通 |
| mob_teacher_todo | TeacherTodo | biz_id | BIGINT | 是 | 业务 ID | 普通 |
| mob_teacher_todo | TeacherTodo | due_at | DATETIME | 否 | 截止时间 | 普通 |
| mob_teacher_todo | TeacherTodo | todo_status | VARCHAR(32) | 是 | 待处理/已处理/已过期 | 普通 |
| edu_lesson_resource | LessonResource | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_lesson_resource | LessonResource | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_lesson_resource | LessonResource | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_lesson_resource | LessonResource | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_lesson_resource | LessonResource | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_lesson_resource | LessonResource | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_lesson_resource | LessonResource | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_lesson_resource | LessonResource | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_lesson_resource | LessonResource | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_lesson_resource | LessonResource | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_lesson_resource | LessonResource | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_lesson_resource | LessonResource | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_lesson_resource | LessonResource | resource_no | VARCHAR(64) | 是 | 资源编号,唯一 | 普通 |
| edu_lesson_resource | LessonResource | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| edu_lesson_resource | LessonResource | course_id | BIGINT | 是 | 课程 ID | 普通 |
| edu_lesson_resource | LessonResource | resource_type | VARCHAR(32) | 是 | 课件/音视频/互动题/讲义/练习/素材 | 普通 |
| edu_lesson_resource | LessonResource | resource_name | VARCHAR(128) | 是 | 资源名称 | 普通 |
| edu_lesson_resource | LessonResource | file_id | BIGINT | 否 | 文件中心资源 ID | 普通 |
| edu_lesson_resource | LessonResource | preview_policy | JSON | 否 | 预览权限策略 | 普通 |
| edu_lesson_resource | LessonResource | projection_policy | JSON | 否 | 投屏/TV 展示权限策略 | 普通 |
| edu_lesson_resource | LessonResource | download_policy | JSON | 否 | 下载权限策略 | 普通 |
| edu_lesson_resource | LessonResource | publish_status | VARCHAR(32) | 是 | 未发布/已发布/已下架 | 普通 |
| edu_lesson_resource | LessonResource | version_no | VARCHAR(32) | 是 | 资源版本号 | 普通 |
| edu_lesson_plan | LessonPlan | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_lesson_plan | LessonPlan | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_lesson_plan | LessonPlan | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_lesson_plan | LessonPlan | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_lesson_plan | LessonPlan | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_lesson_plan | LessonPlan | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_lesson_plan | LessonPlan | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_lesson_plan | LessonPlan | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_lesson_plan | LessonPlan | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_lesson_plan | LessonPlan | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_lesson_plan | LessonPlan | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_lesson_plan | LessonPlan | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_lesson_plan | LessonPlan | plan_no | VARCHAR(64) | 是 | 教案编号,唯一 | 普通 |
| edu_lesson_plan | LessonPlan | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| edu_lesson_plan | LessonPlan | course_id | BIGINT | 是 | 课程 ID | 普通 |
| edu_lesson_plan | LessonPlan | plan_title | VARCHAR(128) | 是 | 教案标题 | 普通 |
| edu_lesson_plan | LessonPlan | plan_content | JSON | 是 | 教案结构化内容,包含目标、步骤、重点难点和课后任务 | 普通 |
| edu_lesson_plan | LessonPlan | version_no | VARCHAR(32) | 是 | 教案版本号 | 普通 |
| edu_lesson_plan | LessonPlan | read_only | TINYINT | 是 | 教师端是否只读,固定为 1 | 普通 |
| edu_lesson_plan | LessonPlan | publish_status | VARCHAR(32) | 是 | 未发布/已发布/已归档 | 普通 |
| edu_lesson_plan | LessonPlan | published_at | DATETIME | 否 | 发布时间 | 普通 |
| edu_substitute_grant | SubstituteGrant | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_substitute_grant | SubstituteGrant | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_substitute_grant | SubstituteGrant | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_substitute_grant | SubstituteGrant | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_substitute_grant | SubstituteGrant | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_substitute_grant | SubstituteGrant | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_substitute_grant | SubstituteGrant | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_substitute_grant | SubstituteGrant | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_substitute_grant | SubstituteGrant | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_substitute_grant | SubstituteGrant | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_substitute_grant | SubstituteGrant | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_substitute_grant | SubstituteGrant | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_substitute_grant | SubstituteGrant | grant_no | VARCHAR(64) | 是 | 代课授权编号,唯一 | 普通 |
| edu_substitute_grant | SubstituteGrant | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| edu_substitute_grant | SubstituteGrant | original_teacher_id | BIGINT | 是 | 原任课教师 ID | 普通 |
| edu_substitute_grant | SubstituteGrant | substitute_teacher_id | BIGINT | 是 | 代课教师 ID | 普通 |
| edu_substitute_grant | SubstituteGrant | grant_code | VARCHAR(64) | 是 | 扫码或输入码授权码,唯一 | 普通 |
| edu_substitute_grant | SubstituteGrant | allowed_actions | JSON | 是 | 允许动作,默认点名/点评/课程资源/名单查看 | 普通 |
| edu_substitute_grant | SubstituteGrant | valid_from | DATETIME | 是 | 授权开始时间 | 普通 |
| edu_substitute_grant | SubstituteGrant | valid_until | DATETIME | 是 | 授权截止时间 | 普通 |
| edu_substitute_grant | SubstituteGrant | grant_status | VARCHAR(32) | 是 | 待领取/有效/已过期/已撤销/已使用 | 普通 |
| edu_substitute_grant | SubstituteGrant | used_at | DATETIME | 否 | 首次使用时间 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | student_id | BIGINT | 是 | 学员 ID | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | teacher_id | BIGINT | 是 | 操作教师 ID | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | attendance_status | VARCHAR(32) | 是 | 到课/迟到/请假/旷课/未到/补课到课 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | source_type | VARCHAR(32) | 是 | 人工/人脸识别/补录/导入 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | reason_code | VARCHAR(64) | 否 | 异常或请假原因编码 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | arrived_at | DATETIME | 否 | 到课时间 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | comment_eligible | TINYINT | 是 | 是否允许课堂点评,未到课状态为 0 | 普通 |
| edu_lesson_attendance_item | LessonAttendanceItem | blocked_reason | VARCHAR(255) | 否 | 不可点评原因 | 普通 |
| edu_lesson_comment | LessonComment | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_lesson_comment | LessonComment | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_lesson_comment | LessonComment | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_lesson_comment | LessonComment | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_lesson_comment | LessonComment | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_lesson_comment | LessonComment | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_lesson_comment | LessonComment | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_lesson_comment | LessonComment | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_lesson_comment | LessonComment | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_lesson_comment | LessonComment | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_lesson_comment | LessonComment | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_lesson_comment | LessonComment | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_lesson_comment | LessonComment | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| edu_lesson_comment | LessonComment | student_id | BIGINT | 是 | 学员 ID | 普通 |
| edu_lesson_comment | LessonComment | teacher_id | BIGINT | 是 | 点评教师 ID | 普通 |
| edu_lesson_comment | LessonComment | attendance_status_snapshot | VARCHAR(32) | 是 | 提交点评时的点名状态快照 | 普通 |
| edu_lesson_comment | LessonComment | comment_content | TEXT | 否 | 课堂表现和学习建议 | 普通 |
| edu_lesson_comment | LessonComment | photo_file_ids | JSON | 否 | 课堂照片附件 | 普通 |
| edu_lesson_comment | LessonComment | audio_comment_id | BIGINT | 否 | 语音评语 ID | 普通 |
| edu_lesson_comment | LessonComment | publish_status | VARCHAR(32) | 是 | 草稿/待审核/已发布/已驳回 | 普通 |
| edu_lesson_comment | LessonComment | published_at | DATETIME | 否 | 发布时间 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | draft_no | VARCHAR(64) | 是 | 批改草稿编号,唯一 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | homework_id | BIGINT | 是 | 作业 ID | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | submission_id | BIGINT | 是 | 作业提交 ID | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | student_id | BIGINT | 是 | 学员 ID | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | teacher_id | BIGINT | 是 | 批改教师 ID | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | draft_version | INT | 是 | 批改草稿版本号 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | score | DECIMAL(8,2) | 否 | 评分 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | text_comment | TEXT | 否 | 文字评语 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | audio_comment_id | BIGINT | 否 | 语音评语 ID | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | correction_required | TINYINT | 是 | 是否要求订正 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | draft_status | VARCHAR(32) | 是 | 草稿/待发布/已发布/冲突/已废弃 | 普通 |
| edu_homework_review_draft | HomeworkReviewDraft | last_saved_at | DATETIME | 否 | 最近保存时间 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | lock_no | VARCHAR(64) | 是 | 编辑锁编号,唯一 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | submission_id | BIGINT | 是 | 作业提交 ID | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | teacher_id | BIGINT | 是 | 锁定教师 ID | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | terminal_type | VARCHAR(32) | 是 | 手机/小程序/iPad/安卓平板 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | lock_token | VARCHAR(128) | 是 | 编辑锁令牌,唯一 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | lock_status | VARCHAR(32) | 是 | 锁定中/已释放/已过期/强制释放 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | locked_at | DATETIME | 是 | 锁定时间 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | expire_at | DATETIME | 是 | 锁过期时间 | 普通 |
| edu_homework_edit_lock | HomeworkEditLock | released_at | DATETIME | 否 | 释放时间 | 普通 |
| edu_audio_comment_review | AudioCommentReview | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_audio_comment_review | AudioCommentReview | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_audio_comment_review | AudioCommentReview | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_audio_comment_review | AudioCommentReview | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_audio_comment_review | AudioCommentReview | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_audio_comment_review | AudioCommentReview | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_audio_comment_review | AudioCommentReview | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_audio_comment_review | AudioCommentReview | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_audio_comment_review | AudioCommentReview | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_audio_comment_review | AudioCommentReview | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_audio_comment_review | AudioCommentReview | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_audio_comment_review | AudioCommentReview | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_audio_comment_review | AudioCommentReview | audio_comment_no | VARCHAR(64) | 是 | 语音评语编号,唯一 | 普通 |
| edu_audio_comment_review | AudioCommentReview | biz_type | VARCHAR(32) | 是 | 作业批改/课堂点评/测评反馈 | 普通 |
| edu_audio_comment_review | AudioCommentReview | biz_id | BIGINT | 是 | 业务对象 ID | 普通 |
| edu_audio_comment_review | AudioCommentReview | teacher_id | BIGINT | 是 | 教师 ID | 普通 |
| edu_audio_comment_review | AudioCommentReview | audio_file_id | BIGINT | 是 | 语音文件 ID | 普通 |
| edu_audio_comment_review | AudioCommentReview | duration_seconds | INT | 是 | 语音时长秒数 | 普通 |
| edu_audio_comment_review | AudioCommentReview | transcript_text | TEXT | 否 | 语音转写文本 | 普通 |
| edu_audio_comment_review | AudioCommentReview | precheck_status | VARCHAR(32) | 是 | 待预检/通过/拦截 | 普通 |
| edu_audio_comment_review | AudioCommentReview | review_status | VARCHAR(32) | 是 | 待审核/通过/驳回 | 普通 |
| edu_audio_comment_review | AudioCommentReview | sensitive_hits | JSON | 否 | 敏感词命中结果 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | sync_batch_no | VARCHAR(64) | 是 | 离线同步批次号,唯一 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | employee_id | BIGINT | 是 | 员工/教师 ID | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | terminal_type | VARCHAR(32) | 是 | iPad/安卓平板 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | device_id | VARCHAR(128) | 是 | 端侧设备 ID | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | offline_payload | JSON | 是 | 离线操作载荷 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | draft_version | INT | 否 | 端侧草稿版本 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | sync_status | VARCHAR(32) | 是 | 待同步/同步中/成功/冲突/失败 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | conflict_items | JSON | 否 | 冲突明细 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | retry_count | INT | 是 | 重试次数 | 普通 |
| mob_offline_sync_queue | OfflineSyncQueue | last_sync_at | DATETIME | 否 | 最近同步时间 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | created_at | DATETIME | 是 | 创建时间 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | attempt_no | VARCHAR(64) | 是 | 答题记录编号,唯一 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | employee_id | BIGINT | 是 | 员工 ID | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | exam_id | BIGINT | 是 | 考试 ID | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | task_id | BIGINT | 否 | 培训任务 ID | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | started_at | DATETIME | 是 | 开始答题时间 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | submitted_at | DATETIME | 否 | 交卷时间 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | score | DECIMAL(8,2) | 否 | 考试得分 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | pass_status | VARCHAR(32) | 否 | 未判分/已通过/未通过 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | wrong_question_snapshot | JSON | 否 | 错题快照 | 普通 |
| kbt_training_exam_attempt | TrainingExamAttempt | attempt_status | VARCHAR(32) | 是 | 进行中/已交卷/已超时/已作废 | 普通 |
| fin_expense_report | ExpenseReport | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| fin_expense_report | ExpenseReport | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| fin_expense_report | ExpenseReport | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| fin_expense_report | ExpenseReport | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| fin_expense_report | ExpenseReport | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| fin_expense_report | ExpenseReport | created_at | DATETIME | 是 | 创建时间 | 普通 |
| fin_expense_report | ExpenseReport | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| fin_expense_report | ExpenseReport | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| fin_expense_report | ExpenseReport | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| fin_expense_report | ExpenseReport | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| fin_expense_report | ExpenseReport | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| fin_expense_report | ExpenseReport | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| fin_expense_report | ExpenseReport | report_no | VARCHAR(64) | 是 | 报销单号,唯一 | 普通 |
| fin_expense_report | ExpenseReport | employee_id | BIGINT | 是 | 报销人 ID | 普通 |
| fin_expense_report | ExpenseReport | expense_type | VARCHAR(32) | 是 | 报销类型 | 普通 |
| fin_expense_report | ExpenseReport | amount | DECIMAL(18,2) | 是 | 报销金额 | 普通 |
| fin_expense_report | ExpenseReport | invoice_file_ids | JSON | 否 | 发票附件 ID 列表 | 普通 |
| fin_expense_report | ExpenseReport | item_snapshot | JSON | 是 | 费用明细快照 | 普通 |
| fin_expense_report | ExpenseReport | approval_instance_id | BIGINT | 否 | 审批实例 ID | 普通 |
| fin_expense_report | ExpenseReport | report_status | VARCHAR(32) | 是 | 草稿/审批中/已驳回/已通过/付款中/已付款/已作废 | 普通 |
| fin_expense_report | ExpenseReport | submitted_at | DATETIME | 否 | 提交时间 | 普通 |
| pat_rectification_review | PatrolRectificationReview | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| pat_rectification_review | PatrolRectificationReview | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| pat_rectification_review | PatrolRectificationReview | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| pat_rectification_review | PatrolRectificationReview | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| pat_rectification_review | PatrolRectificationReview | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| pat_rectification_review | PatrolRectificationReview | created_at | DATETIME | 是 | 创建时间 | 普通 |
| pat_rectification_review | PatrolRectificationReview | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| pat_rectification_review | PatrolRectificationReview | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| pat_rectification_review | PatrolRectificationReview | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| pat_rectification_review | PatrolRectificationReview | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| pat_rectification_review | PatrolRectificationReview | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| pat_rectification_review | PatrolRectificationReview | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| pat_rectification_review | PatrolRectificationReview | review_no | VARCHAR(64) | 是 | 复核编号,唯一 | 普通 |
| pat_rectification_review | PatrolRectificationReview | rectification_id | BIGINT | 是 | 整改任务 ID | 普通 |
| pat_rectification_review | PatrolRectificationReview | reviewer_id | BIGINT | 是 | 复核人 ID | 普通 |
| pat_rectification_review | PatrolRectificationReview | before_evidence_ids | JSON | 是 | 整改前证据 ID 列表 | 普通 |
| pat_rectification_review | PatrolRectificationReview | after_evidence_ids | JSON | 是 | 整改后证据 ID 列表 | 普通 |
| pat_rectification_review | PatrolRectificationReview | review_result | VARCHAR(32) | 是 | 通过/驳回/待补充 | 普通 |
| pat_rectification_review | PatrolRectificationReview | review_comment | VARCHAR(1024) | 否 | 复核意见 | 普通 |
| pat_rectification_review | PatrolRectificationReview | review_status | VARCHAR(32) | 是 | 待复核/已通过/已驳回/已关闭 | 普通 |
| pat_rectification_review | PatrolRectificationReview | reviewed_at | DATETIME | 否 | 复核时间 | 普通 |
| cls_classroom_session | ClassroomSession | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| cls_classroom_session | ClassroomSession | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| cls_classroom_session | ClassroomSession | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| cls_classroom_session | ClassroomSession | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| cls_classroom_session | ClassroomSession | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| cls_classroom_session | ClassroomSession | created_at | DATETIME | 是 | 创建时间 | 普通 |
| cls_classroom_session | ClassroomSession | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| cls_classroom_session | ClassroomSession | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| cls_classroom_session | ClassroomSession | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| cls_classroom_session | ClassroomSession | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| cls_classroom_session | ClassroomSession | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| cls_classroom_session | ClassroomSession | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| cls_classroom_session | ClassroomSession | session_no | VARCHAR(64) | 是 | 课堂会话编号,唯一 | 普通 |
| cls_classroom_session | ClassroomSession | lesson_id | BIGINT | 是 | 课次 ID | 普通 |
| cls_classroom_session | ClassroomSession | teacher_id | BIGINT | 是 | 教师 ID | 普通 |
| cls_classroom_session | ClassroomSession | tv_device_id | BIGINT | 否 | 教学 TV 设备 ID | 普通 |
| cls_classroom_session | ClassroomSession | session_status | VARCHAR(32) | 是 | 未开始/进行中/已结束/异常 | 普通 |
| cls_classroom_session | ClassroomSession | resource_state | JSON | 否 | 课件投放与播放状态 | 普通 |
| tv_device | TVDevice | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| tv_device | TVDevice | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| tv_device | TVDevice | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| tv_device | TVDevice | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| tv_device | TVDevice | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| tv_device | TVDevice | created_at | DATETIME | 是 | 创建时间 | 普通 |
| tv_device | TVDevice | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| tv_device | TVDevice | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| tv_device | TVDevice | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| tv_device | TVDevice | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| tv_device | TVDevice | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| tv_device | TVDevice | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| tv_device | TVDevice | device_code | VARCHAR(64) | 是 | TV 设备编码,唯一 | 普通 |
| tv_device | TVDevice | classroom_id | BIGINT | 是 | 绑定教室 ID | 普通 |
| tv_device | TVDevice | app_version | VARCHAR(32) | 是 | 应用版本 | 普通 |
| tv_device | TVDevice | device_status | VARCHAR(32) | 是 | 在线/离线/停用/异常 | 普通 |
| tv_device | TVDevice | heartbeat_at | DATETIME | 否 | 最近心跳 | 普通 |
| tv_device | TVDevice | focus_mode | VARCHAR(32) | 否 | 遥控器焦点模式 | 普通 |
| tv_command_log | TVCommandLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| tv_command_log | TVCommandLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| tv_command_log | TVCommandLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| tv_command_log | TVCommandLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| tv_command_log | TVCommandLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| tv_command_log | TVCommandLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| tv_command_log | TVCommandLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| tv_command_log | TVCommandLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| tv_command_log | TVCommandLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| tv_command_log | TVCommandLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| tv_command_log | TVCommandLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| tv_command_log | TVCommandLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| tv_command_log | TVCommandLog | command_no | VARCHAR(64) | 是 | 命令编号,唯一 | 普通 |
| tv_command_log | TVCommandLog | tv_device_id | BIGINT | 是 | TV 设备 ID | 普通 |
| tv_command_log | TVCommandLog | sender_id | BIGINT | 是 | 发送人 ID | 普通 |
| tv_command_log | TVCommandLog | command_type | VARCHAR(64) | 是 | 打开课件/播放/暂停/切题/退出 | 普通 |
| tv_command_log | TVCommandLog | command_payload | JSON | 否 | 命令参数 | 普通 |
| tv_command_log | TVCommandLog | execute_status | VARCHAR(32) | 是 | 待执行/成功/失败/超时 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| teacher_desktop_session | TeacherDesktopSession | created_at | DATETIME | 是 | 创建时间 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| teacher_desktop_session | TeacherDesktopSession | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | session_no | VARCHAR(64) | 是 | 桌面端会话编号,唯一 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | user_id | BIGINT | 是 | 教师账号 ID | 普通 |
| teacher_desktop_session | TeacherDesktopSession | platform | VARCHAR(32) | 是 | macOS/Windows | 普通 |
| teacher_desktop_session | TeacherDesktopSession | app_version | VARCHAR(32) | 是 | 客户端版本 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | device_check_result | JSON | 否 | 摄像头、麦克风、屏幕共享检测 | 普通 |
| teacher_desktop_session | TeacherDesktopSession | session_status | VARCHAR(32) | 是 | 在线/离线/异常/需升级 | 普通 |
数据表与对象映射
| 表名 | 对象 | 用途 | 完整字段 | 索引建议 |
|---|---|---|---|---|
| mob_teacher_workspace | TeacherWorkspace | 教师/员工移动工作台配置 | 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,必填)、user_id(BIGINT,必填)、terminal_type(VARCHAR(32),必填)、widget_config(JSON)、todo_count_snapshot(JSON)、last_open_at(DATETIME) | uk_user_terminal |
| mob_teacher_todo | TeacherTodo | 教师/员工待办 | 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,必填)、todo_no(VARCHAR(64),必填)、user_id(BIGINT,必填)、todo_type(VARCHAR(64),必填)、biz_id(BIGINT,必填)、due_at(DATETIME)、todo_status(VARCHAR(32),必填) | uk_todo_no、idx_user_status |
| edu_lesson_resource | LessonResource | 课次课程资源授权 | 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,必填)、resource_no(VARCHAR(64),必填)、lesson_id(BIGINT,必填)、course_id(BIGINT,必填)、resource_type(VARCHAR(32),必填)、resource_name(VARCHAR(128),必填)、file_id(BIGINT)、preview_policy(JSON)、projection_policy(JSON)、download_policy(JSON)、publish_status(VARCHAR(32),必填)、version_no(VARCHAR(32),必填) | uk_resource_no、idx_lesson_type、idx_course_status |
| edu_lesson_plan | LessonPlan | 本节教案版本 | 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,必填)、plan_no(VARCHAR(64),必填)、lesson_id(BIGINT,必填)、course_id(BIGINT,必填)、plan_title(VARCHAR(128),必填)、plan_content(JSON,必填)、version_no(VARCHAR(32),必填)、read_only(TINYINT,必填)、publish_status(VARCHAR(32),必填)、published_at(DATETIME) | uk_plan_no、idx_lesson_version、idx_course_status |
| edu_substitute_grant | SubstituteGrant | 应急代课短时授权 | 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,必填)、grant_no(VARCHAR(64),必填)、lesson_id(BIGINT,必填)、original_teacher_id(BIGINT,必填)、substitute_teacher_id(BIGINT,必填)、grant_code(VARCHAR(64),必填)、allowed_actions(JSON,必填)、valid_from(DATETIME,必填)、valid_until(DATETIME,必填)、grant_status(VARCHAR(32),必填)、used_at(DATETIME) | uk_grant_no、uk_grant_code、idx_lesson_status、idx_substitute_valid |
| edu_lesson_attendance_item | LessonAttendanceItem | 课堂点名明细与点评资格 | 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,必填)、lesson_id(BIGINT,必填)、student_id(BIGINT,必填)、teacher_id(BIGINT,必填)、attendance_status(VARCHAR(32),必填)、source_type(VARCHAR(32),必填)、reason_code(VARCHAR(64))、arrived_at(DATETIME)、comment_eligible(TINYINT,必填)、blocked_reason(VARCHAR(255)) | uk_lesson_student、idx_lesson_status、idx_teacher |
| edu_lesson_comment | LessonComment | 课堂点评记录 | 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,必填)、lesson_id(BIGINT,必填)、student_id(BIGINT,必填)、teacher_id(BIGINT,必填)、attendance_status_snapshot(VARCHAR(32),必填)、comment_content(TEXT)、photo_file_ids(JSON)、audio_comment_id(BIGINT)、publish_status(VARCHAR(32),必填)、published_at(DATETIME) | uk_lesson_student、idx_teacher_status |
| edu_homework_review_draft | HomeworkReviewDraft | 教师批改草稿 | 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,必填)、draft_no(VARCHAR(64),必填)、homework_id(BIGINT,必填)、submission_id(BIGINT,必填)、student_id(BIGINT,必填)、teacher_id(BIGINT,必填)、draft_version(INT,必填)、score(DECIMAL(8,2))、text_comment(TEXT)、audio_comment_id(BIGINT)、correction_required(TINYINT,必填)、draft_status(VARCHAR(32),必填)、last_saved_at(DATETIME) | uk_draft_no、idx_submission_teacher、idx_homework_status |
| edu_homework_edit_lock | HomeworkEditLock | 作业批改跨端编辑锁 | 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,必填)、lock_no(VARCHAR(64),必填)、submission_id(BIGINT,必填)、teacher_id(BIGINT,必填)、terminal_type(VARCHAR(32),必填)、lock_token(VARCHAR(128),必填)、lock_status(VARCHAR(32),必填)、locked_at(DATETIME,必填)、expire_at(DATETIME,必填)、released_at(DATETIME) | uk_lock_no、uk_lock_token、idx_submission_status、idx_teacher_status |
| edu_audio_comment_review | AudioCommentReview | 语音评语审核 | 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,必填)、audio_comment_no(VARCHAR(64),必填)、biz_type(VARCHAR(32),必填)、biz_id(BIGINT,必填)、teacher_id(BIGINT,必填)、audio_file_id(BIGINT,必填)、duration_seconds(INT,必填)、transcript_text(TEXT)、precheck_status(VARCHAR(32),必填)、review_status(VARCHAR(32),必填)、sensitive_hits(JSON) | uk_audio_comment_no、idx_biz_status、idx_teacher_status |
| mob_offline_sync_queue | OfflineSyncQueue | 平板离线补偿同步队列 | 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,必填)、sync_batch_no(VARCHAR(64),必填)、employee_id(BIGINT,必填)、terminal_type(VARCHAR(32),必填)、device_id(VARCHAR(128),必填)、offline_payload(JSON,必填)、draft_version(INT)、sync_status(VARCHAR(32),必填)、conflict_items(JSON)、retry_count(INT,必填)、last_sync_at(DATETIME) | uk_sync_batch_no、idx_employee_status、idx_device_status |
| kbt_training_exam_attempt | TrainingExamAttempt | 员工培训考试答题记录 | 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),必填)、employee_id(BIGINT,必填)、exam_id(BIGINT,必填)、task_id(BIGINT)、started_at(DATETIME,必填)、submitted_at(DATETIME)、score(DECIMAL(8,2))、pass_status(VARCHAR(32))、wrong_question_snapshot(JSON)、attempt_status(VARCHAR(32),必填) | uk_attempt_no、idx_employee_exam、idx_task_status |
| fin_expense_report | ExpenseReport | 教师员工移动报销单 | 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,必填)、report_no(VARCHAR(64),必填)、employee_id(BIGINT,必填)、expense_type(VARCHAR(32),必填)、amount(DECIMAL(18,2),必填)、invoice_file_ids(JSON)、item_snapshot(JSON,必填)、approval_instance_id(BIGINT)、report_status(VARCHAR(32),必填)、submitted_at(DATETIME) | uk_report_no、idx_employee_status、idx_approval |
| pat_rectification_review | PatrolRectificationReview | 督课整改复核记录 | 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,必填)、review_no(VARCHAR(64),必填)、rectification_id(BIGINT,必填)、reviewer_id(BIGINT,必填)、before_evidence_ids(JSON,必填)、after_evidence_ids(JSON,必填)、review_result(VARCHAR(32),必填)、review_comment(VARCHAR(1024))、review_status(VARCHAR(32),必填)、reviewed_at(DATETIME) | uk_review_no、idx_rectification_status、idx_reviewer_status |
| cls_classroom_session | ClassroomSession | 课堂会话 | 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,必填)、session_no(VARCHAR(64),必填)、lesson_id(BIGINT,必填)、teacher_id(BIGINT,必填)、tv_device_id(BIGINT)、session_status(VARCHAR(32),必填)、resource_state(JSON) | uk_session_no、idx_lesson |
| tv_device | TVDevice | 安卓 TV 教学端设备 | 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,必填)、device_code(VARCHAR(64),必填)、classroom_id(BIGINT,必填)、app_version(VARCHAR(32),必填)、device_status(VARCHAR(32),必填)、heartbeat_at(DATETIME)、focus_mode(VARCHAR(32)) | uk_device_code、idx_classroom_status |
| tv_command_log | TVCommandLog | 教师端到 TV 端遥控命令 | 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,必填)、command_no(VARCHAR(64),必填)、tv_device_id(BIGINT,必填)、sender_id(BIGINT,必填)、command_type(VARCHAR(64),必填)、command_payload(JSON)、execute_status(VARCHAR(32),必填) | uk_command_no、idx_device_status |
| teacher_desktop_session | TeacherDesktopSession | 教师 Electron 桌面直播端会话 | 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,必填)、session_no(VARCHAR(64),必填)、user_id(BIGINT,必填)、platform(VARCHAR(32),必填)、app_version(VARCHAR(32),必填)、device_check_result(JSON)、session_status(VARCHAR(32),必填) | uk_session_no、idx_user_status |
12 · 状态机与业务规则
约束业务对象如何流转、何时可编辑、何时触发审批
原型需要把状态标签、可操作按钮和禁用原因展示清楚。| 对象 | 状态 | 触发与说明 |
|---|---|---|
| 课堂会话 | 未开始 -> 待绑定 -> 已绑定 -> 展示中 -> 互动中 -> 已结束 -> 异常断开 | 教师端创建课堂会话,TV 端绑定后进入展示,结束后归档操作记录 |
| TV 设备 | 未绑定 -> 在线 -> 播放中 -> 离线 -> 异常 -> 停用 | 设备心跳、教室绑定、播放控制和异常恢复 |
| 作业批改任务 | 待批改 -> 批改中 -> 已批改 -> 已发布 -> 退回订正 -> 异常待处理 | 教师在手机、iPad 或安卓平板批改作业并同步学员端、家长端 |
| 桌面直播课堂 | 待检测 -> 检测通过 -> 待开播 -> 直播中 -> 弱网告警 -> 已结束 -> 异常关闭 | 教师 Electron 桌面端完成设备检测、开播、共享和结束直播 |
| 直播连麦请求 | 未举手 -> 已举手排队 -> 教师邀请中 -> 连接中 -> 上麦中 -> 已下麦 -> 已拒绝 -> 已取消 -> 已超时 -> 连接失败 | 教师端处理学员举手、邀请、静音、下麦和失败恢复 |
| 直播连麦座席 | 空闲 -> 占用中 -> 静音 -> 下麦中 -> 已释放 -> 异常 | 教师端按座席管理当前上麦人员和座席释放 |
| 员工营销推广 | 未领取 -> 已领取 -> 资产生成中 -> 已生成 -> 分享中 -> 线索回流中 -> 待跟进 -> 已跟进 -> 已失效 | 营销活动发布到员工端后,员工领取活动、生成推广资产、分享、接收线索和跟进处理 |
| 电子工资条 | 未发布 -> 已发布 -> 已查看 -> 异议中 -> 已确认 -> 已归档 -> 已撤回 | 教师/员工端查看、确认或提交异议,后台按配置控制社保和公积金字段展示 |
| 课程资源授权 | 未授权 -> 已授权 -> 可预览 -> 可投放 -> 已下架 -> 权限过期 | 课程资源按课程、课次、教师、代课授权和端类型控制访问、预览、投屏和下载 |
| 教案查看 | 未发布 -> 已发布 -> 只读预览 -> 版本更新 -> 已归档 | 教案在线只读展示,教师端不可修改教研内容,版本更新需展示最近发布时间 |
| 课堂点名点评 | 待点名 -> 点名中 -> 已到课 -> 迟到待确认 -> 请假 -> 旷课 -> 未到 -> 可点评 -> 不可点评 -> 点评已发布 | 点名结果决定点评权限,未到课学员不可点评并在批量勾选中置灰 |
| 代课短时授权 | 待下发 -> 待领取 -> 已领取 -> 授权有效 -> 已过期 -> 已撤销 | 教务下发代课短时授权后,代课教师仅能访问本节课点名、点评、课程资源和名单 |
| 批改草稿与编辑锁 | 未锁定 -> 锁定中 -> 编辑中 -> 已保存草稿 -> 版本冲突 -> 已释放 -> 强制释放 | 手机、iPad、安卓平板同一作业批改启用跨端编辑锁和 draftVersion 冲突校验 |
| 语音评语审核 | 未录制 -> 录制中 -> 待预检 -> 预检通过 -> 预检拦截 -> 服务端审核中 -> 审核通过 -> 审核驳回 | 语音评语支持试听、重录、转文字可选和语音敏感词预检,发布前服务端最终审核 |
| 平板离线补偿同步 | 在线 -> 离线草稿 -> 待同步 -> 同步中 -> 同步成功 -> 同步冲突 -> 同步失败 | 平板弱网离线批改进入离线补偿同步队列,恢复网络后上传并按版本处理冲突 |
| 培训考试 | 待学习 -> 学习中 -> 已读完 -> 待考试 -> 考试中 -> 已交卷 -> 已通过 -> 未通过 -> 待补考 | 员工培训资料阅读、考试答题、考试结果和错题回看同步培训档案 |
| 移动报销 | 草稿 -> 已提交 -> 审批中 -> 已驳回 -> 待修改 -> 已通过 -> 付款中 -> 已付款 -> 已作废 | 教师/员工端创建报销单、提交审批、驳回修改、重新提交并跟踪付款状态 |
| 督课整改复核 | 待整改 -> 整改中 -> 待复核 -> 复核通过 -> 复核驳回 -> 已关闭 | 督课整改必须展示整改前证据和整改后证据,缺少整改后证据不得通过复核 |
教师员工端与教学TV端涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
教师员工端与教学TV端涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
教师员工端与教学TV端涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
教师员工端与教学TV端涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
教师员工端与教学TV端涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
教师员工端与教学TV端涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
13 · 权限、审批与消息
动作权限、数据范围、审批触发和消息触达必须闭环
权限需要覆盖菜单、按钮、字段、接口和导出。动作权限
- 查看课表:需映射菜单、按钮、接口和字段权限
- 活动推广:需映射菜单、按钮、接口和字段权限
- 生成推广码:需映射菜单、按钮、接口和字段权限
- 查看活动线索:需映射菜单、按钮、接口和字段权限
- 课堂点名:需映射菜单、按钮、接口和字段权限
- 桌面开播:需映射菜单、按钮、接口和字段权限
- 屏幕共享:需映射菜单、按钮、接口和字段权限
- 处理连麦:需映射菜单、按钮、接口和字段权限
- 批改作业:需映射菜单、按钮、接口和字段权限
- 查看工资条:需映射菜单、按钮、接口和字段权限
- 确认工资条:需映射菜单、按钮、接口和字段权限
- 提交异议:需映射菜单、按钮、接口和字段权限
- 控制 TV:需映射菜单、按钮、接口和字段权限
- 播放课件:需映射菜单、按钮、接口和字段权限
- 互动投放:需映射菜单、按钮、接口和字段权限
- 退出课堂:需映射菜单、按钮、接口和字段权限
数据范围
- 总部全量
- 区域辖区
- 校区本地
- 部门/岗位
- 本人负责
- 授权班级/学员
审批配置
| 审批名称 | 触发条件 | 流程 | 结果 | 留痕 |
|---|---|---|---|---|
| 端侧教学操作授权 | 教师/员工端查看课表、批改作业、课堂点名、督课处理和移动审批需校验本人或授权班级/校区范围 | 教师、教务、督导 | 课表、班级、作业、督课任务 | |
| 员工推广操作授权 | 教师员工端查看可推广活动、生成二维码/海报、查看活动线索和推广战报需校验员工角色、活动范围、校区范围和本人数据范围 | 销售、市场、课程顾问、班主任 | 营销活动、推广资产、活动线索、推广战报 | |
| 直播开播与录制授权 | 教师桌面端开播、屏幕共享、本地录制和结束直播需校验教师/助教权限,并记录设备检测与操作审计 | 教师、助教 | 直播间、课堂、设备权限、录制策略 | |
| 连麦管理授权 | 同意上麦、拒绝上麦、静音、解除静音、下麦和清空队列仅教师/助教可操作 | 教师、助教 | 直播间、连麦请求、连麦座席 | |
| 电子工资条发布审批 | 薪资批次生成后由人事或财务审批发布,教师/员工端只允许查看本人并确认或提交异议 | 人事、财务、教师/员工 | 工资条、薪资期间、社保/公积金显示开关 | |
| 课程资源与教案发布授权 | 后台教研发布课程资源和教案后,教师端只读查看并按课次授权投放,禁止端侧直接修改教研内容 | 教研、教师、代课教师 | 课程资源、教案版本、课次授权 | |
| 应急代课授权 | 教师请假、临时调课或教务兜底时发起代课短时授权,授权码到期后自动失效 | 教务、教师、代课教师 | 课次、班级、代课授权、审计日志 | |
| 移动报销审批 | 教师/员工在移动端提交报销单、发票附件和说明后进入后台审批,驳回后可在端侧修改重提 | 教师/员工、直属主管、财务 | 报销单、发票、审批实例、付款状态 | |
| 督课整改复核审批 | 督导发起整改后,责任教师提交整改后证据,督导复核通过后关闭问题 | 督导、教学主管、责任教师 | 督课记录、整改前证据、整改后证据、复核意见 | |
| 语音评语发布审核 | 语音评语本地敏感词预检通过后提交服务端最终审核,审核通过才对学员/家长可见 | 教师、内容安全服务、教学主管可选 | 语音评语、转写文本、敏感词命中记录 | |
| TV 课堂控制授权 | 课堂会话创建、TV 绑定、课件投放和退出课堂需校验教师、教室和课次关系 | 教师、教务 | 课次、教室、TV 设备、课堂会话 |
消息模板
| 消息 | 接收人 | 触发 | 渠道 | 变量 |
|---|---|---|---|---|
| 课堂开始提醒 | 教师 | 课前 10 分钟或课堂会话创建 | App、站内信 | 课程、班级、教室、TV 绑定状态 |
| TV 设备异常提醒 | 教师/设备管理员 | TV 离线、绑定失败或播放失败 | App、站内信 | 设备、教室、错误码、处理入口 |
| 作业批改待办 | 教师 | 学员提交作业或批量待批改 | App、站内信 | 班级、作业、待批改数量、截止时间 |
| 直播连麦待处理 | 教师/助教 | 学员举手或连麦邀请超时 | 直播内通知、App、站内信 | 直播间、学员、排队序号、处理入口 |
| 活动线索跟进待办 | 课程顾问/销售人员/市场人员/班主任 | 本人推广活动产生线索或 CRM 分配活动线索 | 教师员工端 App/小程序、站内信 | 活动名称、线索、归因二维码、跟进截止时间 |
| 电子工资条发布通知 | 教师/员工 | 工资条发布或重新发布 | 小程序、App、站内信 | 薪资月份、查看入口、确认截止时间 |
| 工资条异议处理通知 | 教师/员工/人事 | 员工提交异议、人事处理完成或逾期未处理 | 小程序、App、站内信 | 工资条、异议原因、处理结果 |
| 课程资源更新通知 | 教师/代课教师 | 本节课课程资源或教案版本更新 | 教师员工端 App/小程序、站内信 | 课程、课次、资源类型、教案版本、只读入口 |
| 代课授权通知 | 代课教师/原教师/教务 | 教务下发、撤销或代课授权即将过期 | 教师员工端 App/小程序、站内信 | 课次、班级、授权码、有效期、可操作范围 |
| 批改编辑锁提醒 | 教师 | 同一份作业被其他端占用、锁超时或 draftVersion 冲突 | 教师员工端 App/小程序、平板端 | 作业、学员、占用端、锁定人、冲突处理入口 |
| 语音评语审核结果 | 教师 | 语音评语敏感词预检或服务端审核失败 | 教师员工端 App/小程序 | 作业、学员、命中原因、重录/修改入口 |
| 离线同步结果提醒 | 教师 | 平板离线批改草稿同步成功、失败或冲突 | iPad/安卓平板 App | 作业、学员、同步批次、冲突处理入口 |
| 培训考试提醒 | 教师/员工 | 培训任务下发、考试即将截止、补考开放或结果发布 | 教师员工端 App/小程序、站内信 | 培训课程、考试、截止时间、结果入口 |
| 移动报销处理通知 | 教师/员工/审批人 | 报销提交、驳回、审批通过、付款完成或异常 | 教师员工端 App/小程序、站内信 | 报销单号、金额、当前节点、处理入口 |
| 督课整改复核通知 | 责任教师/督导/教学主管 | 督课问题派发、整改提交、复核通过或驳回 | 教师员工端 App/小程序、平板端 | 督课任务、问题项、整改前证据、整改后证据、复核结果 |
14 · 接口与技术细节
接口需支持幂等、权限、审计、重试和回执
每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。| 接口 | 方法 | 方向 | 请求字段 | 响应字段 | 幂等/权限 |
|---|---|---|---|---|---|
| /api/v1/teacher/auth/identity-options | GET | 教师/员工端到认证中心 | mobile, openId, deviceId, terminalType | availableCampuses, availableRoles, defaultIdentity, loginPolicy | 账号停用、无可用身份、设备超限 |
| /api/v1/teacher/today-lessons | GET | 教师端到平台 | teacherId, campusId, date, platform | lessonList, todoCount, classroomStatus, resourceStatus, attendanceStatus, commentStatus, liveStatus, tvStatus | teacherId + date 权限校验 |
| /api/v1/teacher/workspace | GET | 教师/员工端到端侧网关 | employeeId, campusId, roleCode, platform, date | todayLessons, pendingTasks, marketingTodos, trainingTasks, approvalTasks, expenseTips, payslipTips | 按角色、校区、端类型和本人授权范围裁剪 |
| /api/v1/teacher/profile | GET/PATCH | 教师/员工端到账号中心 | employeeId, terminalType, settingPatch | profile, identityList, deviceSessions, messageSettings | 只能维护本人设置;敏感字段只读 |
| /api/v1/lesson/resources | GET | 教师/员工端到教研资源服务 | lessonId, teacherId, platform, substituteGrantId | resourceGroups, resourceItems, previewPolicy, projectionPolicy, offlinePolicy | 课程资源授权校验;只返回本节课可见资源 |
| /api/v1/lesson/plans/{lessonId} | GET | 教师/员工端到教研资源服务 | lessonId, teacherId, platform, substituteGrantId | lessonPlan, versionNo, readOnly=true, publishAt | 教案在线只读;禁止端侧修改 |
| /api/v1/lesson/substitute-grants/verify | POST | 教师/员工端到教务服务 | grantCode, lessonId, substituteTeacherId, deviceId | grantId, validUntil, allowedActions, lessonSnapshot | 代课短时授权码校验;过期或撤销后拒绝 |
| /api/v1/teacher/attendance/submit | POST | 教师端到教务服务 | lessonId, teacherId, attendanceItems, substituteGrantId, operationId | attendanceBatchId, lessonAttendanceStatus, commentEligibility | operationId 幂等;点名结果回写点评权限 |
| /api/v1/teacher/comments/submit | POST | 教师端到教学服务 | lessonId, teacherId, studentComments, attachments, operationId | commentBatchId, publishStatus, blockedStudents | 未到课学员不可点评;studentId + lessonId 幂等 |
| /api/v1/teacher/assessments/feedback | POST | 教师端到测评服务 | lessonId, studentId, teacherId, abilityScores, weaknessTags, feedbackContent, operationId | assessmentFeedbackId, publishStatus, archiveStatus | 学员 + 课次幂等;结果同步学习档案 |
| /api/v1/teacher/homework/review-drafts | POST/PUT | 教师端到学习服务 | submissionId, teacherId, draftVersion, score, textComment, audioCommentId, correctionRequired, operationId | draftId, draftVersion, lockStatus, reviewStatus | 跨端编辑锁与 draftVersion 校验 |
| /api/v1/teacher/homework/edit-locks | POST/DELETE | 教师端到学习服务 | submissionId, teacherId, platform, lockToken, expireSeconds | lockToken, lockStatus, lockedBy, expireAt | 同一提交同一时间只允许一个端编辑 |
| /api/v1/teacher/homework/batch-review | POST | 教师端到学习服务 | homeworkId, classId, teacherId, selectedSubmissionIds, scoreRule, commentTemplateId, protectPersonalized=true, operationId | batchId, successCount, skippedItems, publishStatus | 只允许同班级同作业轻量批量批改;个性化评语保护 |
| /api/v1/teacher/audio-comments | POST | 教师端到文件与内容安全服务 | teacherId, bizType, bizId, audioFileId, duration, transcriptEnabled, operationId | audioCommentId, precheckStatus, transcriptText, reviewStatus | 语音敏感词预检;服务端发布前最终审核 |
| /api/v1/teacher/offline-sync | POST | 平板端到端侧网关 | employeeId, platform, syncBatchNo, draftVersion, offlineItems, deviceClock | syncStatus, successItems, conflictItems, failedItems | 离线补偿同步;按 draftVersion 返回冲突 |
| /api/v1/training/tasks | GET | 教师/员工端到知识库培训服务 | employeeId, roleCode, campusId, status | taskList, progressSummary, examTodo | 本人培训任务权限校验 |
| /api/v1/training/materials/{id}/progress | POST | 教师/员工端到知识库培训服务 | materialId, employeeId, readProgress, durationSeconds, operationId | progressStatus, completed, nextAction | 阅读进度幂等上报 |
| /api/v1/training/exams/{id}/submit | POST | 教师/员工端到知识库培训服务 | examId, employeeId, answers, submitAt, operationId | attemptId, score, passStatus, wrongQuestions | 考试提交幂等;超时按规则交卷 |
| /api/v1/expenses/mobile/reports | POST/PUT | 教师/员工端到财务报销服务 | employeeId, expenseType, amount, invoiceFileIds, items, draftFlag, operationId | expenseReportId, reportStatus, approvalInstanceId | 草稿保存和提交幂等;驳回后允许修改重提 |
| /api/v1/teacher/approvals | GET/POST | 教师/员工端到审批中心 | employeeId, status, approvalId, action, comment, operationId | approvalList, approvalDetail, nextStatus, notifyStatus | 审批节点权限校验;operationId 幂等 |
| /api/v1/teacher/messages | GET/PATCH | 教师/员工端到消息中心 | employeeId, category, readStatus, messageIds | messageList, unreadCount, readResult | 只能处理本人消息;批量已读幂等 |
| /api/v1/patrol/rectifications/{id}/review | POST | 平板端到远程巡课服务 | rectificationId, reviewerId, beforeEvidenceIds, afterEvidenceIds, reviewResult, reviewComment, operationId | reviewStatus, closeStatus, nextAction | 整改后证据必填,否则不可通过复核 |
| /api/v1/teacher/marketing/workbench | GET | 教师/员工端到端侧网关 | employeeId, roleCode, campusId, dateRange | availableCampaigns, myAssets, newLeadTodos, campaignStats, expireWarnings | 仅聚合本人或授权活动推广数据 |
| /api/v1/teacher/marketing/promotion-assets | POST/GET | 教师/员工端到营销服务 | employeeId, campaignId, pageId, channelId, shareScene, requestId | assetId, shortUrl, qrCodeUrl, posterUrl, assetStatus | employeeId + campaignId + pageId 幂等 |
| /api/v1/teacher/marketing/activity-leads | GET | 教师/员工端到 CRM | employeeId, campaignId, followStatus, pageNo, pageSize | leadList, attributionTags, visibleActions | 移动端只返回本人授权范围内线索 |
| /api/v1/teacher/homework/review | POST | 教师端到平台 | taskId, studentId, score, comment, attachments, draftVersion, audioCommentId | reviewId, publishStatus, lockReleaseStatus | taskId + studentId 幂等;批改发布后释放编辑锁 |
| /api/v1/live/rooms/{id}/teacher-console | GET | 教师桌面端到直播中心 | liveRoomId, teacherId, clientType | roomStatus, providerStatus, deviceCheckRequired, micQueueSummary | 教师/助教权限校验 |
| /api/v1/live/rooms/{id}/start | POST | 教师桌面端到直播中心 | liveRoomId, teacherId, deviceCheckId, operationId | roomStatus, pushUrl, recordingStatus | operationId 幂等 |
| /api/v1/live/rooms/{id}/mic-requests | GET | 教师端到直播中心 | liveRoomId, requestStatus, pageNo, pageSize | queueItems, activeSeats, maxSeatCount | 教师/助教权限校验 |
| /api/v1/live/mic-requests/{requestId}/handle | POST | 教师端到直播中心 | requestId, teacherId, action, seatNo, reason, operationId | requestStatus, seatStatus, notifyStatus | operationId 幂等 |
| /api/v1/live/mic-seats/{seatId}/control | POST | 教师端到直播中心 | seatId, action, teacherId, reason, operationId | seatStatus, providerResult | 座席状态校验 |
| /api/v1/hr/payslips | GET | 教师/员工端到人事 | employeeId, salaryMonth, status | payslipList, showSocialInsurance, showHousingFund | 只能查看本人或授权范围 |
| /api/v1/hr/payslips/{id}/confirm | POST | 教师/员工端到人事 | payslipId, employeeId, action, disputeReason, attachments | payslipStatus, disputeTicketId | payslipId + employeeId 幂等 |
| /api/v1/classroom/sessions | POST | 教师端到 TV 服务 | lessonId, teacherId, classroomId | sessionId, bindCode, expireAt | lessonId + classroomId 单一活跃会话 |
| /api/v1/tv/devices/bind | POST | Android TV 到平台 | deviceCode, classroomId, bindCode | deviceId, sessionId, authToken | deviceCode + bindCode 验签 |
| /api/v1/tv/playback/control | POST | 教师端到 TV 服务 | sessionId, action, resourceId, pageNo, timestamp | commandId, executeStatus | sessionId + commandId 去重 |
前端约束
- 统一登录态和租户校区上下文
- 列表分页、筛选、排序、列显隐
- 表单本地校验与服务端错误映射
- 移动/平板/TV 按终端适配交互
后端约束
- 领域服务封装业务规则
- 写操作事务一致性
- 关键操作审计快照
- 异步任务失败重试和告警
集成约束
- 第三方接口统一走开放集成中心
- 回执文件归档
- 接口日志可按业务单号追踪
- 密钥和回调地址按环境隔离
15 · 数据库与存储设计
核心表建议、关键字段和索引方向
详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。| 表名 | 用途 | 核心字段 | 索引建议 |
|---|---|---|---|
| mob_teacher_workspace | 教师/员工移动工作台配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、user_id、terminal_type、widget_config、todo_count_snapshot、last_open_at | uk_user_terminal |
| mob_teacher_todo | 教师/员工待办 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、todo_no、user_id、todo_type、biz_id、due_at、todo_status | uk_todo_no、idx_user_status |
| edu_lesson_resource | 课次课程资源授权 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、resource_no、lesson_id、course_id、resource_type、resource_name、file_id、preview_policy、projection_policy、download_policy、publish_status、version_no | uk_resource_no、idx_lesson_type、idx_course_status |
| edu_lesson_plan | 本节教案版本 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、plan_no、lesson_id、course_id、plan_title、plan_content、version_no、read_only、publish_status、published_at | uk_plan_no、idx_lesson_version、idx_course_status |
| edu_substitute_grant | 应急代课短时授权 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、grant_no、lesson_id、original_teacher_id、substitute_teacher_id、grant_code、allowed_actions、valid_from、valid_until、grant_status、used_at | uk_grant_no、uk_grant_code、idx_lesson_status、idx_substitute_valid |
| edu_lesson_attendance_item | 课堂点名明细与点评资格 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、lesson_id、student_id、teacher_id、attendance_status、source_type、reason_code、arrived_at、comment_eligible、blocked_reason | uk_lesson_student、idx_lesson_status、idx_teacher |
| edu_lesson_comment | 课堂点评记录 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、lesson_id、student_id、teacher_id、attendance_status_snapshot、comment_content、photo_file_ids、audio_comment_id、publish_status、published_at | uk_lesson_student、idx_teacher_status |
| edu_homework_review_draft | 教师批改草稿 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、draft_no、homework_id、submission_id、student_id、teacher_id、draft_version、score、text_comment、audio_comment_id、correction_required、draft_status、last_saved_at | uk_draft_no、idx_submission_teacher、idx_homework_status |
| edu_homework_edit_lock | 作业批改跨端编辑锁 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、lock_no、submission_id、teacher_id、terminal_type、lock_token、lock_status、locked_at、expire_at、released_at | uk_lock_no、uk_lock_token、idx_submission_status、idx_teacher_status |
| edu_audio_comment_review | 语音评语审核 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、audio_comment_no、biz_type、biz_id、teacher_id、audio_file_id、duration_seconds、transcript_text、precheck_status、review_status、sensitive_hits | uk_audio_comment_no、idx_biz_status、idx_teacher_status |
| mob_offline_sync_queue | 平板离线补偿同步队列 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、sync_batch_no、employee_id、terminal_type、device_id、offline_payload、draft_version、sync_status、conflict_items、retry_count、last_sync_at | uk_sync_batch_no、idx_employee_status、idx_device_status |
| kbt_training_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、employee_id、exam_id、task_id、started_at、submitted_at、score、pass_status、wrong_question_snapshot、attempt_status | uk_attempt_no、idx_employee_exam、idx_task_status |
| fin_expense_report | 教师员工移动报销单 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、report_no、employee_id、expense_type、amount、invoice_file_ids、item_snapshot、approval_instance_id、report_status、submitted_at | uk_report_no、idx_employee_status、idx_approval |
| pat_rectification_review | 督课整改复核记录 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、review_no、rectification_id、reviewer_id、before_evidence_ids、after_evidence_ids、review_result、review_comment、review_status、reviewed_at | uk_review_no、idx_rectification_status、idx_reviewer_status |
| cls_classroom_session | 课堂会话 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、session_no、lesson_id、teacher_id、tv_device_id、session_status、resource_state | uk_session_no、idx_lesson |
| tv_device | 安卓 TV 教学端设备 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、device_code、classroom_id、app_version、device_status、heartbeat_at、focus_mode | uk_device_code、idx_classroom_status |
| tv_command_log | 教师端到 TV 端遥控命令 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、command_no、tv_device_id、sender_id、command_type、command_payload、execute_status | uk_command_no、idx_device_status |
| teacher_desktop_session | 教师 Electron 桌面直播端会话 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、session_no、user_id、platform、app_version、device_check_result、session_status | uk_session_no、idx_user_status |
DDL 草案
mob_teacher_workspaceTeacherWorkspace
CREATE TABLE `mob_teacher_workspace` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`user_id` BIGINT NOT NULL COMMENT '教师/员工账号 ID;数据级别:普通',
`terminal_type` VARCHAR(32) NOT NULL COMMENT '手机/小程序/iPad/安卓平板/桌面端;数据级别:普通',
`widget_config` JSON NULL COMMENT '工作台组件配置;数据级别:普通',
`todo_count_snapshot` JSON NULL COMMENT '待办数量快照;数据级别:普通',
`last_open_at` DATETIME NULL COMMENT '最近打开时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_terminal` (`user_id`, `terminal_type`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TeacherWorkspace:教师/员工移动工作台配置';
mob_teacher_todoTeacherTodo
CREATE TABLE `mob_teacher_todo` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`todo_no` VARCHAR(64) NOT NULL COMMENT '待办编号,唯一;数据级别:普通',
`user_id` BIGINT NOT NULL COMMENT '接收人 ID;数据级别:普通',
`todo_type` VARCHAR(64) NOT NULL COMMENT '签到/批改/审批/培训/直播/工资条/营销推广/线索跟进;数据级别:普通',
`biz_id` BIGINT NOT NULL COMMENT '业务 ID;数据级别:普通',
`due_at` DATETIME NULL COMMENT '截止时间;数据级别:普通',
`todo_status` VARCHAR(32) NOT NULL COMMENT '待处理/已处理/已过期;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_todo_no` (`todo_no`),
KEY `idx_user_status` (`user_id`, `todo_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TeacherTodo:教师/员工待办';
edu_lesson_resourceLessonResource
CREATE TABLE `edu_lesson_resource` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`resource_no` VARCHAR(64) NOT NULL COMMENT '资源编号,唯一;数据级别:普通',
`lesson_id` BIGINT NOT NULL COMMENT '课次 ID;数据级别:普通',
`course_id` BIGINT NOT NULL COMMENT '课程 ID;数据级别:普通',
`resource_type` VARCHAR(32) NOT NULL COMMENT '课件/音视频/互动题/讲义/练习/素材;数据级别:普通',
`resource_name` VARCHAR(128) NOT NULL COMMENT '资源名称;数据级别:普通',
`file_id` BIGINT NULL COMMENT '文件中心资源 ID;数据级别:普通',
`preview_policy` JSON NULL COMMENT '预览权限策略;数据级别:普通',
`projection_policy` JSON NULL COMMENT '投屏/TV 展示权限策略;数据级别:普通',
`download_policy` JSON NULL COMMENT '下载权限策略;数据级别:普通',
`publish_status` VARCHAR(32) NOT NULL COMMENT '未发布/已发布/已下架;数据级别:普通',
`version_no` VARCHAR(32) NOT NULL COMMENT '资源版本号;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_resource_no` (`resource_no`),
KEY `idx_lesson_type` (`lesson_id`, `resource_type`),
KEY `idx_course_status` (`course_id`, `publish_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='LessonResource:课次课程资源授权';
edu_lesson_planLessonPlan
CREATE TABLE `edu_lesson_plan` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`plan_no` VARCHAR(64) NOT NULL COMMENT '教案编号,唯一;数据级别:普通',
`lesson_id` BIGINT NOT NULL COMMENT '课次 ID;数据级别:普通',
`course_id` BIGINT NOT NULL COMMENT '课程 ID;数据级别:普通',
`plan_title` VARCHAR(128) NOT NULL COMMENT '教案标题;数据级别:普通',
`plan_content` JSON NOT NULL COMMENT '教案结构化内容,包含目标、步骤、重点难点和课后任务;数据级别:普通',
`version_no` VARCHAR(32) NOT NULL COMMENT '教案版本号;数据级别:普通',
`read_only` TINYINT NOT NULL DEFAULT 1 COMMENT '教师端是否只读,固定为 1;数据级别:普通',
`publish_status` VARCHAR(32) NOT NULL COMMENT '未发布/已发布/已归档;数据级别:普通',
`published_at` DATETIME NULL COMMENT '发布时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_plan_no` (`plan_no`),
KEY `idx_lesson_version` (`lesson_id`, `version`),
KEY `idx_course_status` (`course_id`, `publish_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='LessonPlan:本节教案版本';
edu_substitute_grantSubstituteGrant
CREATE TABLE `edu_substitute_grant` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`grant_no` VARCHAR(64) NOT NULL COMMENT '代课授权编号,唯一;数据级别:普通',
`lesson_id` BIGINT NOT NULL COMMENT '课次 ID;数据级别:普通',
`original_teacher_id` BIGINT NOT NULL COMMENT '原任课教师 ID;数据级别:普通',
`substitute_teacher_id` BIGINT NOT NULL COMMENT '代课教师 ID;数据级别:普通',
`grant_code` VARCHAR(64) NOT NULL COMMENT '扫码或输入码授权码,唯一;数据级别:普通',
`allowed_actions` JSON NOT NULL COMMENT '允许动作,默认点名/点评/课程资源/名单查看;数据级别:普通',
`valid_from` DATETIME NOT NULL COMMENT '授权开始时间;数据级别:普通',
`valid_until` DATETIME NOT NULL COMMENT '授权截止时间;数据级别:普通',
`grant_status` VARCHAR(32) NOT NULL COMMENT '待领取/有效/已过期/已撤销/已使用;数据级别:普通',
`used_at` DATETIME NULL COMMENT '首次使用时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_grant_no` (`grant_no`),
UNIQUE KEY `uk_grant_code` (`grant_no`, `grant_code`),
KEY `idx_lesson_status` (`lesson_id`, `grant_status`),
KEY `idx_substitute_valid` (`substitute_teacher_id`, `valid_from`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='SubstituteGrant:应急代课短时授权';
edu_lesson_attendance_itemLessonAttendanceItem
CREATE TABLE `edu_lesson_attendance_item` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`lesson_id` BIGINT NOT NULL COMMENT '课次 ID;数据级别:普通',
`student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
`teacher_id` BIGINT NOT NULL COMMENT '操作教师 ID;数据级别:普通',
`attendance_status` VARCHAR(32) NOT NULL COMMENT '到课/迟到/请假/旷课/未到/补课到课;数据级别:普通',
`source_type` VARCHAR(32) NOT NULL COMMENT '人工/人脸识别/补录/导入;数据级别:普通',
`reason_code` VARCHAR(64) NULL COMMENT '异常或请假原因编码;数据级别:普通',
`arrived_at` DATETIME NULL COMMENT '到课时间;数据级别:普通',
`comment_eligible` TINYINT NOT NULL DEFAULT 0 COMMENT '是否允许课堂点评,未到课状态为 0;数据级别:普通',
`blocked_reason` VARCHAR(255) NULL COMMENT '不可点评原因;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_lesson_student` (`lesson_id`, `student_id`),
KEY `idx_lesson_status` (`lesson_id`, `attendance_status`),
KEY `idx_teacher` (`teacher_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='LessonAttendanceItem:课堂点名明细与点评资格';
edu_lesson_commentLessonComment
CREATE TABLE `edu_lesson_comment` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`lesson_id` BIGINT NOT NULL COMMENT '课次 ID;数据级别:普通',
`student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
`teacher_id` BIGINT NOT NULL COMMENT '点评教师 ID;数据级别:普通',
`attendance_status_snapshot` VARCHAR(32) NOT NULL COMMENT '提交点评时的点名状态快照;数据级别:普通',
`comment_content` TEXT NULL COMMENT '课堂表现和学习建议;数据级别:普通',
`photo_file_ids` JSON NULL COMMENT '课堂照片附件;数据级别:普通',
`audio_comment_id` BIGINT NULL COMMENT '语音评语 ID;数据级别:普通',
`publish_status` VARCHAR(32) NOT NULL COMMENT '草稿/待审核/已发布/已驳回;数据级别:普通',
`published_at` DATETIME NULL COMMENT '发布时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_lesson_student` (`lesson_id`, `student_id`),
KEY `idx_teacher_status` (`teacher_id`, `attendance_status_snapshot`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='LessonComment:课堂点评记录';
edu_homework_review_draftHomeworkReviewDraft
CREATE TABLE `edu_homework_review_draft` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`draft_no` VARCHAR(64) NOT NULL COMMENT '批改草稿编号,唯一;数据级别:普通',
`homework_id` BIGINT NOT NULL COMMENT '作业 ID;数据级别:普通',
`submission_id` BIGINT NOT NULL COMMENT '作业提交 ID;数据级别:普通',
`student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
`teacher_id` BIGINT NOT NULL COMMENT '批改教师 ID;数据级别:普通',
`draft_version` INT NOT NULL COMMENT '批改草稿版本号;数据级别:普通',
`score` DECIMAL(8,2) NULL COMMENT '评分;数据级别:普通',
`text_comment` TEXT NULL COMMENT '文字评语;数据级别:普通',
`audio_comment_id` BIGINT NULL COMMENT '语音评语 ID;数据级别:普通',
`correction_required` TINYINT NOT NULL DEFAULT 0 COMMENT '是否要求订正;数据级别:普通',
`draft_status` VARCHAR(32) NOT NULL COMMENT '草稿/待发布/已发布/冲突/已废弃;数据级别:普通',
`last_saved_at` DATETIME NULL COMMENT '最近保存时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_draft_no` (`draft_no`),
KEY `idx_submission_teacher` (`submission_id`, `teacher_id`),
KEY `idx_homework_status` (`homework_id`, `draft_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='HomeworkReviewDraft:教师批改草稿';
edu_homework_edit_lockHomeworkEditLock
CREATE TABLE `edu_homework_edit_lock` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`lock_no` VARCHAR(64) NOT NULL COMMENT '编辑锁编号,唯一;数据级别:普通',
`submission_id` BIGINT NOT NULL COMMENT '作业提交 ID;数据级别:普通',
`teacher_id` BIGINT NOT NULL COMMENT '锁定教师 ID;数据级别:普通',
`terminal_type` VARCHAR(32) NOT NULL COMMENT '手机/小程序/iPad/安卓平板;数据级别:普通',
`lock_token` VARCHAR(128) NOT NULL COMMENT '编辑锁令牌,唯一;数据级别:普通',
`lock_status` VARCHAR(32) NOT NULL COMMENT '锁定中/已释放/已过期/强制释放;数据级别:普通',
`locked_at` DATETIME NOT NULL COMMENT '锁定时间;数据级别:普通',
`expire_at` DATETIME NOT NULL COMMENT '锁过期时间;数据级别:普通',
`released_at` DATETIME NULL COMMENT '释放时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_lock_no` (`lock_no`),
UNIQUE KEY `uk_lock_token` (`lock_no`, `lock_token`),
KEY `idx_submission_status` (`submission_id`, `lock_status`),
KEY `idx_teacher_status` (`teacher_id`, `lock_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='HomeworkEditLock:作业批改跨端编辑锁';
edu_audio_comment_reviewAudioCommentReview
CREATE TABLE `edu_audio_comment_review` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`audio_comment_no` VARCHAR(64) NOT NULL COMMENT '语音评语编号,唯一;数据级别:普通',
`biz_type` VARCHAR(32) NOT NULL COMMENT '作业批改/课堂点评/测评反馈;数据级别:普通',
`biz_id` BIGINT NOT NULL COMMENT '业务对象 ID;数据级别:普通',
`teacher_id` BIGINT NOT NULL COMMENT '教师 ID;数据级别:普通',
`audio_file_id` BIGINT NOT NULL COMMENT '语音文件 ID;数据级别:普通',
`duration_seconds` INT NOT NULL COMMENT '语音时长秒数;数据级别:普通',
`transcript_text` TEXT NULL COMMENT '语音转写文本;数据级别:普通',
`precheck_status` VARCHAR(32) NOT NULL COMMENT '待预检/通过/拦截;数据级别:普通',
`review_status` VARCHAR(32) NOT NULL COMMENT '待审核/通过/驳回;数据级别:普通',
`sensitive_hits` JSON NULL COMMENT '敏感词命中结果;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_audio_comment_no` (`audio_comment_no`),
KEY `idx_biz_status` (`biz_type`, `precheck_status`),
KEY `idx_teacher_status` (`teacher_id`, `precheck_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='AudioCommentReview:语音评语审核';
mob_offline_sync_queueOfflineSyncQueue
CREATE TABLE `mob_offline_sync_queue` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`sync_batch_no` VARCHAR(64) NOT NULL COMMENT '离线同步批次号,唯一;数据级别:普通',
`employee_id` BIGINT NOT NULL COMMENT '员工/教师 ID;数据级别:普通',
`terminal_type` VARCHAR(32) NOT NULL COMMENT 'iPad/安卓平板;数据级别:普通',
`device_id` VARCHAR(128) NOT NULL COMMENT '端侧设备 ID;数据级别:普通',
`offline_payload` JSON NOT NULL COMMENT '离线操作载荷;数据级别:普通',
`draft_version` INT NULL COMMENT '端侧草稿版本;数据级别:普通',
`sync_status` VARCHAR(32) NOT NULL COMMENT '待同步/同步中/成功/冲突/失败;数据级别:普通',
`conflict_items` JSON NULL COMMENT '冲突明细;数据级别:普通',
`retry_count` INT NOT NULL DEFAULT 0 COMMENT '重试次数;数据级别:普通',
`last_sync_at` DATETIME NULL COMMENT '最近同步时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_sync_batch_no` (`sync_batch_no`),
KEY `idx_employee_status` (`employee_id`, `sync_status`),
KEY `idx_device_status` (`device_id`, `sync_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='OfflineSyncQueue:平板离线补偿同步队列';
kbt_training_exam_attemptTrainingExamAttempt
CREATE TABLE `kbt_training_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 '答题记录编号,唯一;数据级别:普通',
`employee_id` BIGINT NOT NULL COMMENT '员工 ID;数据级别:普通',
`exam_id` BIGINT NOT NULL COMMENT '考试 ID;数据级别:普通',
`task_id` BIGINT NULL COMMENT '培训任务 ID;数据级别:普通',
`started_at` DATETIME NOT NULL COMMENT '开始答题时间;数据级别:普通',
`submitted_at` DATETIME NULL COMMENT '交卷时间;数据级别:普通',
`score` DECIMAL(8,2) NULL COMMENT '考试得分;数据级别:普通',
`pass_status` VARCHAR(32) NULL COMMENT '未判分/已通过/未通过;数据级别:普通',
`wrong_question_snapshot` JSON NULL COMMENT '错题快照;数据级别:普通',
`attempt_status` VARCHAR(32) NOT NULL COMMENT '进行中/已交卷/已超时/已作废;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_attempt_no` (`attempt_no`),
KEY `idx_employee_exam` (`employee_id`, `exam_id`),
KEY `idx_task_status` (`task_id`, `pass_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TrainingExamAttempt:员工培训考试答题记录';
fin_expense_reportExpenseReport
CREATE TABLE `fin_expense_report` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`report_no` VARCHAR(64) NOT NULL COMMENT '报销单号,唯一;数据级别:普通',
`employee_id` BIGINT NOT NULL COMMENT '报销人 ID;数据级别:普通',
`expense_type` VARCHAR(32) NOT NULL COMMENT '报销类型;数据级别:普通',
`amount` DECIMAL(18,2) NOT NULL COMMENT '报销金额;数据级别:普通',
`invoice_file_ids` JSON NULL COMMENT '发票附件 ID 列表;数据级别:普通',
`item_snapshot` JSON NOT NULL COMMENT '费用明细快照;数据级别:普通',
`approval_instance_id` BIGINT NULL COMMENT '审批实例 ID;数据级别:普通',
`report_status` VARCHAR(32) NOT NULL COMMENT '草稿/审批中/已驳回/已通过/付款中/已付款/已作废;数据级别:普通',
`submitted_at` DATETIME NULL COMMENT '提交时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_report_no` (`report_no`),
KEY `idx_employee_status` (`employee_id`, `report_status`),
KEY `idx_approval` (`approval_instance_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ExpenseReport:教师员工移动报销单';
pat_rectification_reviewPatrolRectificationReview
CREATE TABLE `pat_rectification_review` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`review_no` VARCHAR(64) NOT NULL COMMENT '复核编号,唯一;数据级别:普通',
`rectification_id` BIGINT NOT NULL COMMENT '整改任务 ID;数据级别:普通',
`reviewer_id` BIGINT NOT NULL COMMENT '复核人 ID;数据级别:普通',
`before_evidence_ids` JSON NOT NULL COMMENT '整改前证据 ID 列表;数据级别:普通',
`after_evidence_ids` JSON NOT NULL COMMENT '整改后证据 ID 列表;数据级别:普通',
`review_result` VARCHAR(32) NOT NULL COMMENT '通过/驳回/待补充;数据级别:普通',
`review_comment` VARCHAR(1024) NULL COMMENT '复核意见;数据级别:普通',
`review_status` VARCHAR(32) NOT NULL COMMENT '待复核/已通过/已驳回/已关闭;数据级别:普通',
`reviewed_at` DATETIME NULL COMMENT '复核时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_review_no` (`review_no`),
KEY `idx_rectification_status` (`rectification_id`, `review_status`),
KEY `idx_reviewer_status` (`reviewer_id`, `review_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='PatrolRectificationReview:督课整改复核记录';
cls_classroom_sessionClassroomSession
CREATE TABLE `cls_classroom_session` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`session_no` VARCHAR(64) NOT NULL COMMENT '课堂会话编号,唯一;数据级别:普通',
`lesson_id` BIGINT NOT NULL COMMENT '课次 ID;数据级别:普通',
`teacher_id` BIGINT NOT NULL COMMENT '教师 ID;数据级别:普通',
`tv_device_id` BIGINT NULL COMMENT '教学 TV 设备 ID;数据级别:普通',
`session_status` VARCHAR(32) NOT NULL COMMENT '未开始/进行中/已结束/异常;数据级别:普通',
`resource_state` JSON NULL COMMENT '课件投放与播放状态;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_session_no` (`session_no`),
KEY `idx_lesson` (`lesson_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ClassroomSession:课堂会话';
tv_deviceTVDevice
CREATE TABLE `tv_device` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`device_code` VARCHAR(64) NOT NULL COMMENT 'TV 设备编码,唯一;数据级别:普通',
`classroom_id` BIGINT NOT NULL COMMENT '绑定教室 ID;数据级别:普通',
`app_version` VARCHAR(32) NOT NULL COMMENT '应用版本;数据级别:普通',
`device_status` VARCHAR(32) NOT NULL COMMENT '在线/离线/停用/异常;数据级别:普通',
`heartbeat_at` DATETIME NULL COMMENT '最近心跳;数据级别:普通',
`focus_mode` VARCHAR(32) NULL COMMENT '遥控器焦点模式;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_device_code` (`device_code`),
KEY `idx_classroom_status` (`classroom_id`, `device_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TVDevice:安卓 TV 教学端设备';
tv_command_logTVCommandLog
CREATE TABLE `tv_command_log` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`command_no` VARCHAR(64) NOT NULL COMMENT '命令编号,唯一;数据级别:普通',
`tv_device_id` BIGINT NOT NULL COMMENT 'TV 设备 ID;数据级别:普通',
`sender_id` BIGINT NOT NULL COMMENT '发送人 ID;数据级别:普通',
`command_type` VARCHAR(64) NOT NULL COMMENT '打开课件/播放/暂停/切题/退出;数据级别:普通',
`command_payload` JSON NULL COMMENT '命令参数;数据级别:普通',
`execute_status` VARCHAR(32) NOT NULL COMMENT '待执行/成功/失败/超时;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_command_no` (`command_no`),
KEY `idx_device_status` (`tv_device_id`, `execute_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TVCommandLog:教师端到 TV 端遥控命令';
teacher_desktop_sessionTeacherDesktopSession
CREATE TABLE `teacher_desktop_session` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`session_no` VARCHAR(64) NOT NULL COMMENT '桌面端会话编号,唯一;数据级别:普通',
`user_id` BIGINT NOT NULL COMMENT '教师账号 ID;数据级别:普通',
`platform` VARCHAR(32) NOT NULL COMMENT 'macOS/Windows;数据级别:普通',
`app_version` VARCHAR(32) NOT NULL COMMENT '客户端版本;数据级别:普通',
`device_check_result` JSON NULL COMMENT '摄像头、麦克风、屏幕共享检测;数据级别:普通',
`session_status` VARCHAR(32) NOT NULL COMMENT '在线/离线/异常/需升级;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_session_no` (`session_no`),
KEY `idx_user_status` (`user_id`, `session_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='TeacherDesktopSession:教师 Electron 桌面直播端会话';
16 · 异常、指标、测试与初始化
保证模块上线后可运营、可追踪、可验收
测试要覆盖主流程、异常流、权限流、接口失败和数据一致性。异常状态
指标埋点
测试用例
| 编号 | 场景 | 前置 | 步骤 | 预期 | 优先级 |
|---|---|---|---|---|---|
| TC-TTV-001 | 教师端平板批改 | 班级存在待批改作业 | 教师在 iPad/安卓平板打开批改工作台并发布评语 | 分栏展示正确,批改结果同步学员端和家长端 | 高 |
| TC-TTV-MKT-001 | 员工端活动推广承接 | PC Web 已发布活动且当前员工在推广范围内 | 员工打开教师员工端营销推广工作台,生成二维码和海报并分享 | 员工端展示可推广活动、活动详情、本人专属二维码/海报、分享入口和失效状态;操作回写营销拓客中心 | 高 |
| TC-TTV-MKT-002 | 员工端活动线索待办 | 员工专属推广链接已产生线索并进入 CRM | 员工端查看活动线索待办并记录跟进或预约试听 | 待办可处理,跟进结果回写 CRM;非本人线索不可见或脱敏 | 高 |
| TC-TTV-002 | Android TV 课堂绑定 | TV 已安装应用且教室已建档 | 教师创建课堂会话,TV 输入绑定码 | TV 成功绑定课堂并显示课程信息 | 高 |
| TC-TTV-003 | 教师端遥控 TV 播放 | TV 已绑定课堂 | 教师端发送播放、暂停、翻页、退出指令 | TV 焦点和播放状态正确同步,操作留痕 | 高 |
| TC-TTV-004 | TV 离线异常恢复 | TV 课堂播放中断网 | 恢复网络后重连课堂 | 提示异常并恢复到最近课件位置 | 中 |
| TC-TTV-005 | 教师 Electron 桌面直播开播 | 教师已安装桌面直播端且直播供应商配置可用 | 教师在 Electron 桌面端完成设备检测、摄像头麦克风采集、屏幕共享、课件共享和开播 | 直播间正常开播,学员端可观看,设备权限、屏幕共享和异常提示正确 | 高 |
| TC-TTV-006 | 教师连麦队列管理 | 直播间有学员举手请求 | 教师端查看队列并执行同意、拒绝、静音、解除静音、下麦和清空队列 | 学员端状态同步,座席释放正确,操作 100% 写入审计 | 高 |
| TC-TTV-007 | 教师电子工资条确认 | 后台已发布工资条并开启小程序推送 | 教师端收到提醒,打开工资条详情,查看社保/公积金字段并确认或提交异议 | 教师只能查看本人;社保、公积金按后台开关展示;确认和异议 100% 写入审计 | 高 |
| TC-TTV-008 | 课程资源与教案只读 | 后台已给本节课发布课程资源和教案版本 | 教师打开 APP-04A 和 APP-04B,在手机和平板查看资源、预览教案并尝试修改 | 资源按资料类型展示;教案在线只读;端侧不出现编辑按钮;越权修改接口返回 403 并写审计 | 高 |
| TC-TTV-009 | 未到课学员不可点评 | 班级存在到课、请假、旷课和未到学员 | 教师在 APP-05 完成点名后进入 APP-06 课堂点评并执行批量选择 | 请假、旷课、未到学员不可点评并置灰;接口提交时再次拦截;可点评学员发布成功 | 高 |
| TC-TTV-010 | 应急代课短时授权 | 教务对某节课下发代课授权,授权有效期 2 小时 | 代课教师扫码或输入授权码进入课程详情,查看名单、资源、教案并完成点名点评 | 代课短时授权有效期内只开放本节课点名、点评、课程资源和名单;过期后自动失效 | 高 |
| TC-TTV-011 | 手机轻量批量批改与个性化保护 | 同班级同作业有 20 份待批改,其中 3 份已有个性化评语或订正说明 | 教师进入 APP-08A 执行批量评分、批量常用评语和批量发布 | 已有个性化评语保护记录默认不被全选;跳过原因明确;批量发布结果和失败明细可查看 | 高 |
| TC-TTV-012 | 跨端编辑锁与 draftVersion 冲突 | 教师在 iPad 打开某学员作业批改详情并保持编辑 | 同一教师在手机端打开同一份作业并尝试保存,随后 iPad 与手机分别提交不同版本 | 系统提示跨端编辑锁;draftVersion 冲突不覆盖内容;可选择保留本端、服务端或重新拉取 | 高 |
| TC-TTV-013 | 语音评语敏感词预检 | 教师录制一段命中敏感词的语音评语 | 教师试听、重录、上传并尝试发布语音评语 | 本地语音敏感词预检拦截或提示修改;服务端审核失败不对学员/家长可见;重录后可再次提交 | 高 |
| TC-TTV-014 | 平板离线批改补偿同步 | 安卓平板处于离线状态且存在待批改作业 | 教师离线批改并保存草稿,恢复网络后触发离线补偿同步 | 离线草稿保存在本地;网络恢复后 30 秒内进入同步;冲突项展示 draftVersion 差异和处理入口 | 高 |
| TC-TTV-015 | 督课整改前后证据复核 | 督导已创建整改任务并上传整改前证据 | 责任教师提交整改说明但不上传整改后证据,随后补充证据再次提交,督导复核 | 缺少整改后证据不可通过复核;补充后可对比整改前证据、整改后证据和复核意见 | 高 |
| TC-TTV-016 | 培训学习与考试闭环 | 教师有培训任务、资料和考试 | 教师阅读资料、完成进度上报、进入考试、提交答案并查看结果 | 阅读进度可恢复;考试超时自动交卷;成绩、是否通过、错题回看和补考入口正确 | 中 |
| TC-TTV-017 | 移动报销草稿与驳回重提 | 员工有可用报销类型和审批流 | 员工在 APP-14A 保存草稿、补充发票附件后提交,审批驳回后修改重提 | 草稿可恢复;驳回原因展示;重新提交保留历史版本和审批轨迹 | 中 |
| TC-TTV-ENH-001 | 营销推广承接交付闭环验收 | 员工端营销推广工作台、可推广活动、我的二维码、我的海报、活动线索待办、推广战报相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐员工端营销推广工作台、可推广活动、专属二维码/海报、分享记录、活动线索待办和推广战报。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 员工端可以完成活动领取、专属码生成、分享推广、查看本人线索和推广效果,所有操作回写营销拓客中心和 CRM。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-TTV-ENH-002 | 教师直播交付闭环验收 | 教师桌面直播工作台、教师 App 控制台相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按增加连麦队列、座席管理、设备检测、静音、下麦、超时和失败处理。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 教师端能处理学员端全部连麦状态。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-TTV-ENH-003 | 端侧适配交付闭环验收 | iPad/安卓平板、Electron、Android TV相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐平板分栏、桌面直播能力边界、TV 遥控焦点和课堂会话联动。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 不同终端有独立页面与交互说明。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-TTV-ENH-004 | 员工能力交付闭环验收 | 员工工作台、工资条、报销、培训相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐工资条查看确认、异议、小程序推送、报销审批、培训考试和消息联动。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 员工端操作能回写对应后台模块。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
上线初始化
| 初始化项 | 动作 | 数据 | 验收 |
|---|---|---|---|
| 教师/员工端账号 | 初始化教师、教务、督导、员工账号和端侧权限 | 账号、角色、数据范围、设备登录策略 | 手机和平板可登录并看到授权待办 |
| 员工端营销推广菜单 | 初始化营销推广工作台、可推广活动、我的二维码、我的海报、活动线索待办和推广战报菜单及按钮权限 | menuCodes、buttonCodes、roleScope、fieldPolicy、dataScope | 销售、市场、课程顾问、班主任可在教师员工端执行授权推广动作 |
| 员工端活动线索待办 | 初始化活动线索待办类型、跟进截止时间、试听邀约入口、撞单提示和消息模板 | todoType=MARKETING_LEAD、dueRule、trialEntry、duplicateTips、notifyTemplate | 员工推广线索进入教师员工端并可直接跟进 |
| 教师 Electron 桌面直播端 | 初始化 macOS/Windows 教师桌面直播端下载入口、版本号、自动更新策略、设备权限和直播供应商参数 | desktopAppVersion、downloadUrl、providerCode、devicePermission、screenSharePolicy、recordPolicy | 教师桌面端可完成设备检测、开播、屏幕共享和课件共享 |
| 教师直播连麦策略 | 初始化最大上麦人数、邀请超时、重复举手策略、教师/助教操作权限、静音/下麦动作和供应商错误码映射 | maxMicSeats、inviteTimeoutSeconds=30、teacherActionScope、providerErrorMapping | 教师端可处理队列、控制座席并记录审计 |
| 教师电子工资条 | 初始化工资条查看菜单、小程序推送模板、确认期限、社保显示开关、公积金显示开关和异议处理流程 | payslipMenu、pushTemplate、confirmDeadline、showSocialInsurance、showHousingFund、disputeFlow | 教师/员工端可查看并确认工资条 |
| 课程资源与教案只读策略 | 初始化课程资源资料类型、教案版本、只读预览、投屏权限、下载权限和代课访问策略 | resourceType、lessonPlanVersion、readOnly=true、projectionPolicy、downloadPolicy、substituteAccessPolicy | 教师端可查看本节资源和教案,无法修改后台教研内容 |
| 点名点评联动规则 | 初始化到课、迟到、请假、旷课、未到和补课到课状态对课堂点评的可用性规则 | attendanceStatus、commentEligibility、batchSelectPolicy、blockedReason | 未到课学员不可点评,批量选择时自动置灰并展示原因 |
| 应急代课授权 | 初始化扫码/输入码代课授权、授权有效期、可操作范围、过期撤销和审计规则 | grantCode、validMinutes、allowedActions、expirePolicy、auditRule | 代课教师可在有效期内处理本节课,过期后自动失效 |
| 批改草稿与跨端编辑锁 | 初始化批改草稿保存、编辑锁过期、draftVersion 校验、强制释放和冲突处理规则 | draftSavePolicy、lockExpireSeconds、draftVersion、forceReleasePolicy、conflictPolicy | 同一份作业跨端编辑不互相覆盖 |
| 语音评语审核策略 | 初始化语音录制格式、试听、重录、转写、敏感词预检、服务端审核和失败提示 | audioFormat、maxDurationSeconds、transcriptEnabled、sensitivePrecheck、serverReviewPolicy | 语音评语发布前完成预检和最终审核 |
| 平板离线同步策略 | 初始化离线草稿本地存储、同步批次、失败重试、冲突提示和补偿同步任务 | localDraftStore、syncBatchNo、retryPolicy、conflictPolicy、offlineQueue | 恢复网络后可完成离线补偿同步 |
| 培训考试策略 | 初始化培训分类、资料类型、阅读完成规则、考试规则、补考次数和结果展示 | trainingCategory、materialType、completeRule、examRule、retakeLimit、resultPolicy | 教师/员工端可完成学习、考试和结果回看 |
| 移动报销策略 | 初始化报销类型、发票附件、草稿保留、审批流、驳回修改和付款状态回写 | expenseType、invoiceAttachmentRule、draftRetentionDays、approvalFlow、rejectEditPolicy、paymentCallback | 移动端报销可从草稿到审批和付款闭环 |
| 督课整改复核策略 | 初始化整改前证据、整改后证据、复核结论、驳回原因和关闭规则 | beforeEvidenceRequired、afterEvidenceRequired、reviewResult、rejectReason、closePolicy | 无整改后证据不得通过复核 |
| 教学 TV 设备 | 导入 Android TV 设备、教室绑定关系和应用版本 | deviceCode、classroomId、appVersion、heartbeat | TV 可绑定教室并接收课堂会话 |
| 课堂资源 | 导入课件、音视频、互动题和课程资源授权 | resourceId、courseId、lessonId、accessRule | 教师可投放资源,TV 可播放展示 |
| 营销推广承接交付配置 | 初始化补齐员工端营销推广工作台、可推广活动、专属二维码/海报、分享记录、活动线索待办和推广战报。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 员工端营销推广工作台、可推广活动、我的二维码、我的海报、活动线索待办、推广战报 | 员工端可以完成活动领取、专属码生成、分享推广、查看本人线索和推广效果,所有操作回写营销拓客中心和 CRM。 |
| 教师直播交付配置 | 初始化增加连麦队列、座席管理、设备检测、静音、下麦、超时和失败处理。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 教师桌面直播工作台、教师 App 控制台 | 教师端能处理学员端全部连麦状态。 |
| 端侧适配交付配置 | 初始化补齐平板分栏、桌面直播能力边界、TV 遥控焦点和课堂会话联动。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | iPad/安卓平板、Electron、Android TV | 不同终端有独立页面与交互说明。 |
| 员工能力交付配置 | 初始化补齐工资条查看确认、异议、小程序推送、报销审批、培训考试和消息联动。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 员工工作台、工资条、报销、培训 | 员工端操作能回写对应后台模块。 |