迪诺学堂标识

01-平台基础中心详细PRD

FND · 组织、校区、账号、权限、主数据、审批、消息、文件和审计的统一底座。

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

01 · 模块定位

平台基础中心

使用总部账号可配置组织和权限;校区账号只能查看授权范围;合同模板和审批流可被业务模块调用。

业务目标

组织、校区、账号、权限、主数据、审批、消息、文件和审计的统一底座。

使用终端

PC Web 管理后台,总部/区域/校区管理人员使用。

验收主线

使用总部账号可配置组织和权限;校区账号只能查看授权范围;合同模板和审批流可被业务模块调用。

02 · 范围边界

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

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

模块内范围

  • 组织主数据
  • 账号角色
  • 字段权限
  • 审批引擎
  • 消息中心
  • 文件中心
  • 审计日志

上游依赖

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

下游输出

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

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

平台基础中心必须承接的已确认规则

本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。
分类事项本模块落地要求责任方
已确认口径校区地图点位与设备清单校区经纬度、校区大头钉、摄像头编码、品牌、教室、平台/网关关系、在线状态、设备总数均由后台动态维护,不作为静态初始化一次性数据。产品/运营/信息化
后台配置项校区税务主体配置按校区配置 taxpayerName、taxpayerNo、officialAppCode、authCertificateId、verifyEndpoint、quotaPolicy、enabled、effectiveDate 和负责人。财务管理员/系统管理员
后台配置项校区点位与设备台账配置 campusLatitude、campusLongitude、campusPinName、cameraCode、classroomId、brand、onlineStatusMapping、streamPolicy、recordSearchPolicy。运营/信息化/校区
默认实施规则接口设计说明书组织方式采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。产品/研发
默认实施规则接口错误码与重试中间件所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。后端/测试/运维

04 · 业务流程

平台基础中心主流程

流程用于指导原型图的页面顺序、按钮状态和异常分支。
01组织主数据

组织主数据需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

02账号角色

账号角色需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

03字段权限

字段权限需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

04审批引擎

审批引擎需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

05消息中心

消息中心需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

06文件中心

文件中心需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

07审计日志

审计日志需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

05 · 功能清单

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

每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。
一级功能二级功能功能说明规则/验收
组织主数据基础维护组织主数据支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
组织主数据业务处理组织主数据需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
组织主数据异常闭环越权访问处理失败原因可见、可重试、可转人工、可追溯
账号角色基础维护账号角色支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
账号角色业务处理账号角色需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
账号角色异常闭环组织归属缺失处理失败原因可见、可重试、可转人工、可追溯
字段权限基础维护字段权限支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
字段权限业务处理字段权限需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
字段权限异常闭环审批链断点处理失败原因可见、可重试、可转人工、可追溯
审批引擎基础维护审批引擎支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
审批引擎业务处理审批引擎需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
审批引擎异常闭环越权访问处理失败原因可见、可重试、可转人工、可追溯
消息中心基础维护消息中心支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
消息中心业务处理消息中心需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
消息中心异常闭环组织归属缺失处理失败原因可见、可重试、可转人工、可追溯
文件中心基础维护文件中心支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
文件中心业务处理文件中心需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
文件中心异常闭环审批链断点处理失败原因可见、可重试、可转人工、可追溯
审计日志基础维护审计日志支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
审计日志业务处理审计日志需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
审计日志异常闭环越权访问处理失败原因可见、可重试、可转人工、可追溯

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

功能域承接对象核心表代表接口状态机/状态字段研发落地校验
组织主数据Organization、CampusProfile、LegalEntity、User/Employeesys_organization、sys_campus_profile、sys_legal_entity、sys_user接口资源组 /api/v1/fnd/features/01org_type、user_type、login_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
账号角色Organization、CampusProfile、LegalEntity、User/Employeesys_organization、sys_campus_profile、sys_legal_entity、sys_user接口资源组 /api/v1/fnd/features/02org_type、user_type、login_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
字段权限Organization、CampusProfile、LegalEntity、User/Employeesys_organization、sys_campus_profile、sys_legal_entity、sys_user接口资源组 /api/v1/fnd/features/03org_type、user_type、login_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
审批引擎Organization、CampusProfile、LegalEntity、User/Employeesys_organization、sys_campus_profile、sys_legal_entity、sys_user接口资源组 /api/v1/fnd/features/04org_type、user_type、login_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
消息中心MessageTemplatesys_message_template接口资源组 /api/v1/fnd/features/05biz_status、approval_status、is_deleted、version新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
文件中心Organization、CampusProfile、LegalEntity、User/Employeesys_organization、sys_campus_profile、sys_legal_entity、sys_user接口资源组 /api/v1/fnd/features/06org_type、user_type、login_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
审计日志AuditLogsys_audit_log接口资源组 /api/v1/fnd/features/07biz_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计

06 · 原子级功能需求

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

需求编号可直接进入项目管理工具。
编号需求描述入口页面关键动作输入校验输出结果异常处理验收标准
FR-FND-001集团、区域、校区、部门、岗位、员工层级可配置校区运营工作台新增组织校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务越权访问主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FND-002支持菜单、按钮、字段、数据范围、临时授权敏感字段查看审批明文查看申请、临时授权或过期回收校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务审批原因缺失、越权查看或水印生成失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FND-003总部维护课程、班型、价格、渠道、合同模板和财务科目账号角色配置角色校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务审批链断点主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FND-004审批流支持金额、折扣、校区、课程等条件分支审批流配置设置审批校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务越权访问主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FND-005所有关键操作生成审计记录消息模板维护模板校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务组织归属缺失主流程、异常流、权限流、接口失败和数据一致性均可通过测试

07 · 关联闭环补充需求

平台基础中心在跨模块闭环中的责任边界

本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。
闭环项本模块责任关键场景页面/功能补充关联对象/接口验收口径
跨模块闭环主责维护闭环主责矩阵、组织数据范围、责任人和异常兜底规则补课、合同、资金、设备、直播、工资条等跨模块事项需要统一归口闭环责任矩阵、模块责任配置、异常归口配置、组织角色授权ClosureOwnershipMatrix、Organization、User/Employee、AuditLog每个闭环项必须配置主责模块、协作模块、责任角色、超时升级和关闭口径
国税主体配置提供集团、法人、校区、账套和税务主体的基础映射校区独立核验发票、独立账套和总部财务统管法人主体配置、校区税务信息、账套组织映射Organization、AccountSet/TaxReport、/api/v1/orgs税务主体变更必须版本化留痕,并同步财务校区配置

08 · 页面与原型设计说明

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

原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。
终端页面用户页面目标布局结构关键按钮关键字段异常状态原型备注
PC Web校区运营工作台校长/校区主管处理待办、审批、课表异常、收款预警平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-校区运营工作台;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web组织架构总部管理员维护集团、区域、校区、部门、岗位平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-组织架构;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web账号角色系统管理员配置账号、角色、菜单、按钮、字段和数据范围平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-账号角色;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web审批流配置系统管理员配置审批对象、条件分支、节点和超时规则平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-审批流配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web消息模板系统管理员维护站内信、短信、小程序、App、企微模板平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-消息模板;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web跨模块闭环主责矩阵产品/项目经理维护补课、回放、积分、巡课、合同、付款等闭环的主责模块、协作模块和交付任务平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-跨模块闭环主责矩阵;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web组织树授权用户围绕权限闭环完善组织树的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-组织树;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web角色授权授权用户围绕权限闭环完善角色授权的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-角色授权;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web员工账号授权用户围绕权限闭环完善员工账号的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-员工账号;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web权限诊断授权用户围绕权限闭环完善权限诊断的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-权限诊断;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web审批配置授权用户围绕配置闭环完善审批配置的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-审批配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web业务单据详情授权用户围绕配置闭环完善业务单据详情的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-业务单据详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web数据字典授权用户围绕安全基础完善数据字典的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-数据字典;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web审计日志授权用户围绕安全基础完善审计日志的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-审计日志;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web敏感操作审批授权用户围绕安全基础完善敏感操作审批的入口、字段、状态、异常提示、处理进度和验收反馈平台基础页采用统一管理端框架,左侧为组织、角色、字典或配置对象导航,中部为列表/配置主区,右侧使用详情抽屉、权限诊断或审批日志。新增组织、维护账号、配置角色、配置审批、维护字典、发布消息模板、查看审计、权限诊断组织名称、组织类型、上级组织、适用校区、负责人、启用状态、数据范围、审批规则、模板编码、审计对象组织层级冲突、角色越权、字段权限缺失、审批规则未命中、模板变量缺失、敏感操作未授权管理员端不单独绘制高保真 UI,需在原型任务中标注信息架构、配置关系、权限边界、状态流和异常处理。 建议 Figma Frame:FND-敏感操作审批;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。

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

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

设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。
原型页面关键接口关联对象状态流审批/权限触发消息/待办触达原型验收要求
校区运营工作台POST/GET /api/v1/orgsOrganization待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
组织架构POST/GET /api/v1/usersCampusProfile待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
账号角色PUT /api/v1/roles/permissionsLegalEntity待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
审批流配置POST/PUT /api/v1/approval/flowsUser/Employee待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
消息模板POST /api/v1/messages/sendEmployee待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
跨模块闭环主责矩阵POST/GET /api/v1/orgsRole待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
组织树POST/GET /api/v1/usersUserRole待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
角色授权PUT /api/v1/roles/permissionsApprovalFlow待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
员工账号POST/PUT /api/v1/approval/flowsMessageTemplate待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
权限诊断POST /api/v1/messages/sendAuditLog待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
审批配置POST/GET /api/v1/orgsOrganization待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
业务单据详情POST/GET /api/v1/usersCampusProfile待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档无审批时仍需写操作审计,敏感操作按安全中心规则触发审批处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口

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

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

本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。
能力域功能补充要求原型交付要求UI 交互要求研发实现要求测试验收要求
权限闭环补齐权限变更的实时生效、缓存刷新、影响用户提示、审计日志和回滚策略。组织树、角色授权、员工账号、权限诊断 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;权限变更后用户重新进入页面、接口调用和导出均按新权限执行。
配置闭环要求审批流与消息模板按业务类型、组织范围、版本号和启停状态统一配置,业务单据引用当时版本。审批配置、消息模板、业务单据详情 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;历史单据按原版本追溯,新单据按当前启用版本执行。
安全基础补齐逻辑删除、恢复审批、字段脱敏、临时授权和操作审计的公共规则。数据字典、审计日志、敏感操作审批 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;所有可删除对象具备 is_deleted、deleted_at、deleted_by,并可审计。

11 · 数据对象与字段字典

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

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

核心对象

对象说明
Organization集团、区域、校区、部门组织树;落地表:sys_organization
CampusProfile校区档案、经纬度和监管基础信息;落地表:sys_campus_profile
LegalEntity法人主体、税务主体和收款主体;落地表:sys_legal_entity
User/Employee统一登录账号;落地表:sys_user
Employee员工基础档案;落地表:sys_employee
Role角色定义;落地表:sys_role
UserRole用户角色与组织授权关系;落地表:sys_user_role
ApprovalFlow审批流配置;落地表:sys_approval_flow
MessageTemplate消息模板与多端触达配置;落地表:sys_message_template
AuditLog全平台操作审计日志;落地表:sys_audit_log

关联引用对象

对象说明
IntegrationLog接口调用日志;引用来源:OPEN / int_integration_log
SensitiveFieldPolicy敏感字段脱敏策略;引用来源:SEC / sec_sensitive_field_policy
SensitiveAccessApproval敏感数据查看审批;引用来源:SEC / sec_sensitive_access_approval
ExportApproval敏感数据导出审批;引用来源:SEC / sec_export_approval

完整字段字典

对象字段类型必填规则数据级别
OrganizationidBIGINT主键,雪花或号段生成,禁止复用普通
Organizationtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
Organizationorg_idBIGINT所属组织,集团级或公共配置为空普通
Organizationcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
Organizationcreated_byBIGINT创建人账号 ID普通
Organizationcreated_atDATETIME创建时间普通
Organizationupdated_byBIGINT最后更新人账号 ID普通
Organizationupdated_atDATETIME最后更新时间普通
Organizationis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
Organizationdeleted_atDATETIME删除时间,未删除为空普通
Organizationdeleted_byBIGINT删除人账号 ID,未删除为空普通
OrganizationversionINT乐观锁版本号,写操作必须校验普通
Organizationorg_codeVARCHAR(64)组织编码,租户内唯一普通
Organizationorg_nameVARCHAR(128)组织名称普通
Organizationorg_typeVARCHAR(32)集团/区域/校区/部门/法人主体普通
Organizationparent_idBIGINT上级组织 ID,根节点为空普通
Organizationsort_noINT同级排序普通
OrganizationenabledTINYINT是否启用普通
CampusProfileidBIGINT主键,雪花或号段生成,禁止复用普通
CampusProfiletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
CampusProfileorg_idBIGINT所属组织,集团级或公共配置为空普通
CampusProfilecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
CampusProfilecreated_byBIGINT创建人账号 ID普通
CampusProfilecreated_atDATETIME创建时间普通
CampusProfileupdated_byBIGINT最后更新人账号 ID普通
CampusProfileupdated_atDATETIME最后更新时间普通
CampusProfileis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
CampusProfiledeleted_atDATETIME删除时间,未删除为空普通
CampusProfiledeleted_byBIGINT删除人账号 ID,未删除为空普通
CampusProfileversionINT乐观锁版本号,写操作必须校验普通
CampusProfilecampus_codeVARCHAR(64)校区编码,唯一普通
CampusProfilecampus_nameVARCHAR(128)校区名称普通
CampusProfilelegal_entity_idBIGINT所属法人主体普通
CampusProfileaddressVARCHAR(255)校区地址普通
CampusProfilelongitudeDECIMAL(12,8)地图经度,后台动态配置普通
CampusProfilelatitudeDECIMAL(12,8)地图纬度,后台动态配置普通
CampusProfilebusiness_hoursJSON营业时间配置普通
LegalEntityidBIGINT主键,雪花或号段生成,禁止复用普通
LegalEntitytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
LegalEntityorg_idBIGINT所属组织,集团级或公共配置为空普通
LegalEntitycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
LegalEntitycreated_byBIGINT创建人账号 ID普通
LegalEntitycreated_atDATETIME创建时间普通
LegalEntityupdated_byBIGINT最后更新人账号 ID普通
LegalEntityupdated_atDATETIME最后更新时间普通
LegalEntityis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
LegalEntitydeleted_atDATETIME删除时间,未删除为空普通
LegalEntitydeleted_byBIGINT删除人账号 ID,未删除为空普通
LegalEntityversionINT乐观锁版本号,写操作必须校验普通
LegalEntityentity_codeVARCHAR(64)主体编码,唯一普通
LegalEntityentity_nameVARCHAR(128)主体名称普通
LegalEntitytaxpayer_noVARCHAR(64)纳税人识别号敏感
LegalEntitybank_account_noVARCHAR(64)银行账号,展示需脱敏敏感
LegalEntityinvoice_ruleJSON开票与核验规则普通
LegalEntityenabledTINYINT是否启用普通
User/EmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
User/Employeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
User/Employeeorg_idBIGINT所属组织,集团级或公共配置为空普通
User/Employeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
User/Employeecreated_byBIGINT创建人账号 ID普通
User/Employeecreated_atDATETIME创建时间普通
User/Employeeupdated_byBIGINT最后更新人账号 ID普通
User/Employeeupdated_atDATETIME最后更新时间普通
User/Employeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
User/Employeedeleted_atDATETIME删除时间,未删除为空普通
User/Employeedeleted_byBIGINT删除人账号 ID,未删除为空普通
User/EmployeeversionINT乐观锁版本号,写操作必须校验普通
User/Employeeuser_noVARCHAR(64)账号编号,唯一普通
User/Employeelogin_nameVARCHAR(64)登录名,唯一普通
User/EmployeemobileVARCHAR(32)手机号,敏感脱敏展示敏感
User/Employeepassword_hashVARCHAR(255)密码哈希,禁止前端返回高敏
User/Employeeuser_typeVARCHAR(32)员工/学员/家长/外部账号普通
User/Employeelogin_statusVARCHAR(32)正常/锁定/停用/待激活普通
EmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
Employeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
Employeeorg_idBIGINT所属组织,集团级或公共配置为空普通
Employeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
Employeecreated_byBIGINT创建人账号 ID普通
Employeecreated_atDATETIME创建时间普通
Employeeupdated_byBIGINT最后更新人账号 ID普通
Employeeupdated_atDATETIME最后更新时间普通
Employeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
Employeedeleted_atDATETIME删除时间,未删除为空普通
Employeedeleted_byBIGINT删除人账号 ID,未删除为空普通
EmployeeversionINT乐观锁版本号,写操作必须校验普通
Employeeemployee_noVARCHAR(64)工号,唯一普通
Employeeuser_idBIGINT关联账号 ID普通
Employeeemployee_nameVARCHAR(64)员工姓名普通
Employeeprimary_campus_idBIGINT主校区 ID普通
Employeejob_titleVARCHAR(64)岗位名称普通
Employeehire_statusVARCHAR(32)在职/试用/离职/停用普通
RoleidBIGINT主键,雪花或号段生成,禁止复用普通
Roletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
Roleorg_idBIGINT所属组织,集团级或公共配置为空普通
Rolecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
Rolecreated_byBIGINT创建人账号 ID普通
Rolecreated_atDATETIME创建时间普通
Roleupdated_byBIGINT最后更新人账号 ID普通
Roleupdated_atDATETIME最后更新时间普通
Roleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
Roledeleted_atDATETIME删除时间,未删除为空普通
Roledeleted_byBIGINT删除人账号 ID,未删除为空普通
RoleversionINT乐观锁版本号,写操作必须校验普通
Rolerole_codeVARCHAR(64)角色编码,唯一普通
Rolerole_nameVARCHAR(128)角色名称普通
Rolerole_levelVARCHAR(32)总部/区域/校区/个人普通
Roledata_scope_typeVARCHAR(32)数据范围类型普通
RoleenabledTINYINT是否启用普通
UserRoleidBIGINT主键,雪花或号段生成,禁止复用普通
UserRoletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
UserRoleorg_idBIGINT所属组织,集团级或公共配置为空普通
UserRolecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
UserRolecreated_byBIGINT创建人账号 ID普通
UserRolecreated_atDATETIME创建时间普通
UserRoleupdated_byBIGINT最后更新人账号 ID普通
UserRoleupdated_atDATETIME最后更新时间普通
UserRoleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
UserRoledeleted_atDATETIME删除时间,未删除为空普通
UserRoledeleted_byBIGINT删除人账号 ID,未删除为空普通
UserRoleversionINT乐观锁版本号,写操作必须校验普通
UserRoleuser_idBIGINT用户 ID普通
UserRolerole_idBIGINT角色 ID普通
UserRolescope_org_idsJSON授权组织范围普通
UserRolevalid_fromDATETIME授权开始时间普通
UserRolevalid_toDATETIME授权结束时间普通
ApprovalFlowidBIGINT主键,雪花或号段生成,禁止复用普通
ApprovalFlowtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ApprovalFloworg_idBIGINT所属组织,集团级或公共配置为空普通
ApprovalFlowcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ApprovalFlowcreated_byBIGINT创建人账号 ID普通
ApprovalFlowcreated_atDATETIME创建时间普通
ApprovalFlowupdated_byBIGINT最后更新人账号 ID普通
ApprovalFlowupdated_atDATETIME最后更新时间普通
ApprovalFlowis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ApprovalFlowdeleted_atDATETIME删除时间,未删除为空普通
ApprovalFlowdeleted_byBIGINT删除人账号 ID,未删除为空普通
ApprovalFlowversionINT乐观锁版本号,写操作必须校验普通
ApprovalFlowflow_codeVARCHAR(64)审批流编码,唯一普通
ApprovalFlowbiz_typeVARCHAR(64)业务类型普通
ApprovalFlowflow_nameVARCHAR(128)审批流名称普通
ApprovalFlowcondition_jsonJSON触发条件普通
ApprovalFlownode_jsonJSON节点、审批人和超时规则普通
ApprovalFlowversion_noINT审批流版本号普通
ApprovalFlowenabledTINYINT是否启用普通
MessageTemplateidBIGINT主键,雪花或号段生成,禁止复用普通
MessageTemplatetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
MessageTemplateorg_idBIGINT所属组织,集团级或公共配置为空普通
MessageTemplatecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
MessageTemplatecreated_byBIGINT创建人账号 ID普通
MessageTemplatecreated_atDATETIME创建时间普通
MessageTemplateupdated_byBIGINT最后更新人账号 ID普通
MessageTemplateupdated_atDATETIME最后更新时间普通
MessageTemplateis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
MessageTemplatedeleted_atDATETIME删除时间,未删除为空普通
MessageTemplatedeleted_byBIGINT删除人账号 ID,未删除为空普通
MessageTemplateversionINT乐观锁版本号,写操作必须校验普通
MessageTemplatetemplate_codeVARCHAR(64)模板编码,唯一普通
MessageTemplatetemplate_nameVARCHAR(128)模板名称普通
MessageTemplatechannelVARCHAR(32)站内信/短信/微信小程序/企微/Push普通
MessageTemplatereceiver_ruleJSON接收人规则普通
MessageTemplatecontent_templateTEXT模板内容普通
MessageTemplateenabledTINYINT是否启用普通
AuditLogidBIGINT主键,雪花或号段生成,禁止复用普通
AuditLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
AuditLogorg_idBIGINT所属组织,集团级或公共配置为空普通
AuditLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
AuditLogcreated_byBIGINT创建人账号 ID普通
AuditLogcreated_atDATETIME创建时间普通
AuditLogupdated_byBIGINT最后更新人账号 ID普通
AuditLogupdated_atDATETIME最后更新时间普通
AuditLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
AuditLogdeleted_atDATETIME删除时间,未删除为空普通
AuditLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
AuditLogversionINT乐观锁版本号,写操作必须校验普通
AuditLogoperator_idBIGINT操作人 ID普通
AuditLogbiz_typeVARCHAR(64)业务类型普通
AuditLogbiz_idBIGINT业务主键 ID普通
AuditLogaction_codeVARCHAR(64)操作编码普通
AuditLogbefore_snapshotJSON变更前快照普通
AuditLogafter_snapshotJSON变更后快照普通
AuditLogip_addressVARCHAR(64)操作 IP普通

引用对象字段字典

引用表对象字段类型必填规则数据级别
int_integration_logIntegrationLogidBIGINT主键,雪花或号段生成,禁止复用普通
int_integration_logIntegrationLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
int_integration_logIntegrationLogorg_idBIGINT所属组织,集团级或公共配置为空普通
int_integration_logIntegrationLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
int_integration_logIntegrationLogcreated_byBIGINT创建人账号 ID普通
int_integration_logIntegrationLogcreated_atDATETIME创建时间普通
int_integration_logIntegrationLogupdated_byBIGINT最后更新人账号 ID普通
int_integration_logIntegrationLogupdated_atDATETIME最后更新时间普通
int_integration_logIntegrationLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
int_integration_logIntegrationLogdeleted_atDATETIME删除时间,未删除为空普通
int_integration_logIntegrationLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
int_integration_logIntegrationLogversionINT乐观锁版本号,写操作必须校验普通
int_integration_logIntegrationLogrequest_idVARCHAR(128)请求 ID,幂等键普通
int_integration_logIntegrationLogsystem_codeVARCHAR(64)外部系统编码普通
int_integration_logIntegrationLogapi_pathVARCHAR(512)接口路径普通
int_integration_logIntegrationLogbiz_typeVARCHAR(64)业务类型普通
int_integration_logIntegrationLogbiz_idBIGINT业务 ID普通
int_integration_logIntegrationLogrequest_payloadJSON请求报文,敏感字段脱敏敏感
int_integration_logIntegrationLogresponse_payloadJSON响应报文普通
int_integration_logIntegrationLogcall_statusVARCHAR(32)成功/失败/超时/重试中普通
sec_sensitive_field_policySensitiveFieldPolicyidBIGINT主键,雪花或号段生成,禁止复用普通
sec_sensitive_field_policySensitiveFieldPolicytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sec_sensitive_field_policySensitiveFieldPolicyorg_idBIGINT所属组织,集团级或公共配置为空普通
sec_sensitive_field_policySensitiveFieldPolicycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sec_sensitive_field_policySensitiveFieldPolicycreated_byBIGINT创建人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicycreated_atDATETIME创建时间普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_byBIGINT最后更新人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_atDATETIME最后更新时间普通
sec_sensitive_field_policySensitiveFieldPolicyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_atDATETIME删除时间,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_byBIGINT删除人账号 ID,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicyversionINT乐观锁版本号,写操作必须校验普通
sec_sensitive_field_policySensitiveFieldPolicyfield_codeVARCHAR(128)字段编码,唯一普通
sec_sensitive_field_policySensitiveFieldPolicybiz_typeVARCHAR(64)业务类型普通
sec_sensitive_field_policySensitiveFieldPolicymask_ruleVARCHAR(64)脱敏规则普通
sec_sensitive_field_policySensitiveFieldPolicyview_requires_approvalTINYINT明文查看是否需审批普通
sec_sensitive_field_policySensitiveFieldPolicywatermark_requiredTINYINT是否加水印普通
sec_sensitive_access_approvalSensitiveAccessApprovalidBIGINT主键,雪花或号段生成,禁止复用普通
sec_sensitive_access_approvalSensitiveAccessApprovaltenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sec_sensitive_access_approvalSensitiveAccessApprovalorg_idBIGINT所属组织,集团级或公共配置为空普通
sec_sensitive_access_approvalSensitiveAccessApprovalcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sec_sensitive_access_approvalSensitiveAccessApprovalcreated_byBIGINT创建人账号 ID普通
sec_sensitive_access_approvalSensitiveAccessApprovalcreated_atDATETIME创建时间普通
sec_sensitive_access_approvalSensitiveAccessApprovalupdated_byBIGINT最后更新人账号 ID普通
sec_sensitive_access_approvalSensitiveAccessApprovalupdated_atDATETIME最后更新时间普通
sec_sensitive_access_approvalSensitiveAccessApprovalis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sec_sensitive_access_approvalSensitiveAccessApprovaldeleted_atDATETIME删除时间,未删除为空普通
sec_sensitive_access_approvalSensitiveAccessApprovaldeleted_byBIGINT删除人账号 ID,未删除为空普通
sec_sensitive_access_approvalSensitiveAccessApprovalversionINT乐观锁版本号,写操作必须校验普通
sec_sensitive_access_approvalSensitiveAccessApprovalrequest_noVARCHAR(64)申请编号,唯一普通
sec_sensitive_access_approvalSensitiveAccessApprovalapplicant_idBIGINT申请人 ID普通
sec_sensitive_access_approvalSensitiveAccessApprovalbiz_typeVARCHAR(64)业务类型普通
sec_sensitive_access_approvalSensitiveAccessApprovalbiz_idBIGINT业务 ID普通
sec_sensitive_access_approvalSensitiveAccessApprovalfield_scopeJSON申请查看字段普通
sec_sensitive_access_approvalSensitiveAccessApprovalaccess_reasonVARCHAR(512)查看原因普通
sec_sensitive_access_approvalSensitiveAccessApprovalexpire_atDATETIME授权过期时间普通
sec_sensitive_access_approvalSensitiveAccessApprovalapproval_statusVARCHAR(32)审批状态,未发起为空普通
sec_sensitive_access_approvalSensitiveAccessApprovalapproval_instance_idBIGINT关联审批实例 ID普通
sec_export_approvalExportApprovalidBIGINT主键,雪花或号段生成,禁止复用普通
sec_export_approvalExportApprovaltenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sec_export_approvalExportApprovalorg_idBIGINT所属组织,集团级或公共配置为空普通
sec_export_approvalExportApprovalcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sec_export_approvalExportApprovalcreated_byBIGINT创建人账号 ID普通
sec_export_approvalExportApprovalcreated_atDATETIME创建时间普通
sec_export_approvalExportApprovalupdated_byBIGINT最后更新人账号 ID普通
sec_export_approvalExportApprovalupdated_atDATETIME最后更新时间普通
sec_export_approvalExportApprovalis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sec_export_approvalExportApprovaldeleted_atDATETIME删除时间,未删除为空普通
sec_export_approvalExportApprovaldeleted_byBIGINT删除人账号 ID,未删除为空普通
sec_export_approvalExportApprovalversionINT乐观锁版本号,写操作必须校验普通
sec_export_approvalExportApprovalexport_noVARCHAR(64)导出编号,唯一普通
sec_export_approvalExportApprovalapplicant_idBIGINT申请人 ID普通
sec_export_approvalExportApprovalexport_biz_typeVARCHAR(64)导出业务类型普通
sec_export_approvalExportApprovalfilter_snapshotJSON导出筛选条件快照普通
sec_export_approvalExportApprovalfile_idBIGINT导出文件 ID普通
sec_export_approvalExportApprovaldownload_expire_atDATETIME下载过期时间普通
sec_export_approvalExportApprovalapproval_statusVARCHAR(32)审批状态,未发起为空普通
sec_export_approvalExportApprovalapproval_instance_idBIGINT关联审批实例 ID普通

JSON 字段结构与校验

表名对象字段结构编码结构定义校验规则示例
sys_campus_profileCampusProfilebusiness_hoursGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
sys_legal_entityLegalEntityinvoice_ruleGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
sys_user_roleUserRolescope_org_idsORG_SCOPE{scopeType:string, orgIds:number[], campusIds:number[], includeChildren:boolean}组织和校区必须在当前租户授权范围内{"scopeType":"CAMPUS","campusIds":[101,102],"includeChildren":false}
sys_approval_flowApprovalFlowcondition_jsonAPPROVAL_CONDITION{amountRange?:[number,number], orgScope?:number[], bizStatus?:string[], expression?:string}表达式只能使用审批变量白名单{"amountRange":[1000,999999],"bizStatus":["SUBMITTED"]}
sys_approval_flowApprovalFlownode_jsonAPPROVAL_NODE{nodes:[{nodeCode:string, approverType:string, approverIds:number[], timeoutHours:number, rejectTo:string}]}节点编码唯一;审批人必须是启用账号{"nodes":[{"nodeCode":"FIN_REVIEW","approverType":"ROLE","approverIds":[3001],"timeoutHours":24}]}
sys_message_templateMessageTemplatereceiver_ruleMESSAGE_RECEIVER{receiverType:string, roleCodes?:string[], userIds?:number[], dynamicField?:string}接收人必须能解析到有效账号;失败生成消息异常任务{"receiverType":"ROLE","roleCodes":["CAMPUS_MANAGER"]}
sys_audit_logAuditLogbefore_snapshotAUDIT_SNAPSHOT{before?:object, after?:object, changedFields:string[], maskPolicy:string}敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥{"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"}
sys_audit_logAuditLogafter_snapshotAUDIT_SNAPSHOT{before?:object, after?:object, changedFields:string[], maskPolicy:string}敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥{"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"}

状态/枚举标准字典

表名对象字段枚举编码取值终态/流转规则字段说明
sys_organizationOrganizationtenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_organizationOrganizationis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_organizationOrganizationorg_typeORG_TYPE集团、区域、校区、部门、法人主体非终态,可按状态机或字典规则流转集团/区域/校区/部门/法人主体
sys_organizationOrganizationenabledENABLED_STATUS0 停用、1 启用非终态,可按状态机或字典规则流转是否启用
sys_campus_profileCampusProfiletenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_campus_profileCampusProfileis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_legal_entityLegalEntitytenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_legal_entityLegalEntityis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_legal_entityLegalEntityenabledENABLED_STATUS0 停用、1 启用非终态,可按状态机或字典规则流转是否启用
sys_userUser/Employeetenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_userUser/Employeeis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_userUser/Employeeuser_typeUSER_TYPE员工、学员、家长、外部账号非终态,可按状态机或字典规则流转员工/学员/家长/外部账号
sys_userUser/Employeelogin_statusLOGIN_STATUSPENDING 待激活、NORMAL 正常、LOCKED 锁定、DISABLED 停用包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程正常/锁定/停用/待激活
sys_employeeEmployeetenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_employeeEmployeeis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_employeeEmployeehire_statusHIRE_STATUS在职、试用、离职、停用非终态,可按状态机或字典规则流转在职/试用/离职/停用
sys_roleRoletenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_roleRoleis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_roleRolerole_levelROLE_LEVEL总部、区域、校区、个人非终态,可按状态机或字典规则流转总部/区域/校区/个人
sys_roleRoledata_scope_typeDATA_SCOPE_TYPEHEADQUARTER 总部全量、REGION 区域辖区、CAMPUS 校区本地、DEPARTMENT 部门、TEAM 团队、SELF 本人、CUSTOM 自定义非终态,可按状态机或字典规则流转数据范围类型
sys_roleRoleenabledENABLED_STATUS0 停用、1 启用非终态,可按状态机或字典规则流转是否启用
sys_user_roleUserRoletenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_user_roleUserRoleis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_approval_flowApprovalFlowtenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_approval_flowApprovalFlowis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_approval_flowApprovalFlowbiz_typeBIZ_TYPELEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资非终态,可按状态机或字典规则流转业务类型
sys_approval_flowApprovalFlowenabledENABLED_STATUS0 停用、1 启用非终态,可按状态机或字典规则流转是否启用
sys_message_templateMessageTemplatetenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_message_templateMessageTemplateis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_message_templateMessageTemplatechannelCHANNEL站内信、短信、微信小程序、企微、Push非终态,可按状态机或字典规则流转站内信/短信/微信小程序/企微/Push
sys_message_templateMessageTemplateenabledENABLED_STATUS0 停用、1 启用非终态,可按状态机或字典规则流转是否启用
sys_audit_logAuditLogtenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
sys_audit_logAuditLogis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
sys_audit_logAuditLogbiz_typeBIZ_TYPELEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资非终态,可按状态机或字典规则流转业务类型

敏感字段与数据安全策略

来源表名对象字段数据级别脱敏/返回策略明文查看条件导出策略审计要求端侧展示规则
本模块对象sys_legal_entityLegalEntitytaxpayer_no敏感TAX_INVOICE_MASK默认按税号/发票号局部脱敏;发票原图、OCR 结果和国税回执按财务权限查看财务导出需审批并加水印;国税官方回执随业务单归档OCR、核验、查重、人工校正、导出和付款阻断均留痕移动端可上传和查看本人报销结果,不展示其他人员票据明文
本模块对象sys_legal_entityLegalEntitybank_account_no敏感BANK_ACCOUNT_MASK默认展示后 4 位;付款、报销、工资发放场景按岗位权限展示导出银行账号必须走财务/安全双审批查看、变更、付款使用、导出均记录业务单号和操作者财务 PC 可按权限明文;员工端和移动端默认脱敏
本模块对象sys_legal_entityLegalEntityinvoice_rule普通TAX_INVOICE_MASK默认按税号/发票号局部脱敏;发票原图、OCR 结果和国税回执按财务权限查看财务导出需审批并加水印;国税官方回执随业务单归档OCR、核验、查重、人工校正、导出和付款阻断均留痕移动端可上传和查看本人报销结果,不展示其他人员票据明文
本模块对象sys_userUser/Employeemobile敏感MOBILE_MASK默认展示 138****0000;明文查看需字段权限或敏感字段查看审批导出手机号必须触发导出审批、下载水印和有效期控制明文查看、复制、导出和批量下载均写入 SensitiveAccessLogPC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息
本模块对象sys_userUser/Employeepassword_hash高敏NEVER_RETURN禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用禁止导出;配置导出只允许导出脱敏引用和启停状态配置新增、修改、启停、轮换和失败读取均记录安全审计前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值
本模块对象sys_user_roleUserRolescope_org_ids普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
本模块对象sys_user_roleUserRolevalid_from普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则
本模块对象sys_user_roleUserRolevalid_to普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则
引用对象int_integration_logIntegrationLogrequest_payload敏感PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象int_integration_logIntegrationLogresponse_payload普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象sec_sensitive_field_policySensitiveFieldPolicymask_rule普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则
引用对象sec_sensitive_access_approvalSensitiveAccessApprovalexpire_at普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则

核心数据表完整字段

表名对象字段类型必填规则数据级别
sys_organizationOrganizationidBIGINT主键,雪花或号段生成,禁止复用普通
sys_organizationOrganizationtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_organizationOrganizationorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_organizationOrganizationcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_organizationOrganizationcreated_byBIGINT创建人账号 ID普通
sys_organizationOrganizationcreated_atDATETIME创建时间普通
sys_organizationOrganizationupdated_byBIGINT最后更新人账号 ID普通
sys_organizationOrganizationupdated_atDATETIME最后更新时间普通
sys_organizationOrganizationis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_organizationOrganizationdeleted_atDATETIME删除时间,未删除为空普通
sys_organizationOrganizationdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_organizationOrganizationversionINT乐观锁版本号,写操作必须校验普通
sys_organizationOrganizationorg_codeVARCHAR(64)组织编码,租户内唯一普通
sys_organizationOrganizationorg_nameVARCHAR(128)组织名称普通
sys_organizationOrganizationorg_typeVARCHAR(32)集团/区域/校区/部门/法人主体普通
sys_organizationOrganizationparent_idBIGINT上级组织 ID,根节点为空普通
sys_organizationOrganizationsort_noINT同级排序普通
sys_organizationOrganizationenabledTINYINT是否启用普通
sys_campus_profileCampusProfileidBIGINT主键,雪花或号段生成,禁止复用普通
sys_campus_profileCampusProfiletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_campus_profileCampusProfileorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_campus_profileCampusProfilecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_campus_profileCampusProfilecreated_byBIGINT创建人账号 ID普通
sys_campus_profileCampusProfilecreated_atDATETIME创建时间普通
sys_campus_profileCampusProfileupdated_byBIGINT最后更新人账号 ID普通
sys_campus_profileCampusProfileupdated_atDATETIME最后更新时间普通
sys_campus_profileCampusProfileis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_campus_profileCampusProfiledeleted_atDATETIME删除时间,未删除为空普通
sys_campus_profileCampusProfiledeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_campus_profileCampusProfileversionINT乐观锁版本号,写操作必须校验普通
sys_campus_profileCampusProfilecampus_codeVARCHAR(64)校区编码,唯一普通
sys_campus_profileCampusProfilecampus_nameVARCHAR(128)校区名称普通
sys_campus_profileCampusProfilelegal_entity_idBIGINT所属法人主体普通
sys_campus_profileCampusProfileaddressVARCHAR(255)校区地址普通
sys_campus_profileCampusProfilelongitudeDECIMAL(12,8)地图经度,后台动态配置普通
sys_campus_profileCampusProfilelatitudeDECIMAL(12,8)地图纬度,后台动态配置普通
sys_campus_profileCampusProfilebusiness_hoursJSON营业时间配置普通
sys_legal_entityLegalEntityidBIGINT主键,雪花或号段生成,禁止复用普通
sys_legal_entityLegalEntitytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_legal_entityLegalEntityorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_legal_entityLegalEntitycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_legal_entityLegalEntitycreated_byBIGINT创建人账号 ID普通
sys_legal_entityLegalEntitycreated_atDATETIME创建时间普通
sys_legal_entityLegalEntityupdated_byBIGINT最后更新人账号 ID普通
sys_legal_entityLegalEntityupdated_atDATETIME最后更新时间普通
sys_legal_entityLegalEntityis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_legal_entityLegalEntitydeleted_atDATETIME删除时间,未删除为空普通
sys_legal_entityLegalEntitydeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_legal_entityLegalEntityversionINT乐观锁版本号,写操作必须校验普通
sys_legal_entityLegalEntityentity_codeVARCHAR(64)主体编码,唯一普通
sys_legal_entityLegalEntityentity_nameVARCHAR(128)主体名称普通
sys_legal_entityLegalEntitytaxpayer_noVARCHAR(64)纳税人识别号敏感
sys_legal_entityLegalEntitybank_account_noVARCHAR(64)银行账号,展示需脱敏敏感
sys_legal_entityLegalEntityinvoice_ruleJSON开票与核验规则普通
sys_legal_entityLegalEntityenabledTINYINT是否启用普通
sys_userUser/EmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_userUser/Employeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_userUser/Employeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_userUser/Employeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_userUser/Employeecreated_byBIGINT创建人账号 ID普通
sys_userUser/Employeecreated_atDATETIME创建时间普通
sys_userUser/Employeeupdated_byBIGINT最后更新人账号 ID普通
sys_userUser/Employeeupdated_atDATETIME最后更新时间普通
sys_userUser/Employeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_userUser/Employeedeleted_atDATETIME删除时间,未删除为空普通
sys_userUser/Employeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_userUser/EmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_userUser/Employeeuser_noVARCHAR(64)账号编号,唯一普通
sys_userUser/Employeelogin_nameVARCHAR(64)登录名,唯一普通
sys_userUser/EmployeemobileVARCHAR(32)手机号,敏感脱敏展示敏感
sys_userUser/Employeepassword_hashVARCHAR(255)密码哈希,禁止前端返回高敏
sys_userUser/Employeeuser_typeVARCHAR(32)员工/学员/家长/外部账号普通
sys_userUser/Employeelogin_statusVARCHAR(32)正常/锁定/停用/待激活普通
sys_employeeEmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_employeeEmployeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_employeeEmployeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_employeeEmployeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_employeeEmployeecreated_byBIGINT创建人账号 ID普通
sys_employeeEmployeecreated_atDATETIME创建时间普通
sys_employeeEmployeeupdated_byBIGINT最后更新人账号 ID普通
sys_employeeEmployeeupdated_atDATETIME最后更新时间普通
sys_employeeEmployeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_employeeEmployeedeleted_atDATETIME删除时间,未删除为空普通
sys_employeeEmployeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_employeeEmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_employeeEmployeeemployee_noVARCHAR(64)工号,唯一普通
sys_employeeEmployeeuser_idBIGINT关联账号 ID普通
sys_employeeEmployeeemployee_nameVARCHAR(64)员工姓名普通
sys_employeeEmployeeprimary_campus_idBIGINT主校区 ID普通
sys_employeeEmployeejob_titleVARCHAR(64)岗位名称普通
sys_employeeEmployeehire_statusVARCHAR(32)在职/试用/离职/停用普通
sys_roleRoleidBIGINT主键,雪花或号段生成,禁止复用普通
sys_roleRoletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_roleRoleorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_roleRolecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_roleRolecreated_byBIGINT创建人账号 ID普通
sys_roleRolecreated_atDATETIME创建时间普通
sys_roleRoleupdated_byBIGINT最后更新人账号 ID普通
sys_roleRoleupdated_atDATETIME最后更新时间普通
sys_roleRoleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_roleRoledeleted_atDATETIME删除时间,未删除为空普通
sys_roleRoledeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_roleRoleversionINT乐观锁版本号,写操作必须校验普通
sys_roleRolerole_codeVARCHAR(64)角色编码,唯一普通
sys_roleRolerole_nameVARCHAR(128)角色名称普通
sys_roleRolerole_levelVARCHAR(32)总部/区域/校区/个人普通
sys_roleRoledata_scope_typeVARCHAR(32)数据范围类型普通
sys_roleRoleenabledTINYINT是否启用普通
sys_user_roleUserRoleidBIGINT主键,雪花或号段生成,禁止复用普通
sys_user_roleUserRoletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_user_roleUserRoleorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_user_roleUserRolecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_user_roleUserRolecreated_byBIGINT创建人账号 ID普通
sys_user_roleUserRolecreated_atDATETIME创建时间普通
sys_user_roleUserRoleupdated_byBIGINT最后更新人账号 ID普通
sys_user_roleUserRoleupdated_atDATETIME最后更新时间普通
sys_user_roleUserRoleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_user_roleUserRoledeleted_atDATETIME删除时间,未删除为空普通
sys_user_roleUserRoledeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_user_roleUserRoleversionINT乐观锁版本号,写操作必须校验普通
sys_user_roleUserRoleuser_idBIGINT用户 ID普通
sys_user_roleUserRolerole_idBIGINT角色 ID普通
sys_user_roleUserRolescope_org_idsJSON授权组织范围普通
sys_user_roleUserRolevalid_fromDATETIME授权开始时间普通
sys_user_roleUserRolevalid_toDATETIME授权结束时间普通
sys_approval_flowApprovalFlowidBIGINT主键,雪花或号段生成,禁止复用普通
sys_approval_flowApprovalFlowtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_approval_flowApprovalFloworg_idBIGINT所属组织,集团级或公共配置为空普通
sys_approval_flowApprovalFlowcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_approval_flowApprovalFlowcreated_byBIGINT创建人账号 ID普通
sys_approval_flowApprovalFlowcreated_atDATETIME创建时间普通
sys_approval_flowApprovalFlowupdated_byBIGINT最后更新人账号 ID普通
sys_approval_flowApprovalFlowupdated_atDATETIME最后更新时间普通
sys_approval_flowApprovalFlowis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_approval_flowApprovalFlowdeleted_atDATETIME删除时间,未删除为空普通
sys_approval_flowApprovalFlowdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_approval_flowApprovalFlowversionINT乐观锁版本号,写操作必须校验普通
sys_approval_flowApprovalFlowflow_codeVARCHAR(64)审批流编码,唯一普通
sys_approval_flowApprovalFlowbiz_typeVARCHAR(64)业务类型普通
sys_approval_flowApprovalFlowflow_nameVARCHAR(128)审批流名称普通
sys_approval_flowApprovalFlowcondition_jsonJSON触发条件普通
sys_approval_flowApprovalFlownode_jsonJSON节点、审批人和超时规则普通
sys_approval_flowApprovalFlowversion_noINT审批流版本号普通
sys_approval_flowApprovalFlowenabledTINYINT是否启用普通
sys_message_templateMessageTemplateidBIGINT主键,雪花或号段生成,禁止复用普通
sys_message_templateMessageTemplatetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_message_templateMessageTemplateorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_message_templateMessageTemplatecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_message_templateMessageTemplatecreated_byBIGINT创建人账号 ID普通
sys_message_templateMessageTemplatecreated_atDATETIME创建时间普通
sys_message_templateMessageTemplateupdated_byBIGINT最后更新人账号 ID普通
sys_message_templateMessageTemplateupdated_atDATETIME最后更新时间普通
sys_message_templateMessageTemplateis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_message_templateMessageTemplatedeleted_atDATETIME删除时间,未删除为空普通
sys_message_templateMessageTemplatedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_message_templateMessageTemplateversionINT乐观锁版本号,写操作必须校验普通
sys_message_templateMessageTemplatetemplate_codeVARCHAR(64)模板编码,唯一普通
sys_message_templateMessageTemplatetemplate_nameVARCHAR(128)模板名称普通
sys_message_templateMessageTemplatechannelVARCHAR(32)站内信/短信/微信小程序/企微/Push普通
sys_message_templateMessageTemplatereceiver_ruleJSON接收人规则普通
sys_message_templateMessageTemplatecontent_templateTEXT模板内容普通
sys_message_templateMessageTemplateenabledTINYINT是否启用普通
sys_audit_logAuditLogidBIGINT主键,雪花或号段生成,禁止复用普通
sys_audit_logAuditLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_audit_logAuditLogorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_audit_logAuditLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_audit_logAuditLogcreated_byBIGINT创建人账号 ID普通
sys_audit_logAuditLogcreated_atDATETIME创建时间普通
sys_audit_logAuditLogupdated_byBIGINT最后更新人账号 ID普通
sys_audit_logAuditLogupdated_atDATETIME最后更新时间普通
sys_audit_logAuditLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_audit_logAuditLogdeleted_atDATETIME删除时间,未删除为空普通
sys_audit_logAuditLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_audit_logAuditLogversionINT乐观锁版本号,写操作必须校验普通
sys_audit_logAuditLogoperator_idBIGINT操作人 ID普通
sys_audit_logAuditLogbiz_typeVARCHAR(64)业务类型普通
sys_audit_logAuditLogbiz_idBIGINT业务主键 ID普通
sys_audit_logAuditLogaction_codeVARCHAR(64)操作编码普通
sys_audit_logAuditLogbefore_snapshotJSON变更前快照普通
sys_audit_logAuditLogafter_snapshotJSON变更后快照普通
sys_audit_logAuditLogip_addressVARCHAR(64)操作 IP普通

数据表与对象映射

表名对象用途完整字段索引建议
sys_organizationOrganization集团、区域、校区、部门组织树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,必填)、org_code(VARCHAR(64),必填)、org_name(VARCHAR(128),必填)、org_type(VARCHAR(32),必填)、parent_id(BIGINT)、sort_no(INT)、enabled(TINYINT,必填)uk_org_code、idx_parent_type
sys_campus_profileCampusProfile校区档案、经纬度和监管基础信息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,必填)、campus_code(VARCHAR(64),必填)、campus_name(VARCHAR(128),必填)、legal_entity_id(BIGINT)、address(VARCHAR(255))、longitude(DECIMAL(12,8))、latitude(DECIMAL(12,8))、business_hours(JSON)uk_campus_code、idx_geo
sys_legal_entityLegalEntity法人主体、税务主体和收款主体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,必填)、entity_code(VARCHAR(64),必填)、entity_name(VARCHAR(128),必填)、taxpayer_no(VARCHAR(64),必填)、bank_account_no(VARCHAR(64))、invoice_rule(JSON)、enabled(TINYINT,必填)uk_entity_code、uk_taxpayer_no
sys_userUser/Employee统一登录账号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_no(VARCHAR(64),必填)、login_name(VARCHAR(64),必填)、mobile(VARCHAR(32))、password_hash(VARCHAR(255))、user_type(VARCHAR(32),必填)、login_status(VARCHAR(32),必填)uk_user_no、uk_login_name、idx_mobile
sys_employeeEmployee员工基础档案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,必填)、employee_no(VARCHAR(64),必填)、user_id(BIGINT)、employee_name(VARCHAR(64),必填)、primary_campus_id(BIGINT)、job_title(VARCHAR(64))、hire_status(VARCHAR(32),必填)uk_employee_no、idx_campus_status
sys_roleRole角色定义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,必填)、role_code(VARCHAR(64),必填)、role_name(VARCHAR(128),必填)、role_level(VARCHAR(32),必填)、data_scope_type(VARCHAR(32),必填)、enabled(TINYINT,必填)uk_role_code、idx_scope
sys_user_roleUserRole用户角色与组织授权关系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,必填)、role_id(BIGINT,必填)、scope_org_ids(JSON)、valid_from(DATETIME,必填)、valid_to(DATETIME)uk_user_role_scope、idx_role
sys_approval_flowApprovalFlow审批流配置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,必填)、flow_code(VARCHAR(64),必填)、biz_type(VARCHAR(64),必填)、flow_name(VARCHAR(128),必填)、condition_json(JSON)、node_json(JSON,必填)、version_no(INT,必填)、enabled(TINYINT,必填)uk_flow_code_version、idx_biz_enabled
sys_message_templateMessageTemplate消息模板与多端触达配置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,必填)、template_code(VARCHAR(64),必填)、template_name(VARCHAR(128),必填)、channel(VARCHAR(32),必填)、receiver_rule(JSON,必填)、content_template(TEXT,必填)、enabled(TINYINT,必填)uk_template_code、idx_channel_enabled
sys_audit_logAuditLog全平台操作审计日志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,必填)、operator_id(BIGINT,必填)、biz_type(VARCHAR(64),必填)、biz_id(BIGINT)、action_code(VARCHAR(64),必填)、before_snapshot(JSON)、after_snapshot(JSON)、ip_address(VARCHAR(64))idx_biz、idx_operator_time

12 · 状态机与业务规则

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

原型需要把状态标签、可操作按钮和禁用原因展示清楚。
对象状态触发与说明
集团会议直播草稿 -> 待发布 -> 已通知 -> 直播中 -> 纪要整理中 -> 待任务确认 -> 已归档会议创建、范围通知、直播、签到、纪要任务、资料归档
敏感字段查看待审批 -> 已授权 -> 已查看 -> 已过期 -> 已撤回 -> 已驳回敏感字段明文查看申请、审批、限时授权、水印和审计
活码访问安全启用中 -> 限频中 -> 黑名单命中 -> 目标下架 -> 已停用 -> 已过期 -> 异常告警短链访问、防刷、失效页、黑名单和异常渠道告警
国税核验配置草稿 -> 启用中 -> 频控中 -> 异常 -> 已停用 -> 已过期校区税务主体、官方接口凭证、额度、启用状态和调用日志
跨模块闭环主责待定义 -> 已定义 -> 评审中 -> 已确认 -> 变更中 -> 已归档定义主责模块、协作模块、接口、消息、审批、测试和验收边界
唯一性校验

平台基础中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

跨校区数据隔离

平台基础中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

敏感操作留痕

平台基础中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

外部接口幂等

平台基础中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

批量失败明细

平台基础中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

状态回退审批

平台基础中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

13 · 权限、审批与消息

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

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

动作权限

  • 新增组织:需映射菜单、按钮、接口和字段权限
  • 维护账号:需映射菜单、按钮、接口和字段权限
  • 配置角色:需映射菜单、按钮、接口和字段权限
  • 设置审批:需映射菜单、按钮、接口和字段权限
  • 维护模板:需映射菜单、按钮、接口和字段权限
  • 查看审计:需映射菜单、按钮、接口和字段权限

数据范围

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

审批配置

审批名称触发条件流程结果留痕
合同优惠审批折扣低于总部配置阈值或赠课超过上限顾问提交 -> 销售主管 -> 校长 -> 财务抄送通过后合同可签署,驳回后返回报价草稿保留优惠前后金额和审批意见
报销审批员工提交费用报销或发票查重命中风险员工提交 -> 部门主管 -> 校长/预算负责人 -> 财务复核通过后进入付款,驳回后返回报销人修改保留票据影像、OCR 结果、核验结果、查重结果和审批意见
账套反结账审批已结账期间需要反结账或更正税务资料校区财务提交 -> 总部财务复核 -> 财务负责人终审通过后解锁期间并记录调整原因保留反结账前后凭证、税表和审批说明
物料采购审批采购金额超过阈值、跨校区采购或固定资产采购申请人 -> 校区负责人 -> 采购/财务 -> 总部审批通过后生成采购订单和到货验收任务保留预算、供应商、报价和采购合同附件
固定资产报废审批固定资产、图书或高价值物料需要报废责任人提交 -> 校区负责人 -> 资产管理员 -> 财务复核通过后出库、报废并生成财务核销记录保留照片、盘点记录、处置说明和残值
转校审批学员权益跨校区转移原校区校长 -> 目标校区校长 -> 财务确认权益和服务归属迁移记录转出转入校区和余额
数据导出审批导出客户、学员、人脸、工资、利润等敏感数据申请人 -> 部门主管 -> 数据管理员生成限时下载链接记录用途、字段、下载人和 IP
录像调取审批非巡课任务内调取历史录像或导出重点片段申请人 -> 校长/区域负责人 -> 数据管理员授权限时查看、导出或驳回记录调取原因、录像范围、查看人和下载日志

消息模板

消息接收人触发渠道变量
新线索分配提醒课程顾问线索分配成功站内信、App、企微学员姓名、来源渠道、校区、保护期
试听预约通知家长/教师/顾问试听课预约成功或变更小程序、短信、App上课时间、校区、教室、教师
库存预警库管/校区负责人物料或礼品低于安全库存站内信、App、企微SKU、校区、当前库存、安全库存、补货建议
积分兑换核销通知学员/家长/校区前台兑换成功、即将过期或核销完成小程序、App、站内信礼品名称、兑换码、核销校区、有效期
到校签到通知家长人脸或人工签到成功小程序、App学员姓名、签到时间、校区、课程
摄像头离线告警设备管理员/校区前台摄像头心跳超时或拉流失败站内信、App校区、教室、摄像头编号、品牌、异常时间
数据导出审批审批人敏感数据导出申请站内信、App申请人、字段范围、用途、过期时间
公开课直播报名提醒报名家长/线索顾问公开课报名成功、开播前提醒、未到场提醒短信、公众号、企微、H5活动、渠道、顾问、直播入口

14 · 接口与技术细节

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

每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。
接口方法方向请求字段响应字段幂等/权限
/api/v1/orgsPOST/GETPC Web 到平台tenantId, parentId, orgType, orgName, statusorgId, orgTree, effectiveScope组织编码唯一,按租户隔离
/api/v1/usersPOST/GETPC Web 到平台mobile, employeeNo, campusIds, roleIdsuserId, loginStatus, permissionSummary手机号与员工号唯一
/api/v1/roles/permissionsPUTPC Web 到平台roleId, permissionCodes, dataScopeeffectiveMenus, buttons, fields角色变更写入审计
/api/v1/approval/flowsPOST/PUTPC Web 到平台bizType, conditionJson, nodes, versionNoflowId, enabled, nextVersion同业务仅一个启用版本
/api/v1/messages/sendPOST平台内部templateCode, receivers, variables, requestIdmessageId, sendStatusrequestId 幂等

前端约束

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

后端约束

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

集成约束

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

15 · 数据库与存储设计

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

详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。
表名用途核心字段索引建议
sys_organization集团、区域、校区、部门组织树id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、org_code、org_name、org_type、parent_id、sort_no、enableduk_org_code、idx_parent_type
sys_campus_profile校区档案、经纬度和监管基础信息id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、campus_code、campus_name、legal_entity_id、address、longitude、latitude、business_hoursuk_campus_code、idx_geo
sys_legal_entity法人主体、税务主体和收款主体id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、entity_code、entity_name、taxpayer_no、bank_account_no、invoice_rule、enableduk_entity_code、uk_taxpayer_no
sys_user统一登录账号id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、user_no、login_name、mobile、password_hash、user_type、login_statusuk_user_no、uk_login_name、idx_mobile
sys_employee员工基础档案id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、employee_no、user_id、employee_name、primary_campus_id、job_title、hire_statusuk_employee_no、idx_campus_status
sys_role角色定义id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、role_code、role_name、role_level、data_scope_type、enableduk_role_code、idx_scope
sys_user_role用户角色与组织授权关系id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、user_id、role_id、scope_org_ids、valid_from、valid_touk_user_role_scope、idx_role
sys_approval_flow审批流配置id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、flow_code、biz_type、flow_name、condition_json、node_json、version_no、enableduk_flow_code_version、idx_biz_enabled
sys_message_template消息模板与多端触达配置id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、template_code、template_name、channel、receiver_rule、content_template、enableduk_template_code、idx_channel_enabled
sys_audit_log全平台操作审计日志id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、operator_id、biz_type、biz_id、action_code、before_snapshot、after_snapshot、ip_addressidx_biz、idx_operator_time

DDL 草案

sys_organizationOrganization
CREATE TABLE `sys_organization` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `org_code` VARCHAR(64) NOT NULL COMMENT '组织编码,租户内唯一;数据级别:普通',
  `org_name` VARCHAR(128) NOT NULL COMMENT '组织名称;数据级别:普通',
  `org_type` VARCHAR(32) NOT NULL COMMENT '集团/区域/校区/部门/法人主体;数据级别:普通',
  `parent_id` BIGINT NULL COMMENT '上级组织 ID,根节点为空;数据级别:普通',
  `sort_no` INT NULL COMMENT '同级排序;数据级别:普通',
  `enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_org_code` (`org_id`, `org_code`),
  KEY `idx_parent_type` (`parent_id`, `org_type`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Organization:集团、区域、校区、部门组织树';
sys_campus_profileCampusProfile
CREATE TABLE `sys_campus_profile` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `campus_code` VARCHAR(64) NOT NULL COMMENT '校区编码,唯一;数据级别:普通',
  `campus_name` VARCHAR(128) NOT NULL COMMENT '校区名称;数据级别:普通',
  `legal_entity_id` BIGINT NULL COMMENT '所属法人主体;数据级别:普通',
  `address` VARCHAR(255) NULL COMMENT '校区地址;数据级别:普通',
  `longitude` DECIMAL(12,8) NULL COMMENT '地图经度,后台动态配置;数据级别:普通',
  `latitude` DECIMAL(12,8) NULL COMMENT '地图纬度,后台动态配置;数据级别:普通',
  `business_hours` JSON NULL COMMENT '营业时间配置;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_campus_code` (`campus_id`, `campus_code`),
  KEY `idx_geo` (`tenant_id`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='CampusProfile:校区档案、经纬度和监管基础信息';
sys_legal_entityLegalEntity
CREATE TABLE `sys_legal_entity` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `entity_code` VARCHAR(64) NOT NULL COMMENT '主体编码,唯一;数据级别:普通',
  `entity_name` VARCHAR(128) NOT NULL COMMENT '主体名称;数据级别:普通',
  `taxpayer_no` VARCHAR(64) NOT NULL COMMENT '纳税人识别号;数据级别:敏感',
  `bank_account_no` VARCHAR(64) NULL COMMENT '银行账号,展示需脱敏;数据级别:敏感',
  `invoice_rule` JSON NULL COMMENT '开票与核验规则;数据级别:普通',
  `enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_entity_code` (`entity_code`),
  UNIQUE KEY `uk_taxpayer_no` (`taxpayer_no`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='LegalEntity:法人主体、税务主体和收款主体';
sys_userUser/Employee
CREATE TABLE `sys_user` (
  `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_no` VARCHAR(64) NOT NULL COMMENT '账号编号,唯一;数据级别:普通',
  `login_name` VARCHAR(64) NOT NULL COMMENT '登录名,唯一;数据级别:普通',
  `mobile` VARCHAR(32) NULL COMMENT '手机号,敏感脱敏展示;数据级别:敏感',
  `password_hash` VARCHAR(255) NULL COMMENT '密码哈希,禁止前端返回;数据级别:高敏',
  `user_type` VARCHAR(32) NOT NULL COMMENT '员工/学员/家长/外部账号;数据级别:普通',
  `login_status` VARCHAR(32) NOT NULL COMMENT '正常/锁定/停用/待激活;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_user_no` (`user_no`),
  UNIQUE KEY `uk_login_name` (`login_name`),
  KEY `idx_mobile` (`mobile`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='User/Employee:统一登录账号';
sys_employeeEmployee
CREATE TABLE `sys_employee` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `employee_no` VARCHAR(64) NOT NULL COMMENT '工号,唯一;数据级别:普通',
  `user_id` BIGINT NULL COMMENT '关联账号 ID;数据级别:普通',
  `employee_name` VARCHAR(64) NOT NULL COMMENT '员工姓名;数据级别:普通',
  `primary_campus_id` BIGINT NULL COMMENT '主校区 ID;数据级别:普通',
  `job_title` VARCHAR(64) NULL COMMENT '岗位名称;数据级别:普通',
  `hire_status` VARCHAR(32) NOT NULL COMMENT '在职/试用/离职/停用;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_employee_no` (`employee_no`),
  KEY `idx_campus_status` (`campus_id`, `hire_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Employee:员工基础档案';
sys_roleRole
CREATE TABLE `sys_role` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `role_code` VARCHAR(64) NOT NULL COMMENT '角色编码,唯一;数据级别:普通',
  `role_name` VARCHAR(128) NOT NULL COMMENT '角色名称;数据级别:普通',
  `role_level` VARCHAR(32) NOT NULL COMMENT '总部/区域/校区/个人;数据级别:普通',
  `data_scope_type` VARCHAR(32) NOT NULL COMMENT '数据范围类型;数据级别:普通',
  `enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_role_code` (`role_code`),
  KEY `idx_scope` (`data_scope_type`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Role:角色定义';
sys_user_roleUserRole
CREATE TABLE `sys_user_role` (
  `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;数据级别:普通',
  `role_id` BIGINT NOT NULL COMMENT '角色 ID;数据级别:普通',
  `scope_org_ids` JSON NULL COMMENT '授权组织范围;数据级别:普通',
  `valid_from` DATETIME NOT NULL COMMENT '授权开始时间;数据级别:普通',
  `valid_to` DATETIME NULL COMMENT '授权结束时间;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_user_role_scope` (`user_id`, `role_id`, `scope_org_ids`),
  KEY `idx_role` (`role_id`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='UserRole:用户角色与组织授权关系';
sys_approval_flowApprovalFlow
CREATE TABLE `sys_approval_flow` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `flow_code` VARCHAR(64) NOT NULL COMMENT '审批流编码,唯一;数据级别:普通',
  `biz_type` VARCHAR(64) NOT NULL COMMENT '业务类型;数据级别:普通',
  `flow_name` VARCHAR(128) NOT NULL COMMENT '审批流名称;数据级别:普通',
  `condition_json` JSON NULL COMMENT '触发条件;数据级别:普通',
  `node_json` JSON NOT NULL COMMENT '节点、审批人和超时规则;数据级别:普通',
  `version_no` INT NOT NULL COMMENT '审批流版本号;数据级别:普通',
  `enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_flow_code_version` (`flow_code`, `version`),
  KEY `idx_biz_enabled` (`biz_type`, `enabled`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ApprovalFlow:审批流配置';
sys_message_templateMessageTemplate
CREATE TABLE `sys_message_template` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `template_code` VARCHAR(64) NOT NULL COMMENT '模板编码,唯一;数据级别:普通',
  `template_name` VARCHAR(128) NOT NULL COMMENT '模板名称;数据级别:普通',
  `channel` VARCHAR(32) NOT NULL COMMENT '站内信/短信/微信小程序/企微/Push;数据级别:普通',
  `receiver_rule` JSON NOT NULL COMMENT '接收人规则;数据级别:普通',
  `content_template` TEXT NOT NULL COMMENT '模板内容;数据级别:普通',
  `enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_template_code` (`template_code`),
  KEY `idx_channel_enabled` (`channel`, `enabled`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MessageTemplate:消息模板与多端触达配置';
sys_audit_logAuditLog
CREATE TABLE `sys_audit_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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `operator_id` BIGINT NOT NULL COMMENT '操作人 ID;数据级别:普通',
  `biz_type` VARCHAR(64) NOT NULL COMMENT '业务类型;数据级别:普通',
  `biz_id` BIGINT NULL COMMENT '业务主键 ID;数据级别:普通',
  `action_code` VARCHAR(64) NOT NULL COMMENT '操作编码;数据级别:普通',
  `before_snapshot` JSON NULL COMMENT '变更前快照;数据级别:普通',
  `after_snapshot` JSON NULL COMMENT '变更后快照;数据级别:普通',
  `ip_address` VARCHAR(64) NULL COMMENT '操作 IP;数据级别:普通',
  PRIMARY KEY (`id`),
  KEY `idx_biz` (`biz_type`),
  KEY `idx_operator_time` (`operator_id`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='AuditLog:全平台操作审计日志';

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

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

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

异常状态

越权访问组织归属缺失审批链断点

指标埋点

账号启用率角色覆盖率审批流启用率敏感操作审计覆盖率跨校区权限异常数

测试用例

编号场景前置步骤预期优先级
TC-001线索从活动落地页进入 CRM活动已发布且表单字段完整提交报名表单并查看 CRM 线索池线索生成、渠道归因正确、自动分配顾问
TC-004报价优惠审批折扣低于阈值顾问提交报价审批待办生成,通过后可创建合同
TC-005电子合同签署和收款合同模板启用生成合同、家长签署、支付合同已签署、订单已收款、权益生效
TC-006合同监管备案失败重报监管接口模拟字段失败提交备案后修复字段重报失败回执保留,重报成功
TC-020移动端兼容检查准备家长小程序/H5、学员小程序、iPhone、iPad、安卓 App 环境分别登录家长端和学员端执行核心学习、缴费、授权、审批流程两个端的首页、权限、任务和通知互不混淆,关键操作可完成
TC-021跨校区数据隔离创建两个校区和不同校区账号校区 A 账号访问校区 B 客户无法查看或仅显示授权范围数据
TC-022字段脱敏与明文查看用户具备普通客户权限但无明文权限打开客户详情并尝试查看手机号手机号脱敏,查看明文需审批或授权留痕
TC-023按钮权限控制顾问账号无退费审批权限进入退费单详情可查看授权数据但不可审批
TC-025批量导入失败明细准备含错误字段的线索导入文件导入文件并查看结果展示成功数、失败数和错误明细下载
TC-034合同备案后字段不可逆合同已备案成功尝试修改监管关键字段系统阻止直接修改并引导更正流程
TC-FND-ENH-001权限闭环交付闭环验收组织树、角色授权、员工账号、权限诊断相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐权限变更的实时生效、缓存刷新、影响用户提示、审计日志和回滚策略。执行前端提交、后端处理、状态流转、异常重试和消息触达权限变更后用户重新进入页面、接口调用和导出均按新权限执行。;同时产生审计日志、指标埋点和必要的补偿任务
TC-FND-ENH-002配置闭环交付闭环验收审批配置、消息模板、业务单据详情相关基础数据、权限、审批流、消息模板和接口配置已初始化按要求审批流与消息模板按业务类型、组织范围、版本号和启停状态统一配置,业务单据引用当时版本。执行前端提交、后端处理、状态流转、异常重试和消息触达历史单据按原版本追溯,新单据按当前启用版本执行。;同时产生审计日志、指标埋点和必要的补偿任务
TC-FND-ENH-003安全基础交付闭环验收数据字典、审计日志、敏感操作审批相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐逻辑删除、恢复审批、字段脱敏、临时授权和操作审计的公共规则。执行前端提交、后端处理、状态流转、异常重试和消息触达所有可删除对象具备 is_deleted、deleted_at、deleted_by,并可审计。;同时产生审计日志、指标埋点和必要的补偿任务

上线初始化

初始化项动作数据验收
组织与校区导入集团、品牌、法人主体、区域、校区、部门、岗位总部组织树、校区编码、法人关系、营业时间组织层级正确且权限可继承
账号与权限初始化总部、区域、校区、顾问、教务、教师、财务、家长、学员角色账号、角色、菜单、按钮、字段、数据范围测试账号可按角色访问指定页面
课程与价格导入课程、班型、课包、课时、价格、适用校区课程编码、班型、价格表、有效期、赠课规则报价和合同可正确引用价格
优惠规则初始化折扣、满减、优惠券、老带新、多科联报和组合包规则规则编码、叠加互斥、适用课程、校区、有效期、审批阈值报价单可正确计算并生成分摊明细
合同模板配置多个统一电子合同模板模板编号、适用课程、条款变量、签署人规则合同生成内容完整且可签署
审批规则配置优惠、退费、转课、导出、薪资、课消撤销审批流审批对象、条件、节点、超时提醒测试单据可进入正确审批链
财务科目配置收款、预收、课消收入、退费、薪资、报销和内置科目映射科目、辅助核算、校区、项目、部门凭证可生成并写入测试账套
多账套会计按校区初始化独立账套、会计期间、凭证字、科目和税务参数账套编码、法人主体、校区、期间、税种、申报模板校区账套可独立记账,总部可汇总和复核
权限闭环交付配置初始化补齐权限变更的实时生效、缓存刷新、影响用户提示、审计日志和回滚策略。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限组织树、角色授权、员工账号、权限诊断权限变更后用户重新进入页面、接口调用和导出均按新权限执行。
配置闭环交付配置初始化要求审批流与消息模板按业务类型、组织范围、版本号和启停状态统一配置,业务单据引用当时版本。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限审批配置、消息模板、业务单据详情历史单据按原版本追溯,新单据按当前启用版本执行。
安全基础交付配置初始化补齐逻辑删除、恢复审批、字段脱敏、临时授权和操作审计的公共规则。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限数据字典、审计日志、敏感操作审批所有可删除对象具备 is_deleted、deleted_at、deleted_by,并可审计。