01 · 模块定位
开放集成中心
第三方接口失败后系统可定位业务对象、查看失败原因、发起重试并更新业务状态。业务目标
连接微信生态、支付、电子签、发票、国税核验、监管平台、人脸设备、教室摄像头和开放 API。
使用终端
PC Web 集成管理台,Webhook、开放 API、异步任务与第三方回执。
验收主线
第三方接口失败后系统可定位业务对象、查看失败原因、发起重试并更新业务状态。
02 · 范围边界
明确本模块负责什么、依赖什么、不负责什么
边界清晰后,原型、接口和数据库设计才能避免重复建设。模块内范围
- 集成配置
- 接口日志
- Webhook
- 失败重试
- 回执文件
- 开放 API
- 直播供应商接入
上游依赖
- 组织校区与账号权限
- 课程/客户/合同等主数据
- 审批流、消息模板、文件中心
- 必要的第三方接口密钥
下游输出
- 业务状态和待办
- 消息通知和审批记录
- 报表指标和数据快照
- 审计日志和接口回执
03 · 确认口径、后台配置与默认实施规则
开放集成中心必须承接的已确认规则
本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。| 分类 | 事项 | 本模块落地要求 | 责任方 |
|---|---|---|---|
| 已确认口径 | 国税官方发票核验接口 | 确认具备官方发票核验接入能力;迪诺学堂按校区维护调用主体、纳税人识别号、官方接口编码/授权凭证、核验额度、接口地址、启用状态和审计留痕。 | 产品/财务/技术 |
| 已确认口径 | 视频平台范围 | 远程巡课和督课支持海康威视、宇视两类已有视频平台;其他平台地址、账号、协议参数、门店网关、集中机房存储、录像保留 90 天循环覆盖均做后台配置。 | 产品/技术/信息化 |
| 已确认口径 | 校区地图点位与设备清单 | 校区经纬度、校区大头钉、摄像头编码、品牌、教室、平台/网关关系、在线状态、设备总数均由后台动态维护,不作为静态初始化一次性数据。 | 产品/运营/信息化 |
| 后台配置项 | 视频平台配置 | 配置 vendorCode=HIKVISION/UNIVIEW、platformCode、apiEndpoint、authConfig、storageCenter、retentionDays、gatewayCode、accessMode 和同步计划。 | 信息化/运维 |
| 默认实施规则 | 直播供应商启用配置模型 | 阿里云、腾讯云、七牛云共用一套直播能力配置;后台启用哪家即教学直播、招生公开课直播、集团会议直播统一使用哪家。 | 产品/研发/运维 |
| 默认实施规则 | 接口设计说明书组织方式 | 采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。 | 产品/研发 |
| 默认实施规则 | 接口错误码与重试中间件 | 所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。 | 后端/测试/运维 |
04 · 业务流程
开放集成中心主流程
流程用于指导原型图的页面顺序、按钮状态和异常分支。集成配置需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
接口日志需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
Webhook需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
失败重试需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
回执文件与合同、收款、课消、退费等业务对象关联
开放 API需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
直播供应商接入需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
05 · 功能清单
按子模块拆到可设计、可开发、可测试的颗粒度
每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。| 一级功能 | 二级功能 | 功能说明 | 规则/验收 |
|---|---|---|---|
| 集成配置 | 集成配置与运维 | 集成配置支持配置、验签、查看日志、重试、归档、告警和人工关闭。 | 请求、响应、业务对象、幂等键和回执文件必须留痕 |
| 集成配置 | 业务处理 | 集成配置需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 集成配置 | 异常闭环 | 签名失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 接口日志 | 集成配置与运维 | 接口日志支持配置、验签、查看日志、重试、归档、告警和人工关闭。 | 请求、响应、业务对象、幂等键和回执文件必须留痕 |
| 接口日志 | 业务处理 | 接口日志需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 接口日志 | 异常闭环 | 重复回调处理 | 失败原因可见、可重试、可转人工、可追溯 |
| Webhook | 集成配置与运维 | Webhook支持配置、验签、查看日志、重试、归档、告警和人工关闭。 | 请求、响应、业务对象、幂等键和回执文件必须留痕 |
| Webhook | 业务处理 | Webhook需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| Webhook | 异常闭环 | 第三方限流处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 失败重试 | 集成配置与运维 | 失败重试支持配置、验签、查看日志、重试、归档、告警和人工关闭。 | 请求、响应、业务对象、幂等键和回执文件必须留痕 |
| 失败重试 | 业务处理 | 失败重试需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 失败重试 | 异常闭环 | 签名失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 回执文件 | 集成配置与运维 | 回执文件支持配置、验签、查看日志、重试、归档、告警和人工关闭。 | 请求、响应、业务对象、幂等键和回执文件必须留痕 |
| 回执文件 | 业务处理 | 回执文件与合同、收款、课消、退费等业务对象关联 | 必须联动状态、权限、消息、审批和指标 |
| 回执文件 | 异常闭环 | 重复回调处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 开放 API | 集成配置与运维 | 开放 API支持配置、验签、查看日志、重试、归档、告警和人工关闭。 | 请求、响应、业务对象、幂等键和回执文件必须留痕 |
| 开放 API | 业务处理 | 开放 API需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 开放 API | 异常闭环 | 第三方限流处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 直播供应商接入 | 集成配置与运维 | 直播供应商接入支持配置、验签、查看日志、重试、归档、告警和人工关闭。 | 请求、响应、业务对象、幂等键和回执文件必须留痕 |
| 直播供应商接入 | 业务处理 | 直播供应商接入需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 直播供应商接入 | 异常闭环 | 签名失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
功能到数据对象/接口/表映射
| 功能域 | 承接对象 | 核心表 | 代表接口 | 状态机/状态字段 | 研发落地校验 |
|---|---|---|---|---|---|
| 集成配置 | IntegrationSystemConfig、ApiCredential、IntegrationLog、Webhook | int_system_config、int_api_credential、int_integration_log、int_webhook_event | 接口资源组 /api/v1/open/features/01 | system_type、biz_type、call_status、event_type、consume_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 接口日志 | IntegrationSystemConfig、ApiCredential、IntegrationLog、Webhook | int_system_config、int_api_credential、int_integration_log、int_webhook_event | 接口资源组 /api/v1/open/features/02 | system_type、biz_type、call_status、event_type、consume_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| Webhook | Webhook | int_webhook_event | 接口资源组 /api/v1/open/features/03 | event_type、biz_type、consume_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 失败重试 | RetryTask | int_retry_task | 接口资源组 /api/v1/open/features/04 | biz_type、task_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 回执文件 | IntegrationSystemConfig、ApiCredential、IntegrationLog、Webhook | int_system_config、int_api_credential、int_integration_log、int_webhook_event | 接口资源组 /api/v1/open/features/05 | system_type、biz_type、call_status、event_type、consume_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 开放 API | IntegrationSystemConfig、ApiCredential、IntegrationLog、Webhook | int_system_config、int_api_credential、int_integration_log、int_webhook_event | POST /api/v1/open/logs/{bizNo}/retry | system_type、biz_type、call_status、event_type、consume_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 直播供应商接入 | IntegrationSystemConfig、ApiCredential、IntegrationLog、Webhook | int_system_config、int_api_credential、int_integration_log、int_webhook_event | 接口资源组 /api/v1/open/features/07 | system_type、biz_type、call_status、event_type、consume_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
06 · 原子级功能需求
用于研发任务拆分和测试用例追踪
需求编号可直接进入项目管理工具。| 编号 | 需求描述 | 入口页面 | 关键动作 | 输入校验 | 输出结果 | 异常处理 | 验收标准 |
|---|---|---|---|---|---|---|---|
| FR-OPEN-001 | 统一管理第三方系统账号、密钥、回调地址和状态 | 监管报送回执 | 配置接口 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 签名失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-OPEN-002 | 接口调用记录请求、响应、业务对象、状态和耗时 | 接口日志 | 验签回调 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 重复回调 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-OPEN-003 | 失败任务支持重试、人工处理、忽略和告警 | Webhook | 查看日志 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 第三方限流 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-OPEN-004 | 回执文件与合同、收款、课消、退费等业务对象关联 | 补偿任务 | 失败重试 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 签名失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-OPEN-005 | 提供客户、学员、课程、资源、订单、课消和财务开放能力 | 集成配置 | 归档回执 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 重复回调 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-OPEN-006 | 开放集成中心需统一承载短链域名、国税核验调用日志、付款补偿回执、视频维修工单回执和第三方异常重试配置。 | 采购对账付款 | 采购对账、采购付款或凭证归档 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 对账不平、付款失败或凭证缺失 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
07 · 关联闭环补充需求
开放集成中心在跨模块闭环中的责任边界
本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。| 闭环项 | 本模块责任 | 关键场景 | 页面/功能补充 | 关联对象/接口 | 验收口径 |
|---|---|---|---|---|---|
| 国税主体配置 | 提供国税发票核验接口配置、凭证管理、请求日志、回执归档和失败重试 | 不同校区使用不同纳税主体调用国税核验能力 | 国税接口配置、接口日志、回执详情、失败重试 | ExpenseReport/InvoiceVerification、IntegrationLog/Webhook | 接口日志必须展示主体、编码、请求、响应、耗时和错误码 |
| 活码短链 | 提供短链跳转、扫码落地、风控、限流、目标解析和访问日志能力 | 外部 H5、海报二维码和课程资源二维码统一访问 | 短链服务、扫码日志、目标解析、风控配置 | LiveQrCode/ScanRecord、IntegrationLog/Webhook | 短链访问必须可追踪来源、目标版本和异常拦截原因 |
| 统一付款补偿 | 为支付、退款、付款和回调提供统一异步任务、幂等键、补偿和告警框架 | 第三方回调失败、网络超时、重复通知和人工补偿 | 集成任务、Webhook 日志、补偿任务、告警配置 | IntegrationLog/Webhook、FinanceVoucher | 资金类回调必须验签、去重、可重试和可人工关闭 |
08 · 页面与原型设计说明
页面清单、布局要求、按钮字段和状态
原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。| 终端 | 页面 | 用户 | 页面目标 | 布局结构 | 关键按钮 | 关键字段 | 异常状态 | 原型备注 |
|---|---|---|---|---|---|---|---|---|
| PC Web | 监管报送回执 | 财务/系统管理员 | 查看报送状态、回执、失败重报 | 集成页按接口、业务单号、状态和时间检索,详情抽屉展示请求、响应、验签、重试、回执文件和关联单据。 | 查询日志、查看请求、查看响应、失败重试、人工关闭、下载回执、配置告警 | 接口名称、业务单号、幂等键、请求耗时、状态码、重试次数、回执文件、错误码、请求方向、回执状态 | 验签失败、接口超时、回执缺失、重复回调、重试失败、人工关闭需审批 | 需覆盖统一错误码、失败重试、幂等去重、Webhook 回调、监管回执和接口审计。 建议 Figma Frame:OPEN-监管报送回执;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 接口日志 | 系统管理员 | 检索接口、业务单号、请求响应、重试 | 集成页按接口、业务单号、状态和时间检索,详情抽屉展示请求、响应、验签、重试、回执文件和关联单据。 | 查询日志、查看请求、查看响应、失败重试、人工关闭、下载回执、配置告警 | 接口名称、业务单号、幂等键、请求耗时、状态码、重试次数、回执文件、错误码、请求方向、回执状态 | 验签失败、接口超时、回执缺失、重复回调、重试失败、人工关闭需审批 | 需覆盖统一错误码、失败重试、幂等去重、Webhook 回调、监管回执和接口审计。 建议 Figma Frame:OPEN-接口日志;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/开放接口 | Webhook | 系统管理员/集成运维 | 围绕接口规范完善Webhook的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、配置接口、验签回调 | 接口名称、业务单号、请求方向、幂等键、请求耗时、回执状态、重试次数、错误码 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:OPEN-webhook;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/开放接口 | 补偿任务 | 系统管理员/集成运维 | 围绕接口规范完善补偿任务的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、配置接口、验签回调 | 接口名称、业务单号、请求方向、幂等键、请求耗时、回执状态、重试次数、错误码 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:OPEN-补偿任务;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/开放接口 | 集成配置 | 系统管理员/集成运维 | 围绕外部能力完善集成配置的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、配置接口、验签回调 | 接口名称、业务单号、请求方向、幂等键、请求耗时、回执状态、重试次数、错误码 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:OPEN-集成配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/开放接口 | 健康检查 | 系统管理员/集成运维 | 围绕外部能力完善健康检查的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、配置接口、验签回调 | 接口名称、业务单号、请求方向、幂等键、请求耗时、回执状态、重试次数、错误码 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:OPEN-健康检查;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/开放接口 | 调用日志 | 系统管理员/集成运维 | 围绕外部能力完善调用日志的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、配置接口、验签回调 | 接口名称、业务单号、请求方向、幂等键、请求耗时、回执状态、重试次数、错误码 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:OPEN-调用日志;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/开放接口 | 回执详情 | 系统管理员/集成运维 | 围绕回执归档完善回执详情的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、配置接口、验签回调 | 接口名称、业务单号、请求方向、幂等键、请求耗时、回执状态、重试次数、错误码 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:OPEN-回执详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/开放接口 | 业务单据 | 系统管理员/集成运维 | 围绕回执归档完善业务单据的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、配置接口、验签回调 | 接口名称、业务单号、请求方向、幂等键、请求耗时、回执状态、重试次数、错误码 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:OPEN-业务单据;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/开放接口 | 文件中心 | 系统管理员/集成运维 | 围绕回执归档完善文件中心的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、配置接口、验签回调 | 接口名称、业务单号、请求方向、幂等键、请求耗时、回执状态、重试次数、错误码 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:OPEN-文件中心;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
09 · 页面到接口的前后端闭环矩阵
把原型页面、后端接口、数据对象、状态和消息审批绑定到一起
设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。| 原型页面 | 关键接口 | 关联对象 | 状态流 | 审批/权限触发 | 消息/待办触达 | 原型验收要求 |
|---|---|---|---|---|---|---|
| 监管报送回执 | POST/GET /api/v1/open/integrations | IntegrationSystemConfig | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 接口日志 | POST /api/v1/open/webhooks | ApiCredential | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| Webhook | POST /api/v1/open/logs/{bizNo}/retry | IntegrationLog | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 补偿任务 | POST/GET /api/v1/open/integrations | Webhook | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 集成配置 | POST /api/v1/open/webhooks | RetryTask | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 健康检查 | POST /api/v1/open/logs/{bizNo}/retry | IntegrationSystemConfig | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 调用日志 | POST/GET /api/v1/open/integrations | ApiCredential | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 回执详情 | POST /api/v1/open/webhooks | IntegrationLog | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 业务单据 | POST /api/v1/open/logs/{bizNo}/retry | Webhook | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 文件中心 | POST/GET /api/v1/open/integrations | RetryTask | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 集团会议直播发布审批:会议范围包含全集团、跨区域或敏感经营主题 | 处理完成、失败和异常转人工均需触发站内通知或待办 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
10 · 原型、UI、研发、测试交付补充
把关键闭环补强为下一阶段可执行任务
本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。| 能力域 | 功能补充要求 | 原型交付要求 | UI 交互要求 | 研发实现要求 | 测试验收要求 |
|---|---|---|---|---|---|
| 接口规范 | 补齐接口日志、错误码映射、重试策略、回调去重、人工关闭审批和告警。 | 接口日志、Webhook、补偿任务 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;任一接口失败可按业务单号追踪到请求、响应和处理结果。 |
| 外部能力 | 补齐系统配置、密钥、回调地址、请求主体、启停状态、健康检查和审计。 | 集成配置、健康检查、调用日志 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;更换配置无需改代码,调用日志可追踪主体和凭证版本。 |
| 回执归档 | 补齐回执归档、下载权限、关联单据、失败重试和有效期。 | 回执详情、业务单据、文件中心 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;业务单据能看到外部回执状态和文件。 |
11 · 数据对象与字段字典
明确页面、接口、数据库共同使用的数据语言
字段涉及敏感、人脸、财务、绩效时,原型需体现脱敏、授权和审计。核心对象
| 对象 | 说明 |
|---|---|
| IntegrationSystemConfig | 外部系统和供应商配置;落地表:int_system_config |
| ApiCredential | 接口密钥和授权配置;落地表:int_api_credential |
| IntegrationLog | 接口调用日志;落地表:int_integration_log |
| Webhook | 回调事件去重和消费;落地表:int_webhook_event |
| RetryTask | 失败重试和补偿任务;落地表:int_retry_task |
关联引用对象
| 对象 | 说明 |
|---|---|
| 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 |
| SensitiveFieldPolicy | 敏感字段脱敏策略;引用来源:SEC / sec_sensitive_field_policy |
| CampusProfile | 校区档案、经纬度和监管基础信息;引用来源:FND / sys_campus_profile |
| InvoiceVerification | 国税官方发票核验;引用来源:FIN / exp_invoice_verification |
| LiveProviderConfig | 直播供应商配置;引用来源:LIVE / live_provider_config |
| VideoPlatformConfig | 海康威视/宇视视频平台配置;引用来源:PAT / video_platform_config |
| SupervisionAccount | 合同、收款、课消、退费监管报送;引用来源:CON / con_supervision_report |
完整字段字典
| 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|
| IntegrationSystemConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| IntegrationSystemConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| IntegrationSystemConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| IntegrationSystemConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| IntegrationSystemConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| IntegrationSystemConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| IntegrationSystemConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| IntegrationSystemConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| IntegrationSystemConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| IntegrationSystemConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| IntegrationSystemConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| IntegrationSystemConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| IntegrationSystemConfig | system_code | VARCHAR(64) | 是 | 系统编码,唯一 | 普通 |
| IntegrationSystemConfig | system_name | VARCHAR(128) | 是 | 系统名称 | 普通 |
| IntegrationSystemConfig | system_type | VARCHAR(32) | 是 | 监管/支付/电子签/直播/视频/国税/设备 | 普通 |
| IntegrationSystemConfig | base_url | VARCHAR(512) | 否 | 接口基础地址 | 普通 |
| IntegrationSystemConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| ApiCredential | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ApiCredential | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ApiCredential | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ApiCredential | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ApiCredential | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ApiCredential | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ApiCredential | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ApiCredential | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ApiCredential | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ApiCredential | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ApiCredential | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ApiCredential | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ApiCredential | credential_no | VARCHAR(64) | 是 | 凭证编号,唯一 | 普通 |
| ApiCredential | system_id | BIGINT | 是 | 系统配置 ID | 普通 |
| ApiCredential | scope_org_id | BIGINT | 否 | 适用组织/校区 | 普通 |
| ApiCredential | credential_payload | JSON | 是 | 密钥、证书、编码等加密引用 | 高敏 |
| ApiCredential | valid_until | DATETIME | 否 | 有效期 | 普通 |
| ApiCredential | enabled | TINYINT | 是 | 是否启用 | 普通 |
| IntegrationLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| IntegrationLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| IntegrationLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| IntegrationLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| IntegrationLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| IntegrationLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| IntegrationLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| IntegrationLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| IntegrationLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| IntegrationLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| IntegrationLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| IntegrationLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| IntegrationLog | request_id | VARCHAR(128) | 是 | 请求 ID,幂等键 | 普通 |
| IntegrationLog | system_code | VARCHAR(64) | 是 | 外部系统编码 | 普通 |
| IntegrationLog | api_path | VARCHAR(512) | 是 | 接口路径 | 普通 |
| IntegrationLog | biz_type | VARCHAR(64) | 否 | 业务类型 | 普通 |
| IntegrationLog | biz_id | BIGINT | 否 | 业务 ID | 普通 |
| IntegrationLog | request_payload | JSON | 否 | 请求报文,敏感字段脱敏 | 敏感 |
| IntegrationLog | response_payload | JSON | 否 | 响应报文 | 普通 |
| IntegrationLog | call_status | VARCHAR(32) | 是 | 成功/失败/超时/重试中 | 普通 |
| Webhook | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| Webhook | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| Webhook | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| Webhook | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| Webhook | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| Webhook | created_at | DATETIME | 是 | 创建时间 | 普通 |
| Webhook | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| Webhook | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| Webhook | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| Webhook | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| Webhook | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| Webhook | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| Webhook | event_id | VARCHAR(128) | 是 | 外部事件 ID | 普通 |
| Webhook | system_code | VARCHAR(64) | 是 | 来源系统 | 普通 |
| Webhook | event_type | VARCHAR(64) | 是 | 事件类型 | 普通 |
| Webhook | biz_type | VARCHAR(64) | 否 | 业务类型 | 普通 |
| Webhook | biz_id | BIGINT | 否 | 业务 ID | 普通 |
| Webhook | raw_payload | JSON | 是 | 原始回调报文 | 普通 |
| Webhook | consume_status | VARCHAR(32) | 是 | 待消费/成功/失败/重复 | 普通 |
| RetryTask | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| RetryTask | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| RetryTask | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| RetryTask | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| RetryTask | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| RetryTask | created_at | DATETIME | 是 | 创建时间 | 普通 |
| RetryTask | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| RetryTask | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| RetryTask | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| RetryTask | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| RetryTask | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| RetryTask | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| RetryTask | task_no | VARCHAR(64) | 是 | 重试任务编号,唯一 | 普通 |
| RetryTask | system_code | VARCHAR(64) | 是 | 系统编码 | 普通 |
| RetryTask | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| RetryTask | biz_id | BIGINT | 是 | 业务 ID | 普通 |
| RetryTask | retry_count | INT | 是 | 已重试次数 | 普通 |
| RetryTask | next_retry_at | DATETIME | 是 | 下次重试时间 | 普通 |
| RetryTask | task_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 | 普通 |
| 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 | 是 | 是否加水印 | 普通 |
| sys_campus_profile | CampusProfile | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_campus_profile | CampusProfile | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_campus_profile | CampusProfile | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_campus_profile | CampusProfile | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_campus_profile | CampusProfile | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_campus_profile | CampusProfile | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_campus_profile | CampusProfile | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_campus_profile | CampusProfile | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_campus_profile | CampusProfile | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_campus_profile | CampusProfile | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_campus_profile | CampusProfile | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_campus_profile | CampusProfile | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_campus_profile | CampusProfile | campus_code | VARCHAR(64) | 是 | 校区编码,唯一 | 普通 |
| sys_campus_profile | CampusProfile | campus_name | VARCHAR(128) | 是 | 校区名称 | 普通 |
| sys_campus_profile | CampusProfile | legal_entity_id | BIGINT | 否 | 所属法人主体 | 普通 |
| sys_campus_profile | CampusProfile | address | VARCHAR(255) | 否 | 校区地址 | 普通 |
| sys_campus_profile | CampusProfile | longitude | DECIMAL(12,8) | 否 | 地图经度,后台动态配置 | 普通 |
| sys_campus_profile | CampusProfile | latitude | DECIMAL(12,8) | 否 | 地图纬度,后台动态配置 | 普通 |
| sys_campus_profile | CampusProfile | business_hours | JSON | 否 | 营业时间配置 | 普通 |
| exp_invoice_verification | InvoiceVerification | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| exp_invoice_verification | InvoiceVerification | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| exp_invoice_verification | InvoiceVerification | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| exp_invoice_verification | InvoiceVerification | campus_id | BIGINT | 是 | 所属校区,跨校区或总部级数据为空;本表业务要求必填 | 普通 |
| exp_invoice_verification | InvoiceVerification | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| exp_invoice_verification | InvoiceVerification | created_at | DATETIME | 是 | 创建时间 | 普通 |
| exp_invoice_verification | InvoiceVerification | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| exp_invoice_verification | InvoiceVerification | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| exp_invoice_verification | InvoiceVerification | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| exp_invoice_verification | InvoiceVerification | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| exp_invoice_verification | InvoiceVerification | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| exp_invoice_verification | InvoiceVerification | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| exp_invoice_verification | InvoiceVerification | verification_no | VARCHAR(64) | 是 | 核验编号,唯一 | 普通 |
| exp_invoice_verification | InvoiceVerification | tax_subject_id | BIGINT | 是 | 税务主体配置 ID | 普通 |
| exp_invoice_verification | InvoiceVerification | official_app_code | VARCHAR(128) | 是 | 国税接口主体/编码配置 | 普通 |
| exp_invoice_verification | InvoiceVerification | invoice_id | BIGINT | 是 | 发票 ID | 普通 |
| exp_invoice_verification | InvoiceVerification | official_payload | JSON | 是 | 官方请求参数 | 普通 |
| exp_invoice_verification | InvoiceVerification | official_receipt | JSON | 否 | 官方核验回执 | 普通 |
| exp_invoice_verification | InvoiceVerification | verification_status | VARCHAR(32) | 是 | 待核验/通过/不通过/异常/重试中 | 普通 |
| live_provider_config | LiveProviderConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| live_provider_config | LiveProviderConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| live_provider_config | LiveProviderConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| live_provider_config | LiveProviderConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| live_provider_config | LiveProviderConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| live_provider_config | LiveProviderConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| live_provider_config | LiveProviderConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| live_provider_config | LiveProviderConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| live_provider_config | LiveProviderConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| live_provider_config | LiveProviderConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| live_provider_config | LiveProviderConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| live_provider_config | LiveProviderConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| live_provider_config | LiveProviderConfig | provider_code | VARCHAR(32) | 是 | ALIYUN/TENCENT/QINIU | 普通 |
| live_provider_config | LiveProviderConfig | provider_name | VARCHAR(128) | 是 | 供应商名称 | 普通 |
| live_provider_config | LiveProviderConfig | app_id | VARCHAR(128) | 是 | 供应商应用 ID | 普通 |
| live_provider_config | LiveProviderConfig | secret_ref | VARCHAR(128) | 是 | 密钥引用,密钥中心加密存储 | 高敏 |
| live_provider_config | LiveProviderConfig | domain_config | JSON | 是 | 推流、播流、回调域名配置 | 普通 |
| live_provider_config | LiveProviderConfig | storage_config | JSON | 是 | 录制存储位置配置 | 普通 |
| live_provider_config | LiveProviderConfig | enabled | TINYINT | 是 | 是否为当前启用供应商 | 普通 |
| video_platform_config | VideoPlatformConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| video_platform_config | VideoPlatformConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| video_platform_config | VideoPlatformConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| video_platform_config | VideoPlatformConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| video_platform_config | VideoPlatformConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| video_platform_config | VideoPlatformConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| video_platform_config | VideoPlatformConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| video_platform_config | VideoPlatformConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| video_platform_config | VideoPlatformConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| video_platform_config | VideoPlatformConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| video_platform_config | VideoPlatformConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| video_platform_config | VideoPlatformConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| video_platform_config | VideoPlatformConfig | platform_code | VARCHAR(64) | 是 | 平台编码,唯一 | 普通 |
| video_platform_config | VideoPlatformConfig | vendor_code | VARCHAR(32) | 是 | HIKVISION/UNIVIEW | 普通 |
| video_platform_config | VideoPlatformConfig | platform_name | VARCHAR(128) | 是 | 平台名称 | 普通 |
| video_platform_config | VideoPlatformConfig | api_base_url | VARCHAR(512) | 是 | 接口地址 | 普通 |
| video_platform_config | VideoPlatformConfig | auth_config | JSON | 是 | 鉴权参数,密钥加密存储 | 高敏 |
| video_platform_config | VideoPlatformConfig | record_retention_days | INT | 是 | 录像保留天数,默认 90 | 普通 |
| video_platform_config | VideoPlatformConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| con_supervision_report | SupervisionAccount | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| con_supervision_report | SupervisionAccount | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| con_supervision_report | SupervisionAccount | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| con_supervision_report | SupervisionAccount | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| con_supervision_report | SupervisionAccount | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| con_supervision_report | SupervisionAccount | created_at | DATETIME | 是 | 创建时间 | 普通 |
| con_supervision_report | SupervisionAccount | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| con_supervision_report | SupervisionAccount | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| con_supervision_report | SupervisionAccount | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| con_supervision_report | SupervisionAccount | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| con_supervision_report | SupervisionAccount | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| con_supervision_report | SupervisionAccount | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| con_supervision_report | SupervisionAccount | report_no | VARCHAR(64) | 是 | 报送编号,唯一 | 普通 |
| con_supervision_report | SupervisionAccount | biz_type | VARCHAR(64) | 是 | 合同/收款/课消/退费 | 普通 |
| con_supervision_report | SupervisionAccount | biz_id | BIGINT | 是 | 业务 ID | 普通 |
| con_supervision_report | SupervisionAccount | platform_code | VARCHAR(64) | 是 | 监管平台编码 | 普通 |
| con_supervision_report | SupervisionAccount | payload_json | JSON | 是 | 报送报文 | 普通 |
| con_supervision_report | SupervisionAccount | receipt_json | JSON | 否 | 回执报文 | 普通 |
| con_supervision_report | SupervisionAccount | report_status | VARCHAR(32) | 是 | 待报送/成功/失败/重试中 | 普通 |
JSON 字段结构与校验
| 表名 | 对象 | 字段 | 结构编码 | 结构定义 | 校验规则 | 示例 |
|---|---|---|---|---|---|---|
| int_api_credential | ApiCredential | credential_payload | SUPERVISION_PAYLOAD | {bizType:string, contractNo:string, amount:number, student:object, attachments:number[]} | 报送字段必须满足教育局/监管账户配置的必填规则 | {"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800} |
| int_integration_log | IntegrationLog | request_payload | SUPERVISION_PAYLOAD | {bizType:string, contractNo:string, amount:number, student:object, attachments:number[]} | 报送字段必须满足教育局/监管账户配置的必填规则 | {"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800} |
| int_integration_log | IntegrationLog | response_payload | SUPERVISION_PAYLOAD | {bizType:string, contractNo:string, amount:number, student:object, attachments:number[]} | 报送字段必须满足教育局/监管账户配置的必填规则 | {"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800} |
| int_webhook_event | Webhook | raw_payload | SUPERVISION_PAYLOAD | {bizType:string, contractNo:string, amount:number, student:object, attachments:number[]} | 报送字段必须满足教育局/监管账户配置的必填规则 | {"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800} |
状态/枚举标准字典
| 表名 | 对象 | 字段 | 枚举编码 | 取值 | 终态/流转规则 | 字段说明 |
|---|---|---|---|---|---|---|
| int_system_config | IntegrationSystemConfig | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| int_system_config | IntegrationSystemConfig | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| int_system_config | IntegrationSystemConfig | system_type | SYSTEM_TYPE | 监管、支付、电子签、直播、视频、国税、设备 | 非终态,可按状态机或字典规则流转 | 监管/支付/电子签/直播/视频/国税/设备 |
| int_system_config | IntegrationSystemConfig | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| int_api_credential | ApiCredential | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| int_api_credential | ApiCredential | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| int_api_credential | ApiCredential | scope_org_id | SCOPE_ORG_ID | 适用组织、校区 | 非终态,可按状态机或字典规则流转 | 适用组织/校区 |
| int_api_credential | ApiCredential | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| int_integration_log | IntegrationLog | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| int_integration_log | IntegrationLog | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| int_integration_log | IntegrationLog | biz_type | BIZ_TYPE | LEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资 | 非终态,可按状态机或字典规则流转 | 业务类型 |
| int_integration_log | IntegrationLog | call_status | CALL_STATUS | 成功、失败、超时、重试中 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 成功/失败/超时/重试中 |
| int_webhook_event | Webhook | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| int_webhook_event | Webhook | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| int_webhook_event | Webhook | event_type | EVENT_TYPE | CREATED 新增、UPDATED 更新、DELETED 删除、STATUS_CHANGED 状态变化、CALLBACK_RECEIVED 回调收到、PAYMENT_SUCCESS 支付成功、RECORDING_READY 录制完成、DEVICE_OFFLINE 设备离线 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 事件类型 |
| int_webhook_event | Webhook | biz_type | BIZ_TYPE | LEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资 | 非终态,可按状态机或字典规则流转 | 业务类型 |
| int_webhook_event | Webhook | consume_status | CONSUME_STATUS | 待消费、成功、失败、重复 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待消费/成功/失败/重复 |
| int_retry_task | RetryTask | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| int_retry_task | RetryTask | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| int_retry_task | RetryTask | biz_type | BIZ_TYPE | LEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资 | 非终态,可按状态机或字典规则流转 | 业务类型 |
| int_retry_task | RetryTask | task_status | TASK_STATUS | 待重试、成功、失败、终止 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待重试/成功/失败/终止 |
敏感字段与数据安全策略
| 来源 | 表名 | 对象 | 字段 | 数据级别 | 脱敏/返回策略 | 明文查看条件 | 导出策略 | 审计要求 | 端侧展示规则 |
|---|---|---|---|---|---|---|---|---|---|
| 本模块对象 | int_api_credential | ApiCredential | credential_no | 普通 | NEVER_RETURN | 禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用 | 禁止导出;配置导出只允许导出脱敏引用和启停状态 | 配置新增、修改、启停、轮换和失败读取均记录安全审计 | 前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值 |
| 本模块对象 | int_api_credential | ApiCredential | credential_payload | 高敏 | NEVER_RETURN | 禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用 | 禁止导出;配置导出只允许导出脱敏引用和启停状态 | 配置新增、修改、启停、轮换和失败读取均记录安全审计 | 前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值 |
| 本模块对象 | int_integration_log | IntegrationLog | request_payload | 敏感 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 本模块对象 | int_integration_log | IntegrationLog | response_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 本模块对象 | int_webhook_event | Webhook | raw_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | sys_user | User/Employee | mobile | 敏感 | MOBILE_MASK | 默认展示 138****0000;明文查看需字段权限或敏感字段查看审批 | 导出手机号必须触发导出审批、下载水印和有效期控制 | 明文查看、复制、导出和批量下载均写入 SensitiveAccessLog | PC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息 |
| 引用对象 | sys_user | User/Employee | password_hash | 高敏 | NEVER_RETURN | 禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用 | 禁止导出;配置导出只允许导出脱敏引用和启停状态 | 配置新增、修改、启停、轮换和失败读取均记录安全审计 | 前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值 |
| 引用对象 | sec_sensitive_field_policy | SensitiveFieldPolicy | mask_rule | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | exp_invoice_verification | InvoiceVerification | invoice_id | 普通 | TAX_INVOICE_MASK | 默认按税号/发票号局部脱敏;发票原图、OCR 结果和国税回执按财务权限查看 | 财务导出需审批并加水印;国税官方回执随业务单归档 | OCR、核验、查重、人工校正、导出和付款阻断均留痕 | 移动端可上传和查看本人报销结果,不展示其他人员票据明文 |
| 引用对象 | exp_invoice_verification | InvoiceVerification | official_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | live_provider_config | LiveProviderConfig | secret_ref | 高敏 | NEVER_RETURN | 禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用 | 禁止导出;配置导出只允许导出脱敏引用和启停状态 | 配置新增、修改、启停、轮换和失败读取均记录安全审计 | 前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值 |
| 引用对象 | video_platform_config | VideoPlatformConfig | auth_config | 高敏 | NEVER_RETURN | 禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用 | 禁止导出;配置导出只允许导出脱敏引用和启停状态 | 配置新增、修改、启停、轮换和失败读取均记录安全审计 | 前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值 |
| 引用对象 | con_supervision_report | SupervisionAccount | payload_json | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
核心数据表完整字段
| 表名 | 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|---|
| int_system_config | IntegrationSystemConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| int_system_config | IntegrationSystemConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| int_system_config | IntegrationSystemConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| int_system_config | IntegrationSystemConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| int_system_config | IntegrationSystemConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| int_system_config | IntegrationSystemConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| int_system_config | IntegrationSystemConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| int_system_config | IntegrationSystemConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| int_system_config | IntegrationSystemConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| int_system_config | IntegrationSystemConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| int_system_config | IntegrationSystemConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| int_system_config | IntegrationSystemConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| int_system_config | IntegrationSystemConfig | system_code | VARCHAR(64) | 是 | 系统编码,唯一 | 普通 |
| int_system_config | IntegrationSystemConfig | system_name | VARCHAR(128) | 是 | 系统名称 | 普通 |
| int_system_config | IntegrationSystemConfig | system_type | VARCHAR(32) | 是 | 监管/支付/电子签/直播/视频/国税/设备 | 普通 |
| int_system_config | IntegrationSystemConfig | base_url | VARCHAR(512) | 否 | 接口基础地址 | 普通 |
| int_system_config | IntegrationSystemConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| int_api_credential | ApiCredential | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| int_api_credential | ApiCredential | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| int_api_credential | ApiCredential | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| int_api_credential | ApiCredential | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| int_api_credential | ApiCredential | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| int_api_credential | ApiCredential | created_at | DATETIME | 是 | 创建时间 | 普通 |
| int_api_credential | ApiCredential | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| int_api_credential | ApiCredential | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| int_api_credential | ApiCredential | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| int_api_credential | ApiCredential | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| int_api_credential | ApiCredential | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| int_api_credential | ApiCredential | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| int_api_credential | ApiCredential | credential_no | VARCHAR(64) | 是 | 凭证编号,唯一 | 普通 |
| int_api_credential | ApiCredential | system_id | BIGINT | 是 | 系统配置 ID | 普通 |
| int_api_credential | ApiCredential | scope_org_id | BIGINT | 否 | 适用组织/校区 | 普通 |
| int_api_credential | ApiCredential | credential_payload | JSON | 是 | 密钥、证书、编码等加密引用 | 高敏 |
| int_api_credential | ApiCredential | valid_until | DATETIME | 否 | 有效期 | 普通 |
| int_api_credential | ApiCredential | enabled | TINYINT | 是 | 是否启用 | 普通 |
| 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) | 是 | 成功/失败/超时/重试中 | 普通 |
| int_webhook_event | Webhook | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| int_webhook_event | Webhook | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| int_webhook_event | Webhook | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| int_webhook_event | Webhook | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| int_webhook_event | Webhook | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| int_webhook_event | Webhook | created_at | DATETIME | 是 | 创建时间 | 普通 |
| int_webhook_event | Webhook | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| int_webhook_event | Webhook | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| int_webhook_event | Webhook | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| int_webhook_event | Webhook | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| int_webhook_event | Webhook | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| int_webhook_event | Webhook | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| int_webhook_event | Webhook | event_id | VARCHAR(128) | 是 | 外部事件 ID | 普通 |
| int_webhook_event | Webhook | system_code | VARCHAR(64) | 是 | 来源系统 | 普通 |
| int_webhook_event | Webhook | event_type | VARCHAR(64) | 是 | 事件类型 | 普通 |
| int_webhook_event | Webhook | biz_type | VARCHAR(64) | 否 | 业务类型 | 普通 |
| int_webhook_event | Webhook | biz_id | BIGINT | 否 | 业务 ID | 普通 |
| int_webhook_event | Webhook | raw_payload | JSON | 是 | 原始回调报文 | 普通 |
| int_webhook_event | Webhook | consume_status | VARCHAR(32) | 是 | 待消费/成功/失败/重复 | 普通 |
| int_retry_task | RetryTask | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| int_retry_task | RetryTask | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| int_retry_task | RetryTask | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| int_retry_task | RetryTask | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| int_retry_task | RetryTask | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| int_retry_task | RetryTask | created_at | DATETIME | 是 | 创建时间 | 普通 |
| int_retry_task | RetryTask | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| int_retry_task | RetryTask | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| int_retry_task | RetryTask | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| int_retry_task | RetryTask | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| int_retry_task | RetryTask | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| int_retry_task | RetryTask | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| int_retry_task | RetryTask | task_no | VARCHAR(64) | 是 | 重试任务编号,唯一 | 普通 |
| int_retry_task | RetryTask | system_code | VARCHAR(64) | 是 | 系统编码 | 普通 |
| int_retry_task | RetryTask | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| int_retry_task | RetryTask | biz_id | BIGINT | 是 | 业务 ID | 普通 |
| int_retry_task | RetryTask | retry_count | INT | 是 | 已重试次数 | 普通 |
| int_retry_task | RetryTask | next_retry_at | DATETIME | 是 | 下次重试时间 | 普通 |
| int_retry_task | RetryTask | task_status | VARCHAR(32) | 是 | 待重试/成功/失败/终止 | 普通 |
数据表与对象映射
| 表名 | 对象 | 用途 | 完整字段 | 索引建议 |
|---|---|---|---|---|
| int_system_config | IntegrationSystemConfig | 外部系统和供应商配置 | 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,必填)、system_code(VARCHAR(64),必填)、system_name(VARCHAR(128),必填)、system_type(VARCHAR(32),必填)、base_url(VARCHAR(512))、enabled(TINYINT,必填) | uk_system_code、idx_type |
| int_api_credential | ApiCredential | 接口密钥和授权配置 | 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,必填)、credential_no(VARCHAR(64),必填)、system_id(BIGINT,必填)、scope_org_id(BIGINT)、credential_payload(JSON,必填)、valid_until(DATETIME)、enabled(TINYINT,必填) | uk_credential_no、idx_system_scope |
| int_integration_log | IntegrationLog | 接口调用日志 | 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,必填)、request_id(VARCHAR(128),必填)、system_code(VARCHAR(64),必填)、api_path(VARCHAR(512),必填)、biz_type(VARCHAR(64))、biz_id(BIGINT)、request_payload(JSON)、response_payload(JSON)、call_status(VARCHAR(32),必填) | uk_request_id、idx_system_status、idx_biz |
| int_webhook_event | Webhook | 回调事件去重和消费 | 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,必填)、event_id(VARCHAR(128),必填)、system_code(VARCHAR(64),必填)、event_type(VARCHAR(64),必填)、biz_type(VARCHAR(64))、biz_id(BIGINT)、raw_payload(JSON,必填)、consume_status(VARCHAR(32),必填) | uk_system_event、idx_biz_status |
| int_retry_task | RetryTask | 失败重试和补偿任务 | id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、task_no(VARCHAR(64),必填)、system_code(VARCHAR(64),必填)、biz_type(VARCHAR(64),必填)、biz_id(BIGINT,必填)、retry_count(INT,必填)、next_retry_at(DATETIME,必填)、task_status(VARCHAR(32),必填) | uk_task_no、idx_next_retry |
12 · 状态机与业务规则
约束业务对象如何流转、何时可编辑、何时触发审批
原型需要把状态标签、可操作按钮和禁用原因展示清楚。| 对象 | 状态 | 触发与说明 |
|---|---|---|
| 合同 | 草稿 -> 待审批 -> 待签署 -> 已签署 -> 已备案 -> 已收款 -> 履约中 -> 已结课 -> 已退费 -> 已作废 | 优惠审批、电子签、监管备案、收款、课消、退费 |
| 课次 | 未开始 -> 待签到 -> 已签到 -> 已课消 -> 请假 -> 补课 -> 旷课 -> 异常待确认 | 排课发布、签到、课消、请假、补课和人工确认 |
| 监管报送 | 待生成 -> 待报送 -> 报送中 -> 成功 -> 失败 -> 待重报 -> 人工处理 | 合同备案、收款、课消、退费报送与回执 |
| 积分兑换 | 待锁库 -> 已锁库 -> 待核销 -> 已核销 -> 已取消 -> 已退回 | 学员兑换、库存锁定、前台核销、出库、取消和积分退回 |
| 学习任务 | 未开始 -> 学习中 -> 已提交 -> 已批改 -> 需订正 -> 已完成 -> 已过期 | 资源学习、作业提交、教师批改和进度归档 |
| 直播房间 | 草稿 -> 待开播 -> 直播中 -> 已结束 -> 回放生成中 -> 可回放 -> 异常 -> 已关闭 | 创建房间、供应商资源申请、教师开播、下课、录制转码、回放发布和异常关闭 |
| 作业草稿 | 无草稿 -> 编辑中 -> 自动保存中 -> 已保存 -> 待提交 -> 已提交 -> 已删除 -> 已过期 -> 冲突待恢复 | 学员进入作业后可自动或手动保存草稿,提交成功后关闭草稿;删除、过期和多端冲突必须可提示、可审计、可恢复到安全状态 |
| 直播连麦请求 | 未举手 -> 已举手排队 -> 教师邀请中 -> 连接中 -> 上麦中 -> 已下麦 -> 已拒绝 -> 已取消 -> 已超时 -> 连接失败 | 学员举手进入队列,教师处理后进入邀请和连接;取消、拒绝、超时、失败、下麦均写入互动事件和连麦请求记录 |
| 请假补课 | 草稿 -> 待审批 -> 已同意 -> 已驳回 -> 已取消 -> 补课待安排 -> 补课待确认 -> 补课已预约 -> 已补课 -> 已关闭 | 家长请假、教务审批、课消冻结或回滚、补课安排、家长确认和补课完成 |
| 人脸授权撤回 | 已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭 | 家长撤回、人脸模板删除任务、设备回执、失败重试和审计 |
| 补课改期取消 | 已确认 -> 改期申请中 -> 取消申请中 -> 教务处理中 -> 已重新安排 -> 已拒绝 -> 已关闭 -> 待冲正 -> 已冲正 | 家长发起改期或取消,教务处理候选课次和课消冲正,最终回到补课安排或关闭 |
| 题库资源版本快照 | 草稿 -> 已发布 -> 已引用 -> 已冻结 -> 已下架 -> 历史可追溯 | 题目、试卷、资源发布后形成引用快照,历史答题按快照展示 |
| 教师端工作台任务 | 待处理 -> 处理中 -> 已完成 -> 已驳回 -> 已超时 -> 已取消 | 课程、批改、审批、培训、报销、工资条和直播任务统一进入工作台待办,并按业务模块回写处理状态。 |
开放集成中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
开放集成中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
开放集成中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
开放集成中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
开放集成中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
开放集成中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
13 · 权限、审批与消息
动作权限、数据范围、审批触发和消息触达必须闭环
权限需要覆盖菜单、按钮、字段、接口和导出。动作权限
- 配置接口:需映射菜单、按钮、接口和字段权限
- 验签回调:需映射菜单、按钮、接口和字段权限
- 查看日志:需映射菜单、按钮、接口和字段权限
- 失败重试:需映射菜单、按钮、接口和字段权限
- 归档回执:需映射菜单、按钮、接口和字段权限
- 开放 API:需映射菜单、按钮、接口和字段权限
数据范围
- 总部全量
- 区域辖区
- 校区本地
- 部门/岗位
- 本人负责
- 授权班级/学员
审批配置
| 审批名称 | 触发条件 | 流程 | 结果 | 留痕 |
|---|---|---|---|---|
| 物料采购审批 | 采购金额超过阈值、跨校区采购或固定资产采购 | 申请人 -> 校区负责人 -> 采购/财务 -> 总部审批 | 通过后生成采购订单和到货验收任务 | 保留预算、供应商、报价和采购合同附件 |
| 转校审批 | 学员权益跨校区转移 | 原校区校长 -> 目标校区校长 -> 财务确认 | 权益和服务归属迁移 | 记录转出转入校区和余额 |
| 合同作废审批 | 已签署或已收款合同作废 | 顾问提交 -> 校长 -> 财务 | 合同作废并回滚相关权益 | 保留作废原因和关联订单 |
| 课消撤销审批 | 已确认收入的课消记录撤销 | 教务提交 -> 校长 -> 财务 | 撤销课消、恢复课时、冲回收入 | 记录原课次和撤销原因 |
| 数据导出审批 | 导出客户、学员、人脸、工资、利润等敏感数据 | 申请人 -> 部门主管 -> 数据管理员 | 生成限时下载链接 | 记录用途、字段、下载人和 IP |
| 活码外部资源审批 | 活码跳转外部链接或公开资源 | 教研提交 -> 品牌负责人审核 | 发布或下架活码规则 | 记录资源版本和访问范围 |
| 培训课程发布审批 | 面向全员、跨校区或涉及制度类培训内容 | 人事/教研提交 -> 部门负责人 -> 总部审核 | 发布培训计划或退回修改 | 记录适用岗位、资料版本和考试规则 |
| 集团会议直播发布审批 | 会议范围包含全集团、跨区域或敏感经营主题 | 发起人 -> 部门负责人 -> 总部管理员 | 通过后推送会议通知并开放观看入口 | 保留会议主题、参会范围、资料和审批意见 |
消息模板
| 消息 | 接收人 | 触发 | 渠道 | 变量 |
|---|---|---|---|---|
| 新线索分配提醒 | 课程顾问 | 线索分配成功 | 站内信、App、企微 | 学员姓名、来源渠道、校区、保护期 |
| 跟进超时提醒 | 课程顾问/销售主管 | 超过首响或回访 SLA | 站内信、App | 客户姓名、超时时长、下次跟进时间 |
| 收款成功通知 | 家长/顾问/财务 | 支付成功 | 小程序、站内信 | 订单金额、课程、支付时间 |
| 积分兑换核销通知 | 学员/家长/校区前台 | 兑换成功、即将过期或核销完成 | 小程序、App、站内信 | 礼品名称、兑换码、核销校区、有效期 |
| 到校签到通知 | 家长 | 人脸或人工签到成功 | 小程序、App | 学员姓名、签到时间、校区、课程 |
| 签到异常提醒 | 教务/前台 | 识别未匹配或低置信度 | 站内信、App | 设备、时间、候选学员、置信度 |
| 课消提醒 | 家长 | 正式课消完成 | 小程序、App | 课程名称、消课课时、剩余课时 |
| 作业发布通知 | 学员/家长 | 教师发布作业 | 小程序、App | 作业名称、截止时间、课程 |
14 · 接口与技术细节
接口需支持幂等、权限、审计、重试和回执
每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。| 接口 | 方法 | 方向 | 请求字段 | 响应字段 | 幂等/权限 |
|---|---|---|---|---|---|
| /api/v1/open/integrations | POST/GET | PC Web 到开放平台 | systemCode, authType, endpoint, secretConfig | integrationId, healthStatus | systemCode 唯一 |
| /api/v1/open/webhooks | POST | 第三方到开放平台 | systemCode, eventId, eventType, payload, signature | consumeStatus, bizNo, retryable | 验签 + eventId 去重 |
| /api/v1/open/logs/{bizNo}/retry | POST | PC Web 到开放平台 | bizNo, logId, operatorId | retryTaskId, retryStatus | 状态允许重试 |
前端约束
- 统一登录态和租户校区上下文
- 列表分页、筛选、排序、列显隐
- 表单本地校验与服务端错误映射
- 移动/平板/TV 按终端适配交互
后端约束
- 领域服务封装业务规则
- 写操作事务一致性
- 关键操作审计快照
- 异步任务失败重试和告警
集成约束
- 第三方接口统一走开放集成中心
- 回执文件归档
- 接口日志可按业务单号追踪
- 密钥和回调地址按环境隔离
15 · 数据库与存储设计
核心表建议、关键字段和索引方向
详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。| 表名 | 用途 | 核心字段 | 索引建议 |
|---|---|---|---|
| int_system_config | 外部系统和供应商配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、system_code、system_name、system_type、base_url、enabled | uk_system_code、idx_type |
| int_api_credential | 接口密钥和授权配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、credential_no、system_id、scope_org_id、credential_payload、valid_until、enabled | uk_credential_no、idx_system_scope |
| int_integration_log | 接口调用日志 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、request_id、system_code、api_path、biz_type、biz_id、request_payload、response_payload、call_status | uk_request_id、idx_system_status、idx_biz |
| int_webhook_event | 回调事件去重和消费 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、event_id、system_code、event_type、biz_type、biz_id、raw_payload、consume_status | uk_system_event、idx_biz_status |
| int_retry_task | 失败重试和补偿任务 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、task_no、system_code、biz_type、biz_id、retry_count、next_retry_at、task_status | uk_task_no、idx_next_retry |
DDL 草案
int_system_configIntegrationSystemConfig
CREATE TABLE `int_system_config` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`system_code` VARCHAR(64) NOT NULL COMMENT '系统编码,唯一;数据级别:普通',
`system_name` VARCHAR(128) NOT NULL COMMENT '系统名称;数据级别:普通',
`system_type` VARCHAR(32) NOT NULL COMMENT '监管/支付/电子签/直播/视频/国税/设备;数据级别:普通',
`base_url` VARCHAR(512) NULL COMMENT '接口基础地址;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_system_code` (`system_code`),
KEY `idx_type` (`system_type`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='IntegrationSystemConfig:外部系统和供应商配置';
int_api_credentialApiCredential
CREATE TABLE `int_api_credential` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`credential_no` VARCHAR(64) NOT NULL COMMENT '凭证编号,唯一;数据级别:普通',
`system_id` BIGINT NOT NULL COMMENT '系统配置 ID;数据级别:普通',
`scope_org_id` BIGINT NULL COMMENT '适用组织/校区;数据级别:普通',
`credential_payload` JSON NOT NULL COMMENT '密钥、证书、编码等加密引用;数据级别:高敏',
`valid_until` DATETIME NULL COMMENT '有效期;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_credential_no` (`credential_no`),
KEY `idx_system_scope` (`system_id`, `scope_org_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ApiCredential:接口密钥和授权配置';
int_integration_logIntegrationLog
CREATE TABLE `int_integration_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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`request_id` VARCHAR(128) NOT NULL COMMENT '请求 ID,幂等键;数据级别:普通',
`system_code` VARCHAR(64) NOT NULL COMMENT '外部系统编码;数据级别:普通',
`api_path` VARCHAR(512) NOT NULL COMMENT '接口路径;数据级别:普通',
`biz_type` VARCHAR(64) NULL COMMENT '业务类型;数据级别:普通',
`biz_id` BIGINT NULL COMMENT '业务 ID;数据级别:普通',
`request_payload` JSON NULL COMMENT '请求报文,敏感字段脱敏;数据级别:敏感',
`response_payload` JSON NULL COMMENT '响应报文;数据级别:普通',
`call_status` VARCHAR(32) NOT NULL COMMENT '成功/失败/超时/重试中;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_request_id` (`request_id`, `id`),
KEY `idx_system_status` (`system_code`, `call_status`),
KEY `idx_biz` (`biz_type`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='IntegrationLog:接口调用日志';
int_webhook_eventWebhook
CREATE TABLE `int_webhook_event` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`event_id` VARCHAR(128) NOT NULL COMMENT '外部事件 ID;数据级别:普通',
`system_code` VARCHAR(64) NOT NULL COMMENT '来源系统;数据级别:普通',
`event_type` VARCHAR(64) NOT NULL COMMENT '事件类型;数据级别:普通',
`biz_type` VARCHAR(64) NULL COMMENT '业务类型;数据级别:普通',
`biz_id` BIGINT NULL COMMENT '业务 ID;数据级别:普通',
`raw_payload` JSON NOT NULL COMMENT '原始回调报文;数据级别:普通',
`consume_status` VARCHAR(32) NOT NULL COMMENT '待消费/成功/失败/重复;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_system_event` (`system_code`, `event_id`),
KEY `idx_biz_status` (`biz_type`, `consume_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Webhook:回调事件去重和消费';
int_retry_taskRetryTask
CREATE TABLE `int_retry_task` (
`id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
`tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
`org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
`campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
`created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
`created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
`updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
`updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
`deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
`deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
`version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
`task_no` VARCHAR(64) NOT NULL COMMENT '重试任务编号,唯一;数据级别:普通',
`system_code` VARCHAR(64) NOT NULL COMMENT '系统编码;数据级别:普通',
`biz_type` VARCHAR(64) NOT NULL COMMENT '业务类型;数据级别:普通',
`biz_id` BIGINT NOT NULL COMMENT '业务 ID;数据级别:普通',
`retry_count` INT NOT NULL COMMENT '已重试次数;数据级别:普通',
`next_retry_at` DATETIME NOT NULL COMMENT '下次重试时间;数据级别:普通',
`task_status` VARCHAR(32) NOT NULL COMMENT '待重试/成功/失败/终止;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_task_no` (`task_no`),
KEY `idx_next_retry` (`next_retry_at`, `retry_count`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='RetryTask:失败重试和补偿任务';
16 · 异常、指标、测试与初始化
保证模块上线后可运营、可追踪、可验收
测试要覆盖主流程、异常流、权限流、接口失败和数据一致性。异常状态
指标埋点
测试用例
| 编号 | 场景 | 前置 | 步骤 | 预期 | 优先级 |
|---|---|---|---|---|---|
| TC-005 | 电子合同签署和收款 | 合同模板启用 | 生成合同、家长签署、支付 | 合同已签署、订单已收款、权益生效 | 高 |
| TC-007 | 入班排课冲突校验 | 教师同时间已有课程 | 为同教师同时间排课 | 系统拦截并提示冲突对象 | 高 |
| TC-008 | 人脸签到自动课消 | 学员已授权人脸且课次待签到 | 模拟设备回传识别事件 | 签到成功、课消成功、家长收到通知 | 高 |
| TC-010 | 家长撤回人脸授权 | 学员已授权并下发设备 | 家长撤回授权 | 系统停止识别并生成设备删除任务 | 高 |
| TC-011 | 学员端访问授权资源 | 合同权益生效 | 学员登录微信小程序或 App 打开课程资源 | 资源可访问并记录学习进度,家长端仅查看学习报告摘要 | 高 |
| TC-012 | 合同到期资源自动失效 | 合同有效期已过 | 学员访问课程资源 | 提示权限过期,不再播放资源 | 高 |
| TC-013 | 教师发布作业并批改 | 课次已完成 | 教师发布作业,学员提交,教师批改 | 学员端展示批改结果和成长档案 | 中 |
| TC-014 | 学管风险预警生成 | 学员剩余课时低于阈值 | 刷新风险学员池 | 生成续费培育任务并通知学管 | 高 |
| TC-017 | 薪资课酬核算 | 教师授课和课消数据完整 | 执行月度薪资核算 | 课酬、提成、冲回金额计算正确 | 中 |
| TC-018 | 活码动态内容切换 | 同一二维码配置不同班级资源 | 不同学员扫码 | 返回对应授权资源并记录扫码数据 | 高 |
| TC-OPEN-ENH-001 | 接口规范交付闭环验收 | 接口日志、Webhook、补偿任务相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐接口日志、错误码映射、重试策略、回调去重、人工关闭审批和告警。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 任一接口失败可按业务单号追踪到请求、响应和处理结果。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-OPEN-ENH-002 | 外部能力交付闭环验收 | 集成配置、健康检查、调用日志相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐系统配置、密钥、回调地址、请求主体、启停状态、健康检查和审计。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 更换配置无需改代码,调用日志可追踪主体和凭证版本。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-OPEN-ENH-003 | 回执归档交付闭环验收 | 回执详情、业务单据、文件中心相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐回执归档、下载权限、关联单据、失败重试和有效期。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 业务单据能看到外部回执状态和文件。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
上线初始化
| 初始化项 | 动作 | 数据 | 验收 |
|---|---|---|---|
| 账号与权限 | 初始化总部、区域、校区、顾问、教务、教师、财务、家长、学员角色 | 账号、角色、菜单、按钮、字段、数据范围 | 测试账号可按角色访问指定页面 |
| 课程与价格 | 导入课程、班型、课包、课时、价格、适用校区 | 课程编码、班型、价格表、有效期、赠课规则 | 报价和合同可正确引用价格 |
| 优惠规则 | 初始化折扣、满减、优惠券、老带新、多科联报和组合包规则 | 规则编码、叠加互斥、适用课程、校区、有效期、审批阈值 | 报价单可正确计算并生成分摊明细 |
| 合同模板 | 配置多个统一电子合同模板 | 模板编号、适用课程、条款变量、签署人规则 | 合同生成内容完整且可签署 |
| 审批规则 | 配置优惠、退费、转课、导出、薪资、课消撤销审批流 | 审批对象、条件、节点、超时提醒 | 测试单据可进入正确审批链 |
| 财务科目 | 配置收款、预收、课消收入、退费、薪资、报销和内置科目映射 | 科目、辅助核算、校区、项目、部门 | 凭证可生成并写入测试账套 |
| 监管账户 | 维护资金监管账户和教育局监管平台参数 | 账户编号、校区映射、接口地址、证书、回调 | 合同、收款、课消、退费可报送测试 |
| 设备参数 | 登记人脸考勤机设备和校区绑定 | 设备编号、位置、API 密钥、心跳阈值、识别阈值 | 设备心跳正常且可接收人员下发 |
| 接口规范交付配置 | 初始化补齐接口日志、错误码映射、重试策略、回调去重、人工关闭审批和告警。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 接口日志、Webhook、补偿任务 | 任一接口失败可按业务单号追踪到请求、响应和处理结果。 |
| 外部能力交付配置 | 初始化补齐系统配置、密钥、回调地址、请求主体、启停状态、健康检查和审计。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 集成配置、健康检查、调用日志 | 更换配置无需改代码,调用日志可追踪主体和凭证版本。 |
| 回执归档交付配置 | 初始化补齐回执归档、下载权限、关联单据、失败重试和有效期。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 回执详情、业务单据、文件中心 | 业务单据能看到外部回执状态和文件。 |