01 · 模块定位
营销拓客中心
活动大屏可从模板创建,完成数据源、指标口径、战区 PK、公开令牌和投屏发布配置后,现场大屏按系统内实时业务数据刷新;文件导入仅作为固定基准兜底,退费、作废、补录和断连均可回滚、提示和审计。 已对标学邦教务后台补齐相关能力,要求菜单入口、页面状态、角色权限、数据对象、接口日志、统计指标和异常闭环均可追溯。业务目标
管理渠道、活动、私域、活码、活动模板库、员工推广和活动大屏,形成可归因、可复盘、可复用、可现场展示的招生增长入口。
使用终端
PC Web 管理后台负责活动模板、H5 编辑、投放范围、活码、活动大屏配置和复盘;大屏端负责活动实时战报投屏展示;外部招生 H5/小程序报名页负责访问留资;迪诺学堂教师端 App/小程序负责员工领取活动、生成专属二维码/海报、分享推广、线索回流和个人推广战报。
验收主线
活动大屏可从模板创建,完成数据源、指标口径、战区 PK、公开令牌和投屏发布配置后,现场大屏按系统内实时业务数据刷新;文件导入仅作为固定基准兜底,退费、作废、补录和断连均可回滚、提示和审计。 已对标学邦教务后台补齐相关能力,要求菜单入口、页面状态、角色权限、数据对象、接口日志、统计指标和异常闭环均可追溯。
02 · 范围边界
明确本模块负责什么、依赖什么、不负责什么
边界清晰后,原型、接口和数据库设计才能避免重复建设。模块内范围
- 渠道台账
- 活动预算
- 落地页表单
- 活码归因
- 私域任务
- 转介绍奖励
- 招生公开课直播运营
- 活动模板库
- 节日主题海报/H5
- 页面模板沉淀
- 模板审核与版本管理
- 活码短链域名
- 活码访问安全
- 线索撞单处理
- 活动大屏中心
- 活动大屏模板库
- 大屏后台配置
- 大屏数据源配置
- 指标口径配置
- 战区/区域/校区配置
- PK 对阵配置
- 老师荣耀战榜
- 固定名单快照导入
- 公开投屏令牌
- 大屏实时刷新
- 大屏校区管理
- 大屏老师/人员管理
- 大屏业绩补录与撤回
- 大屏展示组件配置
- 大屏订单流水
- 二维码招生
- 群活码
- 企微活码
- 扫码领券
- 推荐有礼
- 拼团裂变
- 分销裂变
- 支付有礼
- 优惠套餐
- 商城设置
- 商品管理
- 内容模板
- 线上商城营销
- 营销素材库
- 推广统计
- 移动广告管理
- 大屏发布投屏
上游依赖
- 组织校区与账号权限
- 课程/客户/合同等主数据
- 审批流、消息模板、文件中心
- 必要的第三方接口密钥
下游输出
- 业务状态和待办
- 消息通知和审批记录
- 报表指标和数据快照
- 审计日志和接口回执
03 · 确认口径、后台配置与默认实施规则
营销拓客中心必须承接的已确认规则
本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。| 分类 | 事项 | 本模块落地要求 | 责任方 |
|---|---|---|---|
| 默认实施规则 | 接口设计说明书组织方式 | 采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。 | 产品/研发 |
| 默认实施规则 | 接口错误码与重试中间件 | 所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。 | 后端/测试/运维 |
04 · 业务流程
营销拓客中心主流程
流程用于指导原型图的页面顺序、按钮状态和异常分支。维护抖音、小红书、美团、公众号、地推、转介绍等渠道档案、预算归属、负责人和投放口径。
按活动、校区、渠道配置预算、成本、目标线索量、目标到访量和 ROI 预警。
配置报名表单字段、名额、校区、课程、优惠、到场签到和 CRM 分配规则。
为活动、海报、H5、公开课和课程资源生成活码,并记录扫码渠道、目标版本和转化结果。
把活动报名、扫码、公开课观看和未转化线索生成企微/私域触达任务。
支持老带新、分享海报、邀请裂变、奖励规则、归属校区和奖励发放记录。
联动直播能力中心创建公开课直播、报名页、观看评分和顾问跟进任务。
从系统内置和总部共享模板中选择海报、H5、表单或组合活动模板创建活动。
05 · 功能清单
按子模块拆到可设计、可开发、可测试的颗粒度
每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。| 一级功能 | 二级功能 | 功能说明 | 规则/验收 |
|---|---|---|---|
| 渠道台账 | 营销推广闭环操作 | 渠道台账需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 渠道台账 | 业务处理 | 维护抖音、小红书、美团、公众号、地推、转介绍等渠道档案、预算归属、负责人和投放口径。 | 必须联动状态、权限、消息、审批和指标 |
| 渠道台账 | 异常闭环 | 渠道来源缺失处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 活动预算 | 营销推广闭环操作 | 活动预算需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 活动预算 | 业务处理 | 按活动、校区、渠道配置预算、成本、目标线索量、目标到访量和 ROI 预警。 | 必须联动状态、权限、消息、审批和指标 |
| 活动预算 | 异常闭环 | 预算超限处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 落地页表单 | 营销推广闭环操作 | 落地页表单需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 落地页表单 | 业务处理 | 配置报名表单字段、名额、校区、课程、优惠、到场签到和 CRM 分配规则。 | 必须联动状态、权限、消息、审批和指标 |
| 落地页表单 | 异常闭环 | 表单提交失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 活码归因 | 营销推广闭环操作 | 活码归因需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 活码归因 | 业务处理 | 为活动、海报、H5、公开课和课程资源生成活码,并记录扫码渠道、目标版本和转化结果。 | 必须联动状态、权限、消息、审批和指标 |
| 活码归因 | 异常闭环 | 来源丢失处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 私域任务 | 营销推广闭环操作 | 私域任务需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 私域任务 | 业务处理 | 把活动报名、扫码、公开课观看和未转化线索生成企微/私域触达任务。 | 必须联动状态、权限、消息、审批和指标 |
| 私域任务 | 异常闭环 | 触达任务未生成处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 转介绍奖励 | 营销推广闭环操作 | 转介绍奖励需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 转介绍奖励 | 业务处理 | 支持老带新、分享海报、邀请裂变、奖励规则、归属校区和奖励发放记录。 | 必须联动状态、权限、消息、审批和指标 |
| 转介绍奖励 | 异常闭环 | 奖励归属争议处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 招生公开课直播运营 | 营销推广闭环操作 | 招生公开课直播运营需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 招生公开课直播运营 | 业务处理 | 联动直播能力中心创建公开课直播、报名页、观看评分和顾问跟进任务。 | 必须联动状态、权限、消息、审批和指标 |
| 招生公开课直播运营 | 异常闭环 | 直播报名未沉淀线索处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 活动模板库 | 营销推广闭环操作 | 活动模板库需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 活动模板库 | 业务处理 | 从系统内置和总部共享模板中选择海报、H5、表单或组合活动模板创建活动。 | 必须联动状态、权限、消息、审批和指标 |
| 活动模板库 | 异常闭环 | 模板不可用处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 节日主题海报/H5 | 营销推广闭环操作 | 节日主题海报/H5需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 节日主题海报/H5 | 业务处理 | 内置 24 节气、传统节日、招生季、公开课等主题海报和宣传 H5,并支持按场景检索复用。 | 必须联动状态、权限、消息、审批和指标 |
| 节日主题海报/H5 | 异常闭环 | 模板素材缺失处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 页面模板沉淀 | 营销推广闭环操作 | 页面模板沉淀需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 页面模板沉淀 | 业务处理 | 自建活动页面可转为模板,保留页面结构、素材、表单、埋点和适用范围。 | 必须联动状态、权限、消息、审批和指标 |
| 页面模板沉淀 | 异常闭环 | 转模板审核失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 模板审核与版本管理 | 营销推广闭环操作 | 模板审核与版本管理需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 模板审核与版本管理 | 业务处理 | 模板上架、下架、驳回、版本升级和版权信息均需审核留痕。 | 必须联动状态、权限、消息、审批和指标 |
| 模板审核与版本管理 | 异常闭环 | 版本发布失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 活码短链域名 | 营销推广闭环操作 | 活码短链域名需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 活码短链域名 | 业务处理 | 配置短链域名、品牌路径、活动路径、有效期、跳转目标和域名健康状态。 | 必须联动状态、权限、消息、审批和指标 |
| 活码短链域名 | 异常闭环 | 短链域名异常处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 活码访问安全 | 营销推广闭环操作 | 活码访问安全需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 活码访问安全 | 业务处理 | 支持活码停用、过期、无权限、目标下架失效页、防刷限频、IP 黑名单和兜底页。 | 必须联动状态、权限、消息、审批和指标 |
| 活码访问安全 | 异常闭环 | 访问防刷触发处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 线索撞单处理 | 营销推广闭环操作 | 线索撞单处理需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 线索撞单处理 | 业务处理 | 活动报名进入 CRM 前执行撞单检测,返回重复线索、归属候选、合并建议和处理入口。 | 必须联动状态、权限、消息、审批和指标 |
| 线索撞单处理 | 异常闭环 | 重复报名待确认处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 活动大屏中心 | 活动大屏闭环操作 | 活动大屏中心需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 活动大屏中心 | 业务处理 | 管理周年庆、集中续费、创收冲刺、公开课转化、区域/战区 PK、校区排行和老师荣耀战榜类活动大屏,从模板创建、配置指标、发布投屏、实时刷新和异常处理形成闭环。 | 必须联动状态、权限、消息、审批和指标 |
| 活动大屏中心 | 异常闭环 | 大屏实时数据断连处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 活动大屏模板库 | 活动大屏闭环操作 | 活动大屏模板库需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 活动大屏模板库 | 业务处理 | 内置周年庆、续费战报、创收龙虎榜、公开课转化、区域 PK、校区排行等大屏模板,模板可配置布局、模块、主题、榜单口径、刷新策略和默认展示数量。 | 必须联动状态、权限、消息、审批和指标 |
| 活动大屏模板库 | 异常闭环 | 大屏模板不可用处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏后台配置 | 活动大屏闭环操作 | 大屏后台配置需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏后台配置 | 业务处理 | 按活动选择模板,设置大屏主标题、副标题、主题、展示组织范围、可见角色、投屏链接、二维码、公开访问令牌和展示有效期。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏后台配置 | 异常闭环 | 投屏链接发布失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏数据源配置 | 活动大屏闭环操作 | 大屏数据源配置需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏数据源配置 | 业务处理 | 第一优先级读取迪诺学堂系统内活动、渠道、线索、试听、合同、订单、缴费、续费、退费、扩科、转介绍、员工、老师、校区、课程、班级和学员等实时业务数据;第二优先级读取系统内补录业务单据;文件导入固定快照仅在无结构化数据时兜底。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏数据源配置 | 异常闭环 | 系统实时数据缺失处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 指标口径配置 | 营销推广闭环操作 | 指标口径配置需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 指标口径配置 | 业务处理 | 配置续费率、创收金额、创收单数、扩科、纳新、转介绍、老师排名、校区排名和战区 PK 的指标公式、排序规则、过滤条件、刷新频率和口径版本。 | 必须联动状态、权限、消息、审批和指标 |
| 指标口径配置 | 异常闭环 | 指标口径校验失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 战区/区域/校区配置 | 活动大屏闭环操作 | 战区/区域/校区配置需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 战区/区域/校区配置 | 业务处理 | 支持按区域、校区、业务单元和自定义战区组合参与大屏展示,周年庆/战区 PK 模板可默认最多3个校区参与单个战区,但该限制属于模板参数,不写死为全局限制。 | 必须联动状态、权限、消息、审批和指标 |
| 战区/区域/校区配置 | 异常闭环 | 战区校区范围为空处理 | 失败原因可见、可重试、可转人工、可追溯 |
| PK 对阵配置 | 活动大屏闭环操作 | PK 对阵配置需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| PK 对阵配置 | 业务处理 | 支持战区 VS 战区、战区 VS 其他校区平均值等 PK 对阵,按续费率、创收单数、创收金额等指标判断胜负并保留快照。 | 必须联动状态、权限、消息、审批和指标 |
| PK 对阵配置 | 异常闭环 | PK 对阵对象失效处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 老师荣耀战榜 | 活动大屏闭环操作 | 老师荣耀战榜需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 老师荣耀战榜 | 业务处理 | 右侧展示老师续费率排名、创收单数排名、创收金额排名,人员范围可按校区、角色、课程、科目和活动授权过滤。 | 必须联动状态、权限、消息、审批和指标 |
| 老师荣耀战榜 | 异常闭环 | 老师榜单无数据处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 固定名单快照导入 | 活动大屏闭环操作 | 固定名单快照导入需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 固定名单快照导入 | 业务处理 | 仅在系统无结构化实时数据或历史基数无法从业务对象追溯时,允许导入待续名单、老师名单、校区名单和历史基数,导入后作为固定基准快照,不覆盖系统内实时业务流水。 | 必须联动状态、权限、消息、审批和指标 |
| 固定名单快照导入 | 异常闭环 | 快照版本过期处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 公开投屏令牌 | 活动大屏闭环操作 | 公开投屏令牌需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 公开投屏令牌 | 业务处理 | 公开投屏令牌需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 公开投屏令牌 | 异常闭环 | 固定快照版本过期处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏实时刷新 | 活动大屏闭环操作 | 大屏实时刷新需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏实时刷新 | 业务处理 | 大屏实时刷新需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏实时刷新 | 异常闭环 | PK 对阵对象失效处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏校区管理 | 活动大屏闭环操作 | 大屏校区管理需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏校区管理 | 业务处理 | 后台可维护参与大屏的校区展示名、排序、启停、归属战区和引用关系;删除校区前必须校验老师/人员归属、战区引用、快照基准和历史流水,存在引用时禁止删除并展示影响范围。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏校区管理 | 异常闭环 | 校区存在引用不可删除处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏老师/人员管理 | 活动大屏闭环操作 | 大屏老师/人员管理需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏老师/人员管理 | 业务处理 | 支持老师/顾问/其他人员参与大屏榜单,同一老师可跨校区配置;按语文组、数学组、英语组和自定义科目分组,维护续费基数、奖励续费人次、续费率、扩科单数、创收单数和创收金额。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏老师/人员管理 | 异常闭环 | 老师跨校区重复配置冲突处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏业绩补录与撤回 | 活动大屏闭环操作 | 大屏业绩补录与撤回需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏业绩补录与撤回 | 业务处理 | 现场补录选择校区、老师/人员、课程科目、业务类型、金额和创收单数;业务类型包含续费奖励、续费非奖励、扩科、纳新、转介绍;最近20条订单流水可查看,最后一笔可按权限撤回并触发指标重算。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏业绩补录与撤回 | 异常闭环 | 最后一笔撤回超时处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏展示组件配置 | 活动大屏闭环操作 | 大屏展示组件配置需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏展示组件配置 | 业务处理 | 配置左侧战区实时战榜/校区实时战榜切换,中部今日收款总金额、最新喜报和订单播报,右侧老师荣耀战榜、续费率排名/创收单数排名切换、显示全部老师/总榜切换、语数英分组和空状态文案。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏展示组件配置 | 异常闭环 | 展示组件配置缺失处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏订单流水 | 活动大屏闭环操作 | 大屏订单流水需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏订单流水 | 业务处理 | 展示最近20条大屏相关订单、补录、撤回和回滚记录,保留校区、老师/人员、课程科目、业务类型、金额、创收单数、来源和操作人,支持按权限查看详情和审计。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏订单流水 | 异常闭环 | 订单流水回放失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 二维码招生 | 营销推广闭环操作 | 二维码招生需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 二维码招生 | 业务处理 | 二维码招生、商城设置、商品管理、内容模板、推广统计需作为活动创建和员工推广的可配置能力,扫码、访问、表单、领券、下单和转介绍结果统一回写 CRM。 | 必须联动状态、权限、消息、审批和指标 |
| 二维码招生 | 异常闭环 | 重复报名处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 群活码 | 营销推广闭环操作 | 群活码需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 群活码 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 群活码 | 异常闭环 | 来源丢失处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 企微活码 | 营销推广闭环操作 | 企微活码需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 企微活码 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 企微活码 | 异常闭环 | 活动名额超限处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 扫码领券 | 营销推广闭环操作 | 扫码领券需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 扫码领券 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 扫码领券 | 异常闭环 | 模板素材缺失处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 推荐有礼 | 营销推广闭环操作 | 推荐有礼需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 推荐有礼 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 推荐有礼 | 异常闭环 | 页面发布失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 拼团裂变 | 营销推广闭环操作 | 拼团裂变需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 拼团裂变 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 拼团裂变 | 异常闭环 | 模板审核驳回处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 分销裂变 | 营销推广闭环操作 | 分销裂变需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 分销裂变 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 分销裂变 | 异常闭环 | 自建页面转模板冲突处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 支付有礼 | 营销推广闭环操作 | 支付有礼需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 支付有礼 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 支付有礼 | 异常闭环 | 活码群满员处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 优惠套餐 | 营销推广闭环操作 | 优惠套餐需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 优惠套餐 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 优惠套餐 | 异常闭环 | 优惠券已领完处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 商城设置 | 营销推广闭环操作 | 商城设置需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 商城设置 | 业务处理 | 二维码招生、商城设置、商品管理、内容模板、推广统计需作为活动创建和员工推广的可配置能力,扫码、访问、表单、领券、下单和转介绍结果统一回写 CRM。 | 必须联动状态、权限、消息、审批和指标 |
| 商城设置 | 异常闭环 | 拼团失败退款处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 商品管理 | 营销推广闭环操作 | 商品管理需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 商品管理 | 业务处理 | 二维码招生、商城设置、商品管理、内容模板、推广统计需作为活动创建和员工推广的可配置能力,扫码、访问、表单、领券、下单和转介绍结果统一回写 CRM。 | 必须联动状态、权限、消息、审批和指标 |
| 商品管理 | 异常闭环 | 分销归因冲突处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 内容模板 | 营销推广闭环操作 | 内容模板需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 内容模板 | 业务处理 | 二维码招生、商城设置、商品管理、内容模板、推广统计需作为活动创建和员工推广的可配置能力,扫码、访问、表单、领券、下单和转介绍结果统一回写 CRM。 | 必须联动状态、权限、消息、审批和指标 |
| 内容模板 | 异常闭环 | 套餐库存不足处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 线上商城营销 | 营销推广闭环操作 | 线上商城营销需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 线上商城营销 | 业务处理 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 必须联动状态、权限、消息、审批和指标 |
| 线上商城营销 | 异常闭环 | 短链域名失效处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 营销素材库 | 营销推广闭环操作 | 营销素材库需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 营销素材库 | 业务处理 | 营销素材库需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 营销素材库 | 异常闭环 | 访问防刷触发处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 推广统计 | 营销推广闭环操作 | 推广统计需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 推广统计 | 业务处理 | 二维码招生、商城设置、商品管理、内容模板、推广统计需作为活动创建和员工推广的可配置能力,扫码、访问、表单、领券、下单和转介绍结果统一回写 CRM。 | 必须联动状态、权限、消息、审批和指标 |
| 推广统计 | 异常闭环 | 线索归属争议处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 移动广告管理 | 营销推广闭环操作 | 移动广告管理需同时覆盖 PC Web 活动配置、外部 H5 访问留资、迪诺学堂教师端 App/小程序员工推广承接、CRM 线索回流和效果复盘。 | 必须校验活动发布状态、推广范围、员工角色、校区范围、归因参数、活码状态、表单防重和线索分配规则 |
| 移动广告管理 | 业务处理 | 移动广告管理需支持面向家长端、学员端、教师员工端、外部招生 H5 的广告位、图片/视频素材、跳转链接、投放范围、上下架时间和点击统计。 | 必须联动状态、权限、消息、审批和指标 |
| 移动广告管理 | 异常闭环 | 重复报名处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 大屏发布投屏 | 活动大屏闭环操作 | 大屏发布投屏需覆盖 PC Web 后台配置、系统内实时数据源、指标口径、战区/校区/老师榜单、大屏端展示、投屏发布、断连恢复、异常校验和审计追踪。 | 必须校验活动状态、组织范围、指标口径、数据源优先级、公开访问令牌、实时刷新状态、快照兜底条件和数据脱敏规则 |
| 大屏发布投屏 | 业务处理 | 生成活动大屏链接、二维码和投屏地址,支持公开展示令牌、最后刷新时间、断连提示、手动刷新和回放快照。 | 必须联动状态、权限、消息、审批和指标 |
| 大屏发布投屏 | 异常闭环 | 大屏投屏断连处理 | 失败原因可见、可重试、可转人工、可追溯 |
功能到数据对象/接口/表映射
| 功能域 | 承接对象 | 核心表 | 代表接口 | 状态机/状态字段 | 研发落地校验 |
|---|---|---|---|---|---|
| 渠道台账 | MarketingChannel、MarketingCampaign、EmployeeCampaignStat | mkt_channel、mkt_campaign、mkt_employee_campaign_stat | 建议接口资源组 /api/v1/marketing/campaigns | channel_type、biz_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 活动预算 | MarketingChannel、MarketingCampaign、EmployeeCampaignStat | mkt_channel、mkt_campaign、mkt_employee_campaign_stat | 建议接口资源组 /api/v1/marketing/campaigns | channel_type、biz_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 落地页表单 | MarketingPageTemplate、CampaignLandingPage、LiveQrCode | mkt_page_template、mkt_landing_page、mkt_live_qr_code | 建议接口资源组 /api/v1/marketing/landing-pages | template_type、festival_type、review_status、publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 活码归因 | CampaignLandingPage、LiveQrCode、ScanRecord | mkt_landing_page、mkt_live_qr_code、mkt_scan_record | 建议接口资源组 /api/v1/live-qrcodes | publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 私域任务 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/05 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 转介绍奖励 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/06 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 招生公开课直播运营 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/07 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 活动模板库 | MarketingPageTemplate、CampaignLandingPage、LiveQrCode | mkt_page_template、mkt_landing_page、mkt_live_qr_code | 建议接口资源组 /api/v1/marketing/landing-pages | template_type、festival_type、review_status、publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 节日主题海报/H5 | MarketingPageTemplate、CampaignLandingPage、LiveQrCode | mkt_page_template、mkt_landing_page、mkt_live_qr_code | 建议接口资源组 /api/v1/marketing/landing-pages | template_type、festival_type、review_status、publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 页面模板沉淀 | MarketingPageTemplate、CampaignLandingPage、LiveQrCode | mkt_page_template、mkt_landing_page、mkt_live_qr_code | 建议接口资源组 /api/v1/marketing/landing-pages | template_type、festival_type、review_status、publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 模板审核与版本管理 | MarketingPageTemplate、CampaignLandingPage、LiveQrCode | mkt_page_template、mkt_landing_page、mkt_live_qr_code | 建议接口资源组 /api/v1/marketing/landing-pages | template_type、festival_type、review_status、publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 活码短链域名 | CampaignLandingPage、LiveQrCode、ScanRecord | mkt_landing_page、mkt_live_qr_code、mkt_scan_record | 建议接口资源组 /api/v1/live-qrcodes | publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 活码访问安全 | CampaignLandingPage、LiveQrCode、ScanRecord | mkt_landing_page、mkt_live_qr_code、mkt_scan_record | 建议接口资源组 /api/v1/live-qrcodes | publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 线索撞单处理 | CampaignFormSubmit | mkt_form_submit | GET /api/v1/crm/activity-leads | submit_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 活动大屏中心 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 活动大屏模板库 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏后台配置 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏数据源配置 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 指标口径配置 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 战区/区域/校区配置 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| PK 对阵配置 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 老师荣耀战榜 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 固定名单快照导入 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 公开投屏令牌 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏实时刷新 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏校区管理 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏老师/人员管理 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏业绩补录与撤回 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏展示组件配置 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏订单流水 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 二维码招生 | CampaignLandingPage、LiveQrCode、ScanRecord | mkt_landing_page、mkt_live_qr_code、mkt_scan_record | 建议接口资源组 /api/v1/live-qrcodes | publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 群活码 | CampaignLandingPage、LiveQrCode、ScanRecord | mkt_landing_page、mkt_live_qr_code、mkt_scan_record | 建议接口资源组 /api/v1/live-qrcodes | publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 企微活码 | CampaignLandingPage、LiveQrCode、ScanRecord | mkt_landing_page、mkt_live_qr_code、mkt_scan_record | 建议接口资源组 /api/v1/live-qrcodes | publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 扫码领券 | CampaignLandingPage、LiveQrCode、ScanRecord | mkt_landing_page、mkt_live_qr_code、mkt_scan_record | 建议接口资源组 /api/v1/live-qrcodes | publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 推荐有礼 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/35 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 拼团裂变 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/36 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 分销裂变 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/37 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 支付有礼 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/38 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 优惠套餐 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/39 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 商城设置 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/40 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 商品管理 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/41 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 内容模板 | MarketingPageTemplate、CampaignLandingPage、LiveQrCode | mkt_page_template、mkt_landing_page、mkt_live_qr_code | 建议接口资源组 /api/v1/marketing/landing-pages | template_type、festival_type、review_status、publish_status、biz_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 线上商城营销 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/43 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 营销素材库 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/44 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 推广统计 | EmployeePromotionAsset、EmployeeShareRecord、EmployeeCampaignStat | mkt_employee_promotion_asset、mkt_employee_share_record、mkt_employee_campaign_stat | POST/GET /api/v1/marketing/employee-promotion-assets | asset_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 移动广告管理 | MarketingChannel、MarketingCampaign、MarketingPageTemplate、CampaignLandingPage | mkt_channel、mkt_campaign、mkt_page_template、mkt_landing_page | 接口资源组 /api/v1/mkt/features/46 | channel_type、biz_status、template_type、festival_type、review_status、publish_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 大屏发布投屏 | MarketingActivityScreenTemplate、MarketingActivityScreen、MarketingScreenDataSourceConfig、MarketingScreenMetricConfig、MarketingScreenZone、MarketingScreenPkPair、MarketingScreenRosterSnapshot、MarketingScreenDataSnapshot | mkt_activity_screen_template、mkt_activity_screen、mkt_screen_data_source_config、mkt_screen_metric_config、mkt_screen_zone、mkt_screen_pk_pair、mkt_screen_roster_snapshot、mkt_screen_data_snapshot | 建议接口资源组 /api/v1/marketing/screens | review_status、public_token_status、screen_status、validate_status、zone_type、compare_target_type | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
06 · 原子级功能需求
用于研发任务拆分和测试用例追踪
需求编号可直接进入项目管理工具。| 编号 | 需求描述 | 入口页面 | 关键动作 | 输入校验 | 输出结果 | 异常处理 | 验收标准 |
|---|---|---|---|---|---|---|---|
| FR-MKT-001 | 支持抖音、小红书、美团、公众号、地推、转介绍等渠道 | 渠道档案 | 创建渠道 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 重复报名 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-002 | 活动可配置报名表单、名额、校区、优惠、到场签到和 CRM 分配规则 | 营销活动 | 选择模板 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 来源丢失 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-003 | 创建活动页面时支持从模板库选择模板创建,模板库内置 24 节气、传统节日、招生季、公开课等节日海报和主题宣传 H5 | 活动报名落地页 | 发布活动 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 活动名额超限 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-004 | 模板支持海报模板、H5 模板、表单模板和组合活动模板,按节日、主题、年级、课程、校区、渠道和使用场景分类检索 | 活动模板库 | 编辑 H5 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 模板素材缺失 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-005 | 自建活动页面支持一键转为模板,保留页面组件、素材、表单字段、活码规则、适用范围和转化埋点 | 落地页/H5 编辑器 | 转为模板 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 页面发布失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-006 | 模板支持预览、复制、二次编辑、上下架、版本管理、品牌合规审核和素材替换 | 活码短链与安全策略 | 生成活码 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 模板审核驳回 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-007 | 二维码记录校区、活动、模板、顾问、地推人员和来源参数 | 员工推广资产管理 | 配置推广范围 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 自建页面转模板冲突 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-008 | 表单提交后自动进入 CRM 并按规则分配 | 活动线索回流 | 员工生成专属码 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 活码群满员 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-009 | 统计线索、有效、邀约、到访、试听、成交、回款、模板使用率、模板转化率和 ROI | 我的推广战报 | 分享海报 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 优惠券已领完 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-010 | 活动大屏中心支持周年庆、集中续费、创收冲刺、公开课转化、区域/战区 PK、校区排行和老师荣耀战榜等现场展示场景。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 固定快照版本过期 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-011 | 活动大屏数据源优先读取迪诺学堂系统内实时业务数据,系统内补录业务单据作为第二优先级,文件导入固定快照仅作为系统无结构化数据时的最后兜底。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | PK 对阵对象失效 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-012 | 大屏指标需明确分子来源、分母来源、排除规则、回滚规则、归因规则、排序规则、口径版本和刷新事件主题。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 公开访问令牌过期 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-013 | 公开投屏链接必须具备访问令牌、过期时间、撤销能力、水印配置、脱敏策略和访问日志,过期或撤销后旧链接立即不可访问。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 数据源健康检查失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-014 | 实时刷新优先使用事件推送或 SSE/WS,断连时显示最后刷新时间并通过短轮询兜底;订单支付、续费生效、退费、作废和补录审核通过均触发重算。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 实时刷新任务失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-015 | 大屏后台需支持校区管理,删除校区前校验老师/人员归属、战区引用、快照基准和历史流水,存在引用时禁止删除并展示影响范围。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 大屏实时数据断连 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-016 | 大屏后台需支持现场补录和撤回,录入字段包括校区、老师/人员、课程科目、续费奖励、续费非奖励、扩科、纳新、转介绍、金额和创收单数,最近20条订单流水可快速查看。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 指标口径配置缺失 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-017 | 大屏老师/人员管理需支持同一老师跨校区配置,按语文组、数学组、英语组和自定义科目分组展示,并维护续费基数、奖励续费人次、扩科单数、创收单数和创收金额。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 固定快照版本过期 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-018 | 大屏展示端需支持战区实时战榜与校区实时战榜切换、续费率排名与创收单数排名切换、老师荣耀战榜显示全部老师或总榜、喜报轮播、空状态和断连状态。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | PK 对阵对象失效 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-019 | 战区配置支持按模板设置校区数量上限,周年庆/战区 PK 模板可默认最多3个校区参与单个战区,但该限制属于模板参数,不作为全平台固定限制。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 公开访问令牌过期 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-020 | 活码需支持短链域名配置、停用/过期/无权限/目标下架失效页、防刷限频、IP 黑名单、异常渠道告警和跳转失败兜底页。 | 营销活动 | 分享海报 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 页面发布失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-021 | 多渠道同时报名需识别撞单,形成线索归属争议、合并建议和渠道归因留痕。 | 活动报名落地页 | 分配线索 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 模板审核驳回 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-022 | 营销拓客中心需补齐学邦式增长插件:群活码、企微活码、扫码领券、推荐有礼、拼团裂变、分销裂变、支付有礼、优惠套餐和线上商城营销。 | 活动模板库 | 查看 ROI | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 自建页面转模板冲突 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-023 | 活动能力需支持素材库、图文素材、艺术字、图片素材、视频素材、宣传统计和员工推广归因,外部访问、扫码、领券、下单、推荐、成交需回写 CRM 和 BI。 | 落地页/H5 编辑器 | 创建渠道 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 活码群满员 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-024 | 线上商城营销仅承接营销成交前链路,物品 SKU、礼品库存、核销出库和成本仍由物料资产中心统一管理。 | 活码短链与安全策略 | 选择模板 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 优惠券已领完 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-025 | 拼团、分销、推荐有礼、扫码领券等裂变玩法必须配置活动规则、适用课程、适用校区、奖励口径、防刷规则、失效页和转化统计。 | 员工推广资产管理 | 发布活动 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 拼团失败退款 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-026 | 移动广告管理需支持面向家长端、学员端、教师员工端、外部招生 H5 的广告位、图片/视频素材、跳转链接、投放范围、上下架时间和点击统计。 | 活动线索回流 | 编辑 H5 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 分销归因冲突 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-027 | 二维码招生、商城设置、商品管理、内容模板、推广统计需作为活动创建和员工推广的可配置能力,扫码、访问、表单、领券、下单和转介绍结果统一回写 CRM。 | 我的推广战报 | 转为模板 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 套餐库存不足 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-028 | 活动大屏中心需支持周年庆、集中续费、创收冲刺、公开课转化、区域/战区 PK、校区排行和老师荣耀战榜等活动场景,后台按模板创建大屏并发布投屏链接、二维码和公开展示地址。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 实时刷新任务失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-029 | 活动大屏数据源必须优先读取迪诺学堂系统内实时业务数据,包括活动、渠道、线索、试听、合同、订单、缴费、续费、退费、扩科、转介绍、员工、老师、校区、课程、班级和学员;系统内补录单据作为第二优先级,文件导入固定快照仅作为系统无结构化数据时的最后兜底。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 大屏实时数据断连 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-030 | 活动大屏应支持左侧战区/校区实时战榜、中间今日收款总金额、最新喜报和订单播报、右侧老师荣耀战榜,支持按区域、校区、战区、课程、科目和人员角色过滤并实时刷新。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 指标口径配置缺失 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-031 | 活动大屏后台需支持校区管理,校区被老师/人员归属、战区配置或历史数据引用时禁止删除,并返回影响范围、处理建议和审计记录。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 固定快照版本过期 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-032 | 活动大屏后台需支持现场补录或临时演示录入,字段包含校区、老师/人员、课程科目、业务类型、金额和创收单数;业务类型至少覆盖续费奖励、续费非奖励、扩科、纳新和转介绍。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | PK 对阵对象失效 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-033 | 活动大屏业绩补录需支持订单流水、最近20条快捷查看、最后一笔撤回、撤回原因、重算触发和防重复提交;重置并导入新名单只能形成新的固定快照版本,不能覆盖系统内实时业务流水。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 公开访问令牌过期 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-034 | 活动大屏老师/人员管理需支持同一老师跨校区配置、按语文组、数学组、英语组和自定义科目分组展示,维护续费基数、奖励续费人次、续费率、扩科单数、创收单数和创收金额。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 数据源健康检查失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-MKT-035 | 活动大屏展示端需支持战区实时战榜与校区实时战榜切换、续费率排名与创收单数排名切换、老师荣耀战榜显示全部老师或回到总榜、喜报轮播、空状态和断连状态。 | 活动大屏配置/实时战报 | 配置模板、数据源、指标口径、战区 PK、投屏发布或实时刷新 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 实时刷新任务失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
07 · 关联闭环补充需求
营销拓客中心在跨模块闭环中的责任边界
本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。| 闭环项 | 本模块责任 | 关键场景 | 页面/功能补充 | 关联对象/接口 | 验收口径 |
|---|---|---|---|---|---|
| 活码短链 | 负责营销活动页、节日模板、宣传 H5 的活码创建、短链生成和转化跟踪 | 活动目标页面变化、二维码持续复用、渠道归因和失效页兜底 | 活码管理、短链管理、扫码明细、目标版本、失效页配置 | LiveQrCode/ScanRecord、MarketingPageTemplate/CampaignLandingPage、/api/v1/live-qrcodes | 扫码记录必须带渠道、活动、短链、版本和落地页目标 |
| 员工推广承接 | 负责把 PC Web 已发布活动同步到迪诺学堂教师端 App/小程序,并为员工生成专属链接、二维码和海报 | 市场人员、销售人员、课程顾问、班主任需要在移动端领取活动并转发推广 | 员工端营销推广工作台、可推广活动、我的二维码、我的海报、分享记录、推广战报 | EmployeePromotionAsset、EmployeeShareRecord、EmployeeCampaignStat、/api/v1/marketing/employee-promotion-assets | 每个员工推广链接都必须携带活动、页面、校区、渠道、员工和分享场景参数,访问、留资、线索和成交可回溯到员工 |
| 线索撞单 | 活动报名、表单导入、扫码留资进入 CRM 前执行重复检测 | 同一手机号、学员姓名或活动渠道重复提交 | 报名表单、线索导入结果、重复提示、转 CRM 确认弹窗 | Lead、/api/v1/marketing/leads/import、/api/v1/crm/leads | 重复线索标记、合并建议和归属候选必须返回给顾问或运营 |
08 · 页面与原型设计说明
页面清单、布局要求、按钮字段和状态
原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。| 终端 | 页面 | 用户 | 页面目标 | 布局结构 | 关键按钮 | 关键字段 | 异常状态 | 原型备注 |
|---|---|---|---|---|---|---|---|---|
| PC Web | 渠道档案 | 市场运营 | 维护渠道、预算、归因参数、负责人 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-渠道档案;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 营销活动 | 市场运营 | 创建活动、配置表单、生成活码、统计 ROI | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-营销活动;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| H5/小程序 | 活动报名落地页 | 家长/潜客 | 提交报名、选择校区、预约体验、授权联系 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-活动报名落地页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/H5 | 公开课直播转化看板 | 市场/课程顾问 | 按渠道、活码、直播观看和互动行为形成线索质量与转化分析 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-公开课直播转化看板;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 活动模板库 | 总部市场/区域市场/校区运营 | 按 24 节气、传统节日、招生季、公开课等分类选择节日海报和主题宣传 H5 模板 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-活动模板库;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 落地页/H5 编辑器 | 市场运营/课程顾问 | 从模板创建活动页面,支持组件编辑、表单配置、素材替换、链接发布和活码生成 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-落地页_h5_编辑器;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 自建页面转模板 | 市场运营/总部市场 | 将已发布或草稿活动页面沉淀为模板,保留组件、表单、活码规则、素材和埋点 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-自建页面转模板;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 模板审核与版本管理 | 总部市场/品牌审核 | 审核自建模板,上下架模板,管理版本、适用范围、品牌合规和使用统计 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-模板审核与版本管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 活码短链与安全策略 | 市场运营/技术运营 | 维护短链域名、失效页、防刷限频、黑名单和异常渠道告警 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-活码短链与安全策略;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 活动投放范围配置 | 总部市场/区域市场/校区运营 | 配置活动适用校区、可推广角色、可见员工范围、线索归属规则和有效期 | CRM 页采用左侧线索列表、右侧客户详情和底部跟进时间轴,试听页增加到访、反馈和转化任务区。 | 录入线索、查重合并、分配顾问、记录跟进、预约试听、填写反馈、发起仲裁 | 线索编号、家长手机号、学员姓名、来源渠道、保护期、归属顾问、试听课次、转化任务、活动名称、渠道来源 | 重复客户、保护期冲突、超时未跟进、试听未到访、教师反馈缺失、归属争议超时 | 需覆盖撞单提示、客户合并、归属仲裁、误合并恢复、试听未到访唤醒和二次转化。 建议 Figma Frame:MKT-活动投放范围配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 员工推广资产管理 | 总部市场/区域市场/校区运营 | 查看员工专属链接、二维码、海报、启停状态、失效原因和归因参数 | 资产库存页采用左侧分类树、顶部仓库/校区筛选、中部台账表格,详情抽屉展示流水、成本、责任人和审计。 | 新增 SKU、采购申请、验收入库、领用出库、调拨、盘点、报损报废、维修派工 | 物料编码、分类、仓库/校区、库存数量、批次成本、供应商、责任人、盘点差异、活动名称、渠道来源 | 库存不足、编码重复、入库差异、责任人缺失、维修超期、成本调整失败 | 需覆盖图书仅进销存、固定资产责任人变更、维修工单、礼品库存、成本策略和财务凭证联动。 建议 Figma Frame:MKT-员工推广资产管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 迪诺学堂教师端 App/小程序 | 员工端营销推广工作台 | 课程顾问/销售人员/市场人员/班主任 | 查看可推广活动、活动说明、有效期、推广任务、线索回流和个人战报 | CRM 页采用左侧线索列表、右侧客户详情和底部跟进时间轴,试听页增加到访、反馈和转化任务区。 | 录入线索、查重合并、分配顾问、记录跟进、预约试听、填写反馈、发起仲裁 | 线索编号、家长手机号、学员姓名、来源渠道、保护期、归属顾问、试听课次、转化任务、活动名称、渠道来源 | 重复客户、保护期冲突、超时未跟进、试听未到访、教师反馈缺失、归属争议超时 | 需覆盖撞单提示、客户合并、归属仲裁、误合并恢复、试听未到访唤醒和二次转化。 建议 Figma Frame:MKT-员工端营销推广工作台;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 迪诺学堂教师端 App/小程序 | 我的专属二维码 | 课程顾问/销售人员/市场人员/班主任 | 生成并展示本人专属短链、二维码、活码目标、归因参数和失效提示 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-我的专属二维码;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 迪诺学堂教师端 App/小程序 | 我的分享海报 | 课程顾问/销售人员/市场人员/班主任 | 选择海报模板生成带本人二维码的活动海报,支持保存、分享、重新生成和过期提示 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-我的分享海报;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 迪诺学堂教师端 App/小程序 | 活动线索回流 | 课程顾问/销售人员/市场人员/班主任 | 查看本人推广产生的报名、扫码、试听预约、公开课报名和待跟进线索 | CRM 页采用左侧线索列表、右侧客户详情和底部跟进时间轴,试听页增加到访、反馈和转化任务区。 | 录入线索、查重合并、分配顾问、记录跟进、预约试听、填写反馈、发起仲裁 | 线索编号、家长手机号、学员姓名、来源渠道、保护期、归属顾问、试听课次、转化任务、活动名称、渠道来源 | 重复客户、保护期冲突、超时未跟进、试听未到访、教师反馈缺失、归属争议超时 | 需覆盖撞单提示、客户合并、归属仲裁、误合并恢复、试听未到访唤醒和二次转化。 建议 Figma Frame:MKT-活动线索回流;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 迪诺学堂教师端 App/小程序 | 我的推广战报 | 课程顾问/销售人员/市场人员/班主任 | 查看访问量、扫码量、留资数、线索数、试听数、成交数、转化率和排名 | CRM 页采用左侧线索列表、右侧客户详情和底部跟进时间轴,试听页增加到访、反馈和转化任务区。 | 录入线索、查重合并、分配顾问、记录跟进、预约试听、填写反馈、发起仲裁 | 线索编号、家长手机号、学员姓名、来源渠道、保护期、归属顾问、试听课次、转化任务、活动名称、渠道来源 | 重复客户、保护期冲突、超时未跟进、试听未到访、教师反馈缺失、归属争议超时 | 需覆盖撞单提示、客户合并、归属仲裁、误合并恢复、试听未到访唤醒和二次转化。 建议 Figma Frame:MKT-我的推广战报;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 活动大屏模板库 | 总部市场/区域市场/校区运营 | 按周年庆、续费战报、创收龙虎榜、公开课转化、区域 PK、校区排行等场景选择大屏模板 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-活动大屏模板库;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 新建/编辑活动大屏 | 总部市场/区域市场/校区运营 | 选择活动和模板,配置主标题、副标题、主题、组织范围、展示有效期、刷新策略、投屏链接和二维码 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-新建_编辑活动大屏;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏数据源配置 | 总部市场/数据管理员 | 设置系统实时数据、系统补录业务单据、文件导入固定快照的优先级、启用条件和健康检查 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏数据源配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 活动大屏指标口径配置 | 总部市场/数据管理员 | 配置续费率、创收金额、创收单数、扩科、纳新、转介绍、老师排名、校区排名和战区 PK 的指标来源、公式、排序和刷新频率 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-活动大屏指标口径配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏公开令牌管理 | 总部市场/技术运营 | 生成、撤销、续期公开投屏令牌,配置水印、脱敏、访问日志和失效页 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏公开令牌管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 大屏端 | 活动实时战报大屏 | 总部市场/校区活动现场/会议投屏 | 展示活动主标题、副标题、今日收款总金额、最新喜报、订单播报、战区实时战榜、校区实时战榜和老师荣耀战榜 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-活动实时战报大屏;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏校区管理 | 总部市场/区域市场/校区运营 | 维护参与大屏的校区展示名、排序和启停状态;删除前校验老师归属、战区引用、快照基准和历史流水 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏校区管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏老师/人员管理 | 总部市场/区域市场/校区运营 | 维护老师/顾问/其他人员的校区、科目、语文组/数学组/英语组/自定义分组、续费基数、奖励续费人次、扩科单数、创收单数和创收金额 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏老师_人员管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏业绩补录与撤回 | 总部市场/区域市场/校区运营 | 补录续费奖励、续费非奖励、扩科、纳新、转介绍流水,查看最近20条订单流水并按权限撤回最后一笔 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏业绩补录与撤回;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏展示组件配置 | 总部市场/区域市场/校区运营 | 配置战区/校区切换、排名维度、显示全部老师、语数英分组、最新喜报和空状态文案 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏展示组件配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 群活码管理 | 市场运营 | 配置群二维码池、群满自动切换、企微活码、访问统计、失效页和渠道归因 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-群活码管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 拼团活动 | 市场运营 | 配置拼团课程、人数、价格、有效期、成团失败处理、退款和 CRM 线索归因 | 合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。 | 优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签 | 学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、活动名称、渠道来源 | 优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败 | 需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:MKT-拼团活动;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 分销活动 | 市场运营/财务 | 配置分销员、分销层级、佣金、结算、风控和成交归因 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-分销活动;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 落地页/H5 编辑器 | 总部市场/区域市场/校区运营 | 从模板创建活动页面,支持组件编辑、表单配置、素材替换、链接发布和活码生成 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-落地页_h5_编辑器;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 员工推广资产管理 | 总部市场/区域市场/校区运营 | 查看每个员工的专属链接、二维码、海报、启停状态、失效原因和归因参数 | 资产库存页采用左侧分类树、顶部仓库/校区筛选、中部台账表格,详情抽屉展示流水、成本、责任人和审计。 | 新增 SKU、采购申请、验收入库、领用出库、调拨、盘点、报损报废、维修派工 | 物料编码、分类、仓库/校区、库存数量、批次成本、供应商、责任人、盘点差异、活动名称、渠道来源 | 库存不足、编码重复、入库差异、责任人缺失、维修超期、成本调整失败 | 需覆盖图书仅进销存、固定资产责任人变更、维修工单、礼品库存、成本策略和财务凭证联动。 建议 Figma Frame:MKT-员工推广资产管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 活动大屏模板库 | 总部市场/区域市场/校区运营 | 按周年庆、续费战报、创收龙虎榜、公开课转化、区域 PK、校区排行等场景选择大屏模板,查看模板布局、组件、口径和适用范围 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-活动大屏模板库;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 新建/编辑活动大屏 | 总部市场/区域市场/校区运营 | 选择营销活动和大屏模板,配置主标题、副标题、主题、组织范围、展示有效期、刷新策略、投屏链接和二维码 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-新建_编辑活动大屏;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏数据源配置 | 总部市场/区域市场/校区运营/数据管理员 | 设置系统实时数据、系统补录业务单据、文件导入固定快照的优先级和启用条件,默认优先读取系统内实时业务对象 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏数据源配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 活动大屏指标口径配置 | 总部市场/区域市场/校区运营/数据管理员 | 配置续费率、创收金额、创收单数、扩科、纳新、转介绍、老师排名、校区排名和战区 PK 的指标来源、公式、排序和刷新频率 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-活动大屏指标口径配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏校区管理 | 总部市场/区域市场/校区运营 | 维护参与大屏的校区展示名、排序和启停状态;删除前校验老师归属、战区引用、快照基准和历史流水,存在引用时阻断删除 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏校区管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏业绩补录 | 总部市场/区域市场/校区运营 | 按校区、老师/人员、课程科目、续费奖励、续费非奖励、扩科、纳新、转介绍、金额和创收单数录入系统补录业务单据,并触发大屏重算 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏业绩补录;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏订单流水与撤回 | 总部市场/区域市场/校区运营/审计员 | 查看最近20条订单、补录、撤回和回滚流水;最后一笔可按权限撤回,撤回需填写原因并写入审计 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏订单流水与撤回;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 战区/区域/校区配置 | 总部市场/区域市场/校区运营 | 按区域、校区、业务单元或自定义战区组合大屏参赛范围,配置展示排序、人员范围和校区范围 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-战区_区域_校区配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | PK 对阵配置 | 总部市场/区域市场/校区运营 | 配置战区 VS 战区、战区 VS 其他校区平均值的对阵关系、比较指标、胜负规则和异常兜底 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-pk_对阵配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 老师/人员展示范围配置 | 总部市场/区域市场/校区运营 | 按角色、课程、科目、校区、战区和活动授权筛选老师荣耀战榜展示人员,支持排除离职或停用人员 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-老师_人员展示范围配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏展示组件配置 | 总部市场/区域市场/校区运营 | 配置战区实时战榜/校区实时战榜切换、续费率排名/创收单数排名切换、显示全部老师/总榜切换、语数英分组、最新喜报和空状态文案 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏展示组件配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 导入固定名单快照 | 总部市场/区域市场/校区运营 | 仅在系统无结构化实时数据时导入待续名单、老师名单、校区名单和历史基数,导入后形成固定基准快照并记录版本、来源、导入人和时间 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-导入固定名单快照;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏数据异常与口径校验 | 总部市场/区域市场/校区运营/数据管理员 | 查看指标缺数、业务流水缺失、快照过期、排名异常、刷新失败和口径冲突,支持重算、禁用快照和人工确认 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏数据异常与口径校验;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 大屏链接/二维码/投屏地址发布 | 总部市场/区域市场/校区运营 | 发布或停用大屏公开访问链接、二维码和投屏地址,查看最后刷新时间、访问令牌、展示状态和访问审计 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-大屏链接_二维码_投屏地址发布;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 大屏端 | 战区 PK 与龙虎榜展示 | 总部市场/校区活动现场/会议投屏 | 按续费率、创收单数、创收金额切换战区 PK、校区排行和老师排行,显示实时刷新时间和异常提示 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-战区_pk_与龙虎榜展示;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 大屏端 | 校区实时战榜 | 总部市场/校区活动现场/会议投屏 | 从战区实时战榜切换到校区实时战榜,支持续费率排名、创收单数排名和创收金额展示 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-校区实时战榜;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 大屏端 | 老师荣耀战榜 | 总部市场/校区活动现场/会议投屏 | 按续费率排名或创收单数排名展示老师榜单,支持显示全部老师或回到总榜,按语文组、数学组、英语组分组展示 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:MKT-老师荣耀战榜;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 迪诺学堂教师端 App/小程序 | 可推广活动详情 | 课程顾问/销售人员/市场人员/班主任 | 查看活动 H5 预览、适用校区、推广话术、优惠政策、报名表单和线索归属说明 | 合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。 | 优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签 | 学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、活动名称、渠道来源 | 优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败 | 需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:MKT-可推广活动详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 外部招生 H5 | 员工专属活动页 | 外部家长/学员 | 通过员工专属链接访问活动页,提交后保留员工、校区、渠道和活动归因 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-员工专属活动页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 外部招生 H5 | 推广链接失效页 | 外部家长/学员 | 活动停用、二维码过期、目标下架或风控拦截时展示原因和可用替代入口 | 家长端使用移动端卡片流和底部主按钮,重要操作采用二次确认弹窗并展示处理进度。 | 绑定学员、查看课表、提交请假、确认补课、改期取消、缴费、签署合同、提交工单 | 绑定学员、课程、合同、应缴金额、请假课次、补课候选、服务工单、服务消息、活动名称、渠道来源 | 绑定关系异常、补课候选过期、支付失败、合同签署失败、工单已关闭、消息发送失败 | 需覆盖微信小程序/H5 状态、合同缴费、补课候选确认、服务通知、工单进度和异常联系入口。 建议 Figma Frame:MKT-推广链接失效页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 模板库 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕营销闭环完善模板库的入口、字段、状态、异常提示、处理进度和验收反馈 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-模板库;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 活动编辑器 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕营销闭环完善活动编辑器的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-活动编辑器;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 活码配置 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕营销闭环完善活码配置的入口、字段、状态、异常提示、处理进度和验收反馈 | 营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。 | 选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化 | 活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、渠道来源、模板类型 | 模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效 | 需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:MKT-活码配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 线索表单 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕营销闭环完善线索表单的入口、字段、状态、异常提示、处理进度和验收反馈 | CRM 页采用左侧线索列表、右侧客户详情和底部跟进时间轴,试听页增加到访、反馈和转化任务区。 | 录入线索、查重合并、分配顾问、记录跟进、预约试听、填写反馈、发起仲裁 | 线索编号、家长手机号、学员姓名、来源渠道、保护期、归属顾问、试听课次、转化任务、活动名称、渠道来源 | 重复客户、保护期冲突、超时未跟进、试听未到访、教师反馈缺失、归属争议超时 | 需覆盖撞单提示、客户合并、归属仲裁、误合并恢复、试听未到访唤醒和二次转化。 建议 Figma Frame:MKT-线索表单;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | CRM 跟进 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕营销闭环完善CRM 跟进的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-crm_跟进;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 可推广活动 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕员工端联动完善可推广活动的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-可推广活动;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 我的二维码 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕员工端联动完善我的二维码的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-我的二维码;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 我的海报 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕员工端联动完善我的海报的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-我的海报;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 分享记录 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕员工端联动完善分享记录的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-分享记录;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 推广战报 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕员工端联动完善推广战报的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-推广战报;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 新建 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕活动大屏闭环完善新建的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-新建;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web/外部招生 H5/迪诺学堂教师端 App/小程序 | 编辑活动大屏 | 总部市场/区域市场/校区运营/课程顾问/销售人员/市场人员/班主任/外部访客 | 围绕活动大屏闭环完善编辑活动大屏的入口、字段、状态、异常提示、处理进度和验收反馈 | 移动端采用顶部标题/状态区、内容卡片流和底部主按钮;平板端需要分栏布局和横屏适配。 | 查看、提交、保存、取消、确认、联系客服、创建渠道、选择模板 | 活动名称、渠道来源、模板类型、落地页链接、活码编号、推广范围、员工专属二维码、员工专属海报、预算金额、负责人 | 网络异常、权限不足、提交失败、状态已变化 | 需分别标注小程序、App、H5、平板和桌面壳的适配差异。 建议 Figma Frame:MKT-编辑活动大屏;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
09 · 页面到接口的前后端闭环矩阵
把原型页面、后端接口、数据对象、状态和消息审批绑定到一起
设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。| 原型页面 | 关键接口 | 关联对象 | 状态流 | 审批/权限触发 | 消息/待办触达 | 原型验收要求 |
|---|---|---|---|---|---|---|
| 渠道档案 | POST /api/v1/marketing/employee-share-records | MarketingChannel | 待提交 -> 提交中 -> 提交成功 -> 疑似重复 -> 风控拦截 -> 生成线索失败 -> 已进入 CRM | 活动发布审批:活动 H5、表单、优惠、投放范围或可推广员工范围配置完成后发布 | 新活动可推广提醒 -> 课程顾问/销售人员/市场人员/班主任 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 营销活动 | POST/GET/PUT/DELETE /api/v1/marketing/screens/{id}/campus-configs | MarketingCampaign | 草稿 -> 配置中 -> 待发布 -> 已发布 -> 展示中 -> 刷新断连 -> 数据异常 -> 已停用 -> 已归档 | 活动大屏发布审批:活动大屏模板、指标口径、战区 PK、投屏链接和公开访问范围配置完成后发布 | 员工推广码生成结果 -> 课程顾问/销售人员/市场人员/班主任 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 活动报名落地页 | POST/GET/PUT /api/v1/marketing/screens/{id}/display-widgets | MarketingPageTemplate | 未配置 -> 待校验 -> 正常 -> 部分缺失 -> 异常 -> 断连 -> 已停用 | 自建页面转模板审批:校区或区域自建活动页面申请沉淀为可复用模板 | 活动线索回流提醒 -> 课程顾问/销售人员/市场人员/班主任 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 公开课直播转化看板 | POST/GET/PUT /api/v1/marketing/screens/{id}/pk-pairs | CampaignLandingPage | 未配置 -> 已配置 -> 口径校验中 -> 校验通过 -> 校验失败 -> 刷新中 -> 已刷新 -> 部分失败 | 推广资产停用审批:员工推广资产涉及违规素材、活动结束前停用或批量作废 | 推广资产失效提醒 -> 课程顾问/销售人员/市场人员/班主任 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 活动模板库 | POST/GET /api/v1/marketing/coupon-scan-campaigns | LiveQrCode | 待提交 -> 提交中 -> 提交成功 -> 疑似重复 -> 风控拦截 -> 生成线索失败 -> 已进入 CRM | 活动发布审批:活动 H5、表单、优惠、投放范围或可推广员工范围配置完成后发布 | 个人推广战报提醒 -> 课程顾问/销售人员/市场人员/班主任/校区负责人 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 落地页/H5 编辑器 | POST /api/v1/marketing/employee-share-records | ScanRecord | 草稿 -> 编辑中 -> 待发布 -> 发布中 -> 已发布 -> 发布失败 -> 已停用 -> 已过期 | 活动大屏发布审批:活动大屏模板、指标口径、战区 PK、投屏链接和公开访问范围配置完成后发布 | 活动大屏发布提醒 -> 总部市场/区域市场/校区运营/活动负责人 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 自建页面转模板 | POST/GET/PUT/DELETE /api/v1/marketing/screens/{id}/campus-configs | CampaignFormSubmit | 未配置 -> 待校验 -> 正常 -> 部分缺失 -> 异常 -> 断连 -> 已停用 | 自建页面转模板审批:校区或区域自建活动页面申请沉淀为可复用模板 | 活动大屏数据异常提醒 -> 总部市场/数据管理员/活动负责人 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 模板审核与版本管理 | POST/GET/PUT /api/v1/marketing/screens/{id}/display-widgets | EmployeePromotionAsset | 未配置 -> 已配置 -> 口径校验中 -> 校验通过 -> 校验失败 -> 刷新中 -> 已刷新 -> 部分失败 | 推广资产停用审批:员工推广资产涉及违规素材、活动结束前停用或批量作废 | 新活动可推广提醒 -> 课程顾问/销售人员/市场人员/班主任 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 活码短链与安全策略 | POST/GET/PUT /api/v1/marketing/screens/{id}/pk-pairs | EmployeeShareRecord | 待提交 -> 提交中 -> 提交成功 -> 疑似重复 -> 风控拦截 -> 生成线索失败 -> 已进入 CRM | 活动发布审批:活动 H5、表单、优惠、投放范围或可推广员工范围配置完成后发布 | 员工推广码生成结果 -> 课程顾问/销售人员/市场人员/班主任 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 活动投放范围配置 | POST/GET /api/v1/marketing/coupon-scan-campaigns | EmployeeCampaignStat | 草稿 -> 配置中 -> 待发布 -> 已发布 -> 展示中 -> 刷新断连 -> 数据异常 -> 已停用 -> 已归档 | 活动大屏发布审批:活动大屏模板、指标口径、战区 PK、投屏链接和公开访问范围配置完成后发布 | 活动线索回流提醒 -> 课程顾问/销售人员/市场人员/班主任 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 员工推广资产管理 | POST /api/v1/marketing/employee-share-records | MarketingActivityScreenTemplate | 待生成 -> 已生成 -> 分享中 -> 已停用 -> 已失效 -> 生成失败 | 自建页面转模板审批:校区或区域自建活动页面申请沉淀为可复用模板 | 推广资产失效提醒 -> 课程顾问/销售人员/市场人员/班主任 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 员工端营销推广工作台 | POST/GET/PUT/DELETE /api/v1/marketing/screens/{id}/campus-configs | MarketingActivityScreen | 未配置 -> 已配置 -> 口径校验中 -> 校验通过 -> 校验失败 -> 刷新中 -> 已刷新 -> 部分失败 | 推广资产停用审批:员工推广资产涉及违规素材、活动结束前停用或批量作废 | 个人推广战报提醒 -> 课程顾问/销售人员/市场人员/班主任/校区负责人 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
10 · 原型、UI、研发、测试交付补充
把关键闭环补强为下一阶段可执行任务
本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。| 能力域 | 功能补充要求 | 原型交付要求 | UI 交互要求 | 研发实现要求 | 测试验收要求 |
|---|---|---|---|---|---|
| 营销闭环 | 补齐从模板选择、页面发布、活码生成、扫码统计、表单提交、线索查重、分配跟进到效果复盘的闭环。 | 模板库、活动编辑器、活码配置、线索表单、CRM 跟进 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;每条线索能追溯活动、渠道、模板、活码和首次访问记录。 |
| 员工端联动 | 补齐活动发布到员工端、员工领取活动、生成专属链接/二维码/海报、分享记录、线索回流待办和个人推广战报。 | 员工端营销推广工作台、可推广活动、我的二维码、我的海报、分享记录、推广战报 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;活动发布后授权员工可在迪诺学堂教师端 App/小程序看到并生成本人推广资产;线索可回流到本人或分配规则指定责任人。 |
| 活动大屏闭环 | 补齐活动大屏模板库、后台配置、实时数据源优先级、指标口径、战区 PK、老师荣耀榜、固定名单快照、投屏发布和断连恢复。 | 活动大屏模板库、新建/编辑活动大屏、数据源配置、指标口径配置、战区 PK 配置、固定名单快照导入、实时战报大屏 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;大屏优先读取迪诺学堂系统内实时业务数据,文件导入只作兜底固定快照;订单支付、续费、退费、作废和补录均能触发大屏重算。 |
| 模板治理 | 补充模板审核、上下架、版本复用、素材归属、适用校区和复制创建规则。 | 模板详情、转模板弹窗、模板审核页 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;模板发布后有版本号和审核记录,停用模板不影响已发布页面。 |
| 异常状态 | 补齐二维码失效页、目标不可访问页、重复提交提示、访问频控和黑名单命中状态。 | 外部 H5、扫码页、提交成功页、失效页 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;外部用户遇到异常时能看到原因和下一步操作入口。 |
| 裂变营销对标 | 补齐增长玩法配置、活动规则、奖励口径、防刷规则、失效页、员工推广资产和 CRM 线索归因。 | 群活码管理、扫码领券、拼团活动、分销活动、支付有礼、推荐有礼、优惠套餐、宣传统计 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;每个玩法从活动发布、外部访问、留资/下单、奖励结算、线索回流到报表统计均可追踪。 |
| 活动大屏对标 | 补齐多模板活动大屏、战区/校区/老师榜单、实时收款总额、订单播报、PK 对阵、数据源优先级和固定名单快照兜底。 | 活动大屏模板库、活动大屏管理、数据源配置、指标配置、战区 PK、投屏发布 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;系统内实时业务数据优先,文件导入只在无结构化数据时作为固定基准,不允许替代正式业务流水。 |
| 线上商城营销对标 | 迪诺营销中心负责商城营销页和订单归因,物品库存与核销由物料资产中心负责,合同金额和优惠由销售合同中心承接。 | 商城首页装修、商城物品展示、线上订单、推荐订单、优惠套餐订单 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;商城订单、活动、员工、渠道、推荐人、库存、合同和收款之间具备完整链路。 |
| 营销素材库对标 | 补齐素材分类、标签、版权、审核、引用、下架影响和活动页引用快照。 | 营销图文素材、艺术字库、图片素材、视频素材、宣传统计 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;素材可被活动页、海报、课堂报告和家校内容复用,引用、审核、下架和统计可追踪。 |
11 · 数据对象与字段字典
明确页面、接口、数据库共同使用的数据语言
字段涉及敏感、人脸、财务、绩效时,原型需体现脱敏、授权和审计。核心对象
| 对象 | 说明 |
|---|---|
| MarketingChannel | 渠道档案与投放预算;落地表:mkt_channel |
| MarketingCampaign | 营销活动主数据;落地表:mkt_campaign |
| MarketingPageTemplate | 内置和自建活动模板库;落地表:mkt_page_template |
| CampaignLandingPage | 活动 H5/落地页实例;落地表:mkt_landing_page |
| LiveQrCode | 活码规则与动态跳转;落地表:mkt_live_qr_code |
| ScanRecord | 活码扫码与访问记录;落地表:mkt_scan_record |
| CampaignFormSubmit | 活动表单留资;落地表:mkt_form_submit |
| EmployeePromotionAsset | 员工专属推广链接、二维码和海报资产;落地表:mkt_employee_promotion_asset |
| EmployeeShareRecord | 员工活动分享和访问转化记录;落地表:mkt_employee_share_record |
| EmployeeCampaignStat | 员工活动推广效果快照;落地表:mkt_employee_campaign_stat |
| MarketingActivityScreenTemplate | 活动大屏模板库;落地表:mkt_activity_screen_template |
| MarketingActivityScreen | 活动大屏实例;落地表:mkt_activity_screen |
| MarketingScreenDataSourceConfig | 活动大屏数据源配置;落地表:mkt_screen_data_source_config |
| MarketingScreenMetricConfig | 活动大屏指标口径配置;落地表:mkt_screen_metric_config |
| MarketingScreenCampusConfig | 活动大屏校区配置;落地表:mkt_screen_campus_config |
| MarketingScreenPersonnelConfig | 活动大屏老师/人员配置;落地表:mkt_screen_personnel_config |
| MarketingScreenManualPerformanceRecord | 活动大屏补录与撤回流水;落地表:mkt_screen_manual_performance_record |
| MarketingScreenDisplayWidgetConfig | 活动大屏展示组件配置;落地表:mkt_screen_display_widget_config |
| MarketingScreenZone | 活动大屏战区/区域配置;落地表:mkt_screen_zone |
| MarketingScreenPkPair | 活动大屏 PK 对阵配置;落地表:mkt_screen_pk_pair |
| MarketingScreenRosterSnapshot | 活动大屏固定名单快照;落地表:mkt_screen_roster_snapshot |
| MarketingScreenDataSnapshot | 活动大屏运行期指标快照;落地表:mkt_screen_data_snapshot |
关联引用对象
| 对象 | 说明 |
|---|---|
| Organization | 集团、区域、校区、部门组织树;引用来源:FND / sys_organization |
| User/Employee | 统一登录账号;引用来源:FND / sys_user |
| Employee | 员工基础档案;引用来源:FND / sys_employee |
| Role | 角色定义;引用来源:FND / sys_role |
| ApprovalFlow | 审批流配置;引用来源:FND / sys_approval_flow |
| MessageTemplate | 消息模板与多端触达配置;引用来源:FND / sys_message_template |
| AuditLog | 全平台操作审计日志;引用来源:FND / sys_audit_log |
| IntegrationLog | 接口调用日志;引用来源:OPEN / int_integration_log |
| SensitiveFieldPolicy | 敏感字段脱敏策略;引用来源:SEC / sec_sensitive_field_policy |
| Lead | 销售线索主表;引用来源:CRM / crm_lead |
| CustomerFamily | 客户家庭档案;引用来源:CRM / crm_customer_family |
| Student | 学员基础档案;引用来源:CRM / stu_student |
| Contract | 合同主表;引用来源:CON / con_contract |
| Order | 订单和应收;引用来源:CON / ord_order |
| Payment | 收款单;引用来源:CON / ord_payment |
| Course/Product | 课程产品;引用来源:EDU / edu_course |
| Class | 班级;引用来源:EDU / edu_class |
| CampusProfile | 校区档案、经纬度和监管基础信息;引用来源:FND / sys_campus_profile |
| PublicLiveConversion | 公开课直播转化线索;引用来源:LIVE / live_public_conversion |
| TeacherTodo | 教师/员工待办;引用来源:TTV / mob_teacher_todo |
完整字段字典
| 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|
| MarketingChannel | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingChannel | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingChannel | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingChannel | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingChannel | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingChannel | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingChannel | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingChannel | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingChannel | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingChannel | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingChannel | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingChannel | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingChannel | channel_code | VARCHAR(64) | 是 | 渠道编码,唯一 | 普通 |
| MarketingChannel | channel_name | VARCHAR(128) | 是 | 渠道名称 | 普通 |
| MarketingChannel | channel_type | VARCHAR(32) | 是 | 线上/线下/合作/自然流量 | 普通 |
| MarketingChannel | owner_id | BIGINT | 否 | 渠道负责人 | 普通 |
| MarketingChannel | budget_amount | DECIMAL(18,2) | 否 | 预算金额 | 普通 |
| MarketingChannel | roi_rule | JSON | 否 | ROI 统计规则 | 普通 |
| MarketingCampaign | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingCampaign | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingCampaign | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingCampaign | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingCampaign | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingCampaign | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingCampaign | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingCampaign | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingCampaign | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingCampaign | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingCampaign | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingCampaign | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingCampaign | campaign_code | VARCHAR(64) | 是 | 活动编码,唯一 | 普通 |
| MarketingCampaign | campaign_name | VARCHAR(128) | 是 | 活动名称 | 普通 |
| MarketingCampaign | channel_id | BIGINT | 否 | 所属渠道 | 普通 |
| MarketingCampaign | campus_scope | JSON | 是 | 适用校区范围 | 普通 |
| MarketingCampaign | start_at | DATETIME | 是 | 开始时间 | 普通 |
| MarketingCampaign | end_at | DATETIME | 是 | 结束时间 | 普通 |
| MarketingCampaign | biz_status | VARCHAR(32) | 是 | 业务状态,取值来自状态机字典 | 普通 |
| MarketingCampaign | remark | VARCHAR(512) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| MarketingPageTemplate | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingPageTemplate | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingPageTemplate | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingPageTemplate | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingPageTemplate | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingPageTemplate | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingPageTemplate | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingPageTemplate | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingPageTemplate | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingPageTemplate | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingPageTemplate | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingPageTemplate | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingPageTemplate | template_code | VARCHAR(64) | 是 | 模板编码,唯一 | 普通 |
| MarketingPageTemplate | template_name | VARCHAR(128) | 是 | 模板名称 | 普通 |
| MarketingPageTemplate | template_type | VARCHAR(32) | 是 | 节气/传统节日/公开课/招生活动/自建 | 普通 |
| MarketingPageTemplate | festival_type | VARCHAR(32) | 否 | 节日或节气分类 | 普通 |
| MarketingPageTemplate | template_schema | JSON | 是 | 页面结构、组件和默认文案 | 普通 |
| MarketingPageTemplate | review_status | VARCHAR(32) | 是 | 草稿/审核中/已通过/已驳回 | 普通 |
| MarketingPageTemplate | version_no | INT | 是 | 模板版本 | 普通 |
| CampaignLandingPage | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| CampaignLandingPage | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| CampaignLandingPage | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| CampaignLandingPage | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| CampaignLandingPage | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| CampaignLandingPage | created_at | DATETIME | 是 | 创建时间 | 普通 |
| CampaignLandingPage | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| CampaignLandingPage | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| CampaignLandingPage | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| CampaignLandingPage | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| CampaignLandingPage | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| CampaignLandingPage | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| CampaignLandingPage | page_code | VARCHAR(64) | 是 | 页面编码,唯一 | 普通 |
| CampaignLandingPage | campaign_id | BIGINT | 是 | 关联营销活动 | 普通 |
| CampaignLandingPage | template_id | BIGINT | 否 | 来源模板 ID | 普通 |
| CampaignLandingPage | page_schema | JSON | 是 | 页面组件配置 | 普通 |
| CampaignLandingPage | publish_status | VARCHAR(32) | 是 | 草稿/已发布/已下线 | 普通 |
| CampaignLandingPage | published_url | VARCHAR(512) | 否 | 发布访问地址 | 普通 |
| CampaignLandingPage | tracking_config | JSON | 否 | 埋点和转化归因配置 | 普通 |
| LiveQrCode | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| LiveQrCode | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| LiveQrCode | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| LiveQrCode | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| LiveQrCode | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| LiveQrCode | created_at | DATETIME | 是 | 创建时间 | 普通 |
| LiveQrCode | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| LiveQrCode | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| LiveQrCode | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| LiveQrCode | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| LiveQrCode | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| LiveQrCode | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| LiveQrCode | qr_code | VARCHAR(64) | 是 | 活码编码,唯一 | 普通 |
| LiveQrCode | biz_type | VARCHAR(64) | 是 | 活动页/资源/课程/直播/表单 | 普通 |
| LiveQrCode | target_rule | JSON | 是 | 动态目标规则 | 普通 |
| LiveQrCode | fallback_url | VARCHAR(512) | 否 | 失效或异常兜底地址 | 普通 |
| LiveQrCode | rate_limit_rule | JSON | 否 | 防刷规则 | 普通 |
| LiveQrCode | enabled | TINYINT | 是 | 是否启用 | 普通 |
| ScanRecord | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ScanRecord | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ScanRecord | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ScanRecord | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ScanRecord | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ScanRecord | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ScanRecord | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ScanRecord | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ScanRecord | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ScanRecord | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ScanRecord | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ScanRecord | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ScanRecord | qr_code_id | BIGINT | 是 | 活码 ID | 普通 |
| ScanRecord | visitor_id | VARCHAR(128) | 否 | 匿名访客 ID | 普通 |
| ScanRecord | openid | VARCHAR(128) | 否 | 微信 OpenID,敏感 | 敏感 |
| ScanRecord | scan_at | DATETIME | 是 | 扫码时间 | 普通 |
| ScanRecord | resolved_target | VARCHAR(512) | 是 | 实际解析目标 | 普通 |
| ScanRecord | risk_result | VARCHAR(32) | 否 | 防刷风险结果 | 普通 |
| CampaignFormSubmit | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| CampaignFormSubmit | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| CampaignFormSubmit | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| CampaignFormSubmit | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| CampaignFormSubmit | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| CampaignFormSubmit | created_at | DATETIME | 是 | 创建时间 | 普通 |
| CampaignFormSubmit | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| CampaignFormSubmit | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| CampaignFormSubmit | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| CampaignFormSubmit | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| CampaignFormSubmit | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| CampaignFormSubmit | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| CampaignFormSubmit | submit_no | VARCHAR(64) | 是 | 提交编号,唯一 | 普通 |
| CampaignFormSubmit | page_id | BIGINT | 是 | 页面 ID | 普通 |
| CampaignFormSubmit | guardian_mobile | VARCHAR(32) | 是 | 家长手机号,敏感 | 敏感 |
| CampaignFormSubmit | student_name | VARCHAR(64) | 否 | 学员姓名 | 普通 |
| CampaignFormSubmit | form_data | JSON | 是 | 表单完整提交数据 | 普通 |
| CampaignFormSubmit | lead_id | BIGINT | 否 | 转化生成线索 ID | 普通 |
| CampaignFormSubmit | submit_status | VARCHAR(32) | 是 | 成功/失败/重复/风控拦截 | 普通 |
| EmployeePromotionAsset | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| EmployeePromotionAsset | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| EmployeePromotionAsset | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| EmployeePromotionAsset | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| EmployeePromotionAsset | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| EmployeePromotionAsset | created_at | DATETIME | 是 | 创建时间 | 普通 |
| EmployeePromotionAsset | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| EmployeePromotionAsset | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| EmployeePromotionAsset | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| EmployeePromotionAsset | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| EmployeePromotionAsset | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| EmployeePromotionAsset | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| EmployeePromotionAsset | asset_no | VARCHAR(64) | 是 | 推广资产编号,唯一 | 普通 |
| EmployeePromotionAsset | campaign_id | BIGINT | 是 | 关联营销活动 | 普通 |
| EmployeePromotionAsset | landing_page_id | BIGINT | 是 | 关联活动落地页 | 普通 |
| EmployeePromotionAsset | employee_id | BIGINT | 是 | 推广员工 ID | 普通 |
| EmployeePromotionAsset | campus_id_ref | BIGINT | 否 | 员工推广归属校区 | 普通 |
| EmployeePromotionAsset | qr_code_id | BIGINT | 否 | 关联活码 ID | 普通 |
| EmployeePromotionAsset | short_url | VARCHAR(512) | 否 | 员工专属短链 | 普通 |
| EmployeePromotionAsset | poster_file_id | BIGINT | 否 | 员工专属分享海报文件 | 普通 |
| EmployeePromotionAsset | share_params | JSON | 是 | campaignId/pageId/campusId/channelId/employeeId/shareScene 等归因参数 | 普通 |
| EmployeePromotionAsset | asset_status | VARCHAR(32) | 是 | 待生成/已生成/已停用/已失效 | 普通 |
| EmployeeShareRecord | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| EmployeeShareRecord | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| EmployeeShareRecord | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| EmployeeShareRecord | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| EmployeeShareRecord | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| EmployeeShareRecord | created_at | DATETIME | 是 | 创建时间 | 普通 |
| EmployeeShareRecord | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| EmployeeShareRecord | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| EmployeeShareRecord | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| EmployeeShareRecord | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| EmployeeShareRecord | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| EmployeeShareRecord | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| EmployeeShareRecord | asset_id | BIGINT | 是 | 推广资产 ID | 普通 |
| EmployeeShareRecord | employee_id | BIGINT | 是 | 推广员工 ID | 普通 |
| EmployeeShareRecord | share_scene | VARCHAR(64) | 是 | 微信好友/朋友圈/企微/二维码海报/复制链接/线下物料 | 普通 |
| EmployeeShareRecord | share_at | DATETIME | 是 | 分享时间 | 普通 |
| EmployeeShareRecord | visitor_id | VARCHAR(128) | 否 | 访客匿名 ID | 普通 |
| EmployeeShareRecord | scan_record_id | BIGINT | 否 | 关联扫码记录 | 普通 |
| EmployeeShareRecord | form_submit_id | BIGINT | 否 | 关联表单提交 | 普通 |
| EmployeeShareRecord | lead_id | BIGINT | 否 | 关联 CRM 线索 | 普通 |
| EmployeeShareRecord | conversion_stage | VARCHAR(32) | 是 | 访问/留资/预约/到访/试听/签约/流失 | 普通 |
| EmployeeCampaignStat | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| EmployeeCampaignStat | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| EmployeeCampaignStat | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| EmployeeCampaignStat | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| EmployeeCampaignStat | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| EmployeeCampaignStat | created_at | DATETIME | 是 | 创建时间 | 普通 |
| EmployeeCampaignStat | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| EmployeeCampaignStat | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| EmployeeCampaignStat | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| EmployeeCampaignStat | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| EmployeeCampaignStat | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| EmployeeCampaignStat | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| EmployeeCampaignStat | stat_date | DATE | 是 | 统计日期 | 普通 |
| EmployeeCampaignStat | campaign_id | BIGINT | 是 | 营销活动 ID | 普通 |
| EmployeeCampaignStat | employee_id | BIGINT | 是 | 员工 ID | 普通 |
| EmployeeCampaignStat | campus_id_ref | BIGINT | 否 | 归属校区 | 普通 |
| EmployeeCampaignStat | visit_count | INT | 是 | 访问量 | 普通 |
| EmployeeCampaignStat | scan_count | INT | 是 | 扫码量 | 普通 |
| EmployeeCampaignStat | submit_count | INT | 是 | 留资数 | 普通 |
| EmployeeCampaignStat | lead_count | INT | 是 | 线索数 | 普通 |
| EmployeeCampaignStat | trial_count | INT | 是 | 试听预约数 | 普通 |
| EmployeeCampaignStat | deal_count | INT | 是 | 成交数 | 普通 |
| EmployeeCampaignStat | roi_snapshot | JSON | 否 | 转化率、成交额和 ROI 快照 | 普通 |
| MarketingActivityScreenTemplate | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingActivityScreenTemplate | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingActivityScreenTemplate | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingActivityScreenTemplate | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingActivityScreenTemplate | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingActivityScreenTemplate | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingActivityScreenTemplate | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingActivityScreenTemplate | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingActivityScreenTemplate | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingActivityScreenTemplate | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingActivityScreenTemplate | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingActivityScreenTemplate | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingActivityScreenTemplate | template_code | VARCHAR(64) | 是 | 大屏模板编码,唯一 | 普通 |
| MarketingActivityScreenTemplate | template_name | VARCHAR(128) | 是 | 模板名称 | 普通 |
| MarketingActivityScreenTemplate | template_scene | VARCHAR(64) | 是 | 周年庆/续费战报/创收龙虎榜/公开课转化/区域 PK/校区排行 | 普通 |
| MarketingActivityScreenTemplate | layout_schema | JSON | 是 | 大屏布局、模块、视觉主题、榜单区域和轮播配置 | 普通 |
| MarketingActivityScreenTemplate | default_metric_codes | JSON | 是 | 默认指标编码,如续费率、创收单数、创收金额、扩科、纳新、转介绍 | 普通 |
| MarketingActivityScreenTemplate | default_refresh_rule | JSON | 否 | 默认刷新策略,事件推送优先,短轮询兜底 | 普通 |
| MarketingActivityScreenTemplate | template_scope | JSON | 是 | 适用组织、校区、活动类型和角色范围 | 普通 |
| MarketingActivityScreenTemplate | review_status | VARCHAR(32) | 是 | 草稿/审核中/已通过/已驳回/已下架 | 普通 |
| MarketingActivityScreenTemplate | version_no | INT | 是 | 模板版本号 | 普通 |
| MarketingActivityScreen | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingActivityScreen | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingActivityScreen | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingActivityScreen | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingActivityScreen | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingActivityScreen | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingActivityScreen | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingActivityScreen | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingActivityScreen | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingActivityScreen | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingActivityScreen | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingActivityScreen | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingActivityScreen | screen_no | VARCHAR(64) | 是 | 活动大屏编号,唯一 | 普通 |
| MarketingActivityScreen | screen_name | VARCHAR(128) | 是 | 大屏名称 | 普通 |
| MarketingActivityScreen | campaign_id | BIGINT | 是 | 关联营销活动 | 普通 |
| MarketingActivityScreen | template_id | BIGINT | 是 | 关联活动大屏模板 | 普通 |
| MarketingActivityScreen | org_scope | JSON | 是 | 总部、区域、校区、战区和业务单元展示范围 | 普通 |
| MarketingActivityScreen | main_title | VARCHAR(128) | 是 | 大屏主标题 | 普通 |
| MarketingActivityScreen | sub_title | VARCHAR(256) | 否 | 大屏副标题 | 普通 |
| MarketingActivityScreen | theme_config | JSON | 否 | 主题色、背景、字体、喜报播报和动效配置 | 普通 |
| MarketingActivityScreen | display_start_at | DATETIME | 否 | 投屏展示开始时间 | 普通 |
| MarketingActivityScreen | display_end_at | DATETIME | 否 | 投屏展示结束时间 | 普通 |
| MarketingActivityScreen | refresh_mode | VARCHAR(32) | 是 | 事件推送/短轮询/手动刷新 | 普通 |
| MarketingActivityScreen | refresh_interval_sec | INT | 否 | 短轮询刷新间隔秒数 | 普通 |
| MarketingActivityScreen | realtime_event_topics | JSON | 否 | 订单支付、续费生效、退费、作废、补录生效等刷新触发事件 | 普通 |
| MarketingActivityScreen | public_token | VARCHAR(128) | 否 | 投屏公开访问令牌 | 普通 |
| MarketingActivityScreen | public_token_expire_at | DATETIME | 否 | 公开访问令牌过期时间 | 普通 |
| MarketingActivityScreen | public_token_status | VARCHAR(32) | 是 | 未生成/有效/已撤销/已过期 | 普通 |
| MarketingActivityScreen | public_url | VARCHAR(512) | 否 | 投屏访问链接 | 普通 |
| MarketingActivityScreen | watermark_config | JSON | 否 | 公开投屏水印、机构标识和访问提示配置 | 普通 |
| MarketingActivityScreen | access_policy | JSON | 否 | 公开访问范围、脱敏策略、IP 限制和访问日志策略 | 普通 |
| MarketingActivityScreen | screen_status | VARCHAR(32) | 是 | 草稿/配置中/待发布/已发布/展示中/数据异常/已停用/已归档 | 普通 |
| MarketingActivityScreen | last_refresh_at | DATETIME | 否 | 最近刷新时间 | 普通 |
| MarketingScreenDataSourceConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenDataSourceConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenDataSourceConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenDataSourceConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingScreenDataSourceConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenDataSourceConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenDataSourceConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenDataSourceConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenDataSourceConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenDataSourceConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenDataSourceConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenDataSourceConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenDataSourceConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenDataSourceConfig | source_priority | JSON | 是 | 系统实时数据、系统补录业务单据、文件快照的取数优先级和启用条件 | 普通 |
| MarketingScreenDataSourceConfig | system_object_refs | JSON | 是 | 活动、渠道、线索、试听、合同、订单、支付、续费、退费、扩科、转介绍、员工、校区、课程、班级、学员等系统对象 | 普通 |
| MarketingScreenDataSourceConfig | manual_voucher_refs | JSON | 否 | 系统内人工补录业务单据范围,如线下收款补录、历史续费补录、归属修正 | 普通 |
| MarketingScreenDataSourceConfig | snapshot_fallback_rule | JSON | 否 | 文件导入固定快照兜底启用条件、优先级和过期策略 | 普通 |
| MarketingScreenDataSourceConfig | refresh_strategy | JSON | 是 | 事件推送优先、短轮询兜底、手动刷新、重算窗口和重试策略 | 普通 |
| MarketingScreenDataSourceConfig | event_topic_refs | JSON | 否 | 订单支付、续费生效、退费、作废、补录审核通过等事件主题 | 普通 |
| MarketingScreenDataSourceConfig | source_health | VARCHAR(32) | 是 | 未校验/正常/部分缺失/异常/断连 | 普通 |
| MarketingScreenDataSourceConfig | missing_sources | JSON | 否 | 缺失的数据对象、指标、事件或快照明细 | 普通 |
| MarketingScreenDataSourceConfig | last_check_at | DATETIME | 否 | 最近一次数据源健康检查时间 | 普通 |
| MarketingScreenDataSourceConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| MarketingScreenMetricConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenMetricConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenMetricConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenMetricConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingScreenMetricConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenMetricConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenMetricConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenMetricConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenMetricConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenMetricConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenMetricConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenMetricConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenMetricConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenMetricConfig | metric_code | VARCHAR(64) | 是 | 指标编码 | 普通 |
| MarketingScreenMetricConfig | metric_name | VARCHAR(128) | 是 | 指标名称 | 普通 |
| MarketingScreenMetricConfig | metric_definition | TEXT | 是 | 指标口径说明 | 普通 |
| MarketingScreenMetricConfig | metric_version | INT | 是 | 指标口径版本号 | 普通 |
| MarketingScreenMetricConfig | display_module | VARCHAR(64) | 是 | 左侧战榜/中部总额喜报/右侧老师榜/轮播明细/PK 面板 | 普通 |
| MarketingScreenMetricConfig | numerator_source | JSON | 否 | 分子来源对象、过滤条件和取值字段 | 普通 |
| MarketingScreenMetricConfig | denominator_source | JSON | 否 | 分母来源对象、过滤条件和取值字段,适用于续费率等比例指标 | 普通 |
| MarketingScreenMetricConfig | exclude_rule | JSON | 否 | 退费、作废、撤销、重复订单、无效学员等排除规则 | 普通 |
| MarketingScreenMetricConfig | rollback_rule | JSON | 否 | 退费、订单作废、补录撤销后的指标回滚规则 | 普通 |
| MarketingScreenMetricConfig | attribution_rule | JSON | 否 | 老师、校区、战区、课程、科目和转介绍归因规则 | 普通 |
| MarketingScreenMetricConfig | sort_rule | JSON | 否 | 排序字段、排序方向、并列处理和展示数量 | 普通 |
| MarketingScreenMetricConfig | data_source_priority | JSON | 是 | 系统实时数据、系统补录单据、文件快照的优先级 | 普通 |
| MarketingScreenMetricConfig | source_object_refs | JSON | 是 | 活动、渠道、线索、合同、订单、支付、续费、退费、扩科、员工、老师、校区等来源对象 | 普通 |
| MarketingScreenMetricConfig | refresh_frequency_sec | INT | 是 | 指标刷新频率秒数 | 普通 |
| MarketingScreenMetricConfig | validate_status | VARCHAR(32) | 是 | 未校验/校验中/校验通过/校验失败 | 普通 |
| MarketingScreenMetricConfig | last_validate_at | DATETIME | 否 | 最近一次口径校验时间 | 普通 |
| MarketingScreenMetricConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| MarketingScreenCampusConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenCampusConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenCampusConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenCampusConfig | campus_id | BIGINT | 是 | 校区 ID | 普通 |
| MarketingScreenCampusConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenCampusConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenCampusConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenCampusConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenCampusConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenCampusConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenCampusConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenCampusConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenCampusConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenCampusConfig | campus_display_name | VARCHAR(128) | 是 | 大屏展示校区名称 | 普通 |
| MarketingScreenCampusConfig | zone_refs | JSON | 否 | 所属战区、PK 对阵和展示组件引用 | 普通 |
| MarketingScreenCampusConfig | teacher_count | INT | 否 | 当前引用老师/人员数量 | 普通 |
| MarketingScreenCampusConfig | reference_summary | JSON | 否 | 老师归属、战区引用、快照基准和历史流水引用摘要 | 普通 |
| MarketingScreenCampusConfig | delete_protect_status | VARCHAR(32) | 是 | 可删除/存在老师引用/存在战区引用/存在历史流水引用 | 普通 |
| MarketingScreenCampusConfig | sort_no | INT | 是 | 展示排序 | 普通 |
| MarketingScreenCampusConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| MarketingScreenPersonnelConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenPersonnelConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenPersonnelConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenPersonnelConfig | campus_id | BIGINT | 是 | 展示归属校区 | 普通 |
| MarketingScreenPersonnelConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenPersonnelConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenPersonnelConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenPersonnelConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenPersonnelConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenPersonnelConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenPersonnelConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenPersonnelConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenPersonnelConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenPersonnelConfig | employee_id | BIGINT | 是 | 员工/老师/顾问 ID | 普通 |
| MarketingScreenPersonnelConfig | employee_name_snapshot | VARCHAR(128) | 是 | 展示姓名快照 | 普通 |
| MarketingScreenPersonnelConfig | subject_code | VARCHAR(64) | 否 | 课程科目编码 | 普通 |
| MarketingScreenPersonnelConfig | subject_group | VARCHAR(64) | 否 | 语文组/数学组/英语组/自定义科目组 | 普通 |
| MarketingScreenPersonnelConfig | base_count | INT | 是 | 续费基数/待续人次 | 普通 |
| MarketingScreenPersonnelConfig | reward_renewal_count | INT | 是 | 奖励续费人次 | 普通 |
| MarketingScreenPersonnelConfig | expand_count | INT | 是 | 扩科单数 | 普通 |
| MarketingScreenPersonnelConfig | total_order_count | INT | 是 | 创收单数 | 普通 |
| MarketingScreenPersonnelConfig | total_income | DECIMAL(14,2) | 是 | 创收金额 | 普通 |
| MarketingScreenPersonnelConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| MarketingScreenManualPerformanceRecord | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenManualPerformanceRecord | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenManualPerformanceRecord | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenManualPerformanceRecord | campus_id | BIGINT | 是 | 校区 ID | 普通 |
| MarketingScreenManualPerformanceRecord | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenManualPerformanceRecord | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenManualPerformanceRecord | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenManualPerformanceRecord | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenManualPerformanceRecord | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenManualPerformanceRecord | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenManualPerformanceRecord | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenManualPerformanceRecord | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenManualPerformanceRecord | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenManualPerformanceRecord | employee_id | BIGINT | 是 | 老师/人员 ID | 普通 |
| MarketingScreenManualPerformanceRecord | course_id | BIGINT | 否 | 课程 ID | 普通 |
| MarketingScreenManualPerformanceRecord | subject_code | VARCHAR(64) | 否 | 科目编码 | 普通 |
| MarketingScreenManualPerformanceRecord | biz_type | VARCHAR(64) | 是 | 续费奖励/续费非奖励/扩科/纳新/转介绍 | 普通 |
| MarketingScreenManualPerformanceRecord | amount | DECIMAL(14,2) | 是 | 金额 | 普通 |
| MarketingScreenManualPerformanceRecord | order_count | INT | 是 | 创收单数 | 普通 |
| MarketingScreenManualPerformanceRecord | source_type | VARCHAR(32) | 是 | 系统补录/演示补录/快照修正 | 普通 |
| MarketingScreenManualPerformanceRecord | record_status | VARCHAR(32) | 是 | 有效/已撤回/已作废/重算中/重算失败 | 普通 |
| MarketingScreenManualPerformanceRecord | revoke_reason | VARCHAR(255) | 否 | 撤回原因 | 普通 |
| MarketingScreenManualPerformanceRecord | metric_refresh_status | VARCHAR(32) | 是 | 待刷新/刷新中/已刷新/刷新失败 | 普通 |
| MarketingScreenManualPerformanceRecord | request_id | VARCHAR(64) | 是 | 幂等请求 ID | 普通 |
| MarketingScreenDisplayWidgetConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenDisplayWidgetConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenDisplayWidgetConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenDisplayWidgetConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingScreenDisplayWidgetConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenDisplayWidgetConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenDisplayWidgetConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenDisplayWidgetConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenDisplayWidgetConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenDisplayWidgetConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenDisplayWidgetConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenDisplayWidgetConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenDisplayWidgetConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenDisplayWidgetConfig | widget_code | VARCHAR(64) | 是 | 组件编码 | 普通 |
| MarketingScreenDisplayWidgetConfig | widget_type | VARCHAR(64) | 是 | 战区榜/校区榜/老师榜/总金额/喜报/订单播报/分组榜 | 普通 |
| MarketingScreenDisplayWidgetConfig | metric_codes | JSON | 是 | 组件展示指标编码 | 普通 |
| MarketingScreenDisplayWidgetConfig | ranking_modes | JSON | 否 | 续费率排名、创收单数排名、创收金额排名等切换项 | 普通 |
| MarketingScreenDisplayWidgetConfig | subject_groups | JSON | 否 | 语文组、数学组、英语组和自定义科目组配置 | 普通 |
| MarketingScreenDisplayWidgetConfig | visible_count | INT | 否 | 默认展示数量 | 普通 |
| MarketingScreenDisplayWidgetConfig | switch_enabled | TINYINT | 是 | 是否允许前台切换 | 普通 |
| MarketingScreenDisplayWidgetConfig | theme_config | JSON | 否 | 组件主题、动效和尺寸配置 | 普通 |
| MarketingScreenDisplayWidgetConfig | empty_state_copy | VARCHAR(255) | 否 | 空状态展示文案 | 普通 |
| MarketingScreenDisplayWidgetConfig | validate_status | VARCHAR(32) | 是 | 未校验/校验通过/校验失败 | 普通 |
| MarketingScreenZone | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenZone | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenZone | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenZone | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingScreenZone | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenZone | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenZone | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenZone | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenZone | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenZone | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenZone | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenZone | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenZone | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenZone | zone_code | VARCHAR(64) | 是 | 战区编码 | 普通 |
| MarketingScreenZone | zone_name | VARCHAR(128) | 是 | 战区名称 | 普通 |
| MarketingScreenZone | zone_type | VARCHAR(32) | 是 | 区域/校区组/业务单元/自定义战区 | 普通 |
| MarketingScreenZone | campus_ids | JSON | 是 | 战区包含的校区 ID 列表 | 普通 |
| MarketingScreenZone | employee_scope | JSON | 否 | 战区内参与展示的员工、老师、角色范围 | 普通 |
| MarketingScreenZone | sort_no | INT | 是 | 展示排序 | 普通 |
| MarketingScreenZone | enabled | TINYINT | 是 | 是否启用 | 普通 |
| MarketingScreenPkPair | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenPkPair | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenPkPair | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenPkPair | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingScreenPkPair | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenPkPair | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenPkPair | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenPkPair | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenPkPair | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenPkPair | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenPkPair | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenPkPair | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenPkPair | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenPkPair | pair_code | VARCHAR(64) | 是 | PK 对阵编码 | 普通 |
| MarketingScreenPkPair | left_zone_id | BIGINT | 是 | 左侧战区 ID | 普通 |
| MarketingScreenPkPair | right_zone_id | BIGINT | 否 | 右侧战区 ID,若为空可使用其他校区平均值 | 普通 |
| MarketingScreenPkPair | compare_target_type | VARCHAR(32) | 是 | 战区/校区/其他校区平均值 | 普通 |
| MarketingScreenPkPair | metric_codes | JSON | 是 | 参与 PK 的指标编码 | 普通 |
| MarketingScreenPkPair | winner_rule | JSON | 是 | 胜负判定规则、并列展示和异常处理 | 普通 |
| MarketingScreenPkPair | enabled | TINYINT | 是 | 是否启用 | 普通 |
| MarketingScreenRosterSnapshot | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenRosterSnapshot | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenRosterSnapshot | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenRosterSnapshot | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingScreenRosterSnapshot | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenRosterSnapshot | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenRosterSnapshot | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenRosterSnapshot | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenRosterSnapshot | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenRosterSnapshot | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenRosterSnapshot | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenRosterSnapshot | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenRosterSnapshot | snapshot_no | VARCHAR(64) | 是 | 名单快照编号,唯一 | 普通 |
| MarketingScreenRosterSnapshot | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenRosterSnapshot | snapshot_type | VARCHAR(64) | 是 | 待续名单/老师名单/校区名单/历史基数/其他固定基准 | 普通 |
| MarketingScreenRosterSnapshot | source_file_id | BIGINT | 是 | 导入文件 ID | 普通 |
| MarketingScreenRosterSnapshot | source_desc | VARCHAR(256) | 是 | 来源说明 | 普通 |
| MarketingScreenRosterSnapshot | import_batch_no | VARCHAR(64) | 是 | 导入批次号 | 普通 |
| MarketingScreenRosterSnapshot | snapshot_version | INT | 是 | 快照版本 | 普通 |
| MarketingScreenRosterSnapshot | row_count | INT | 是 | 导入行数 | 普通 |
| MarketingScreenRosterSnapshot | valid_count | INT | 是 | 有效行数 | 普通 |
| MarketingScreenRosterSnapshot | error_count | INT | 是 | 错误行数 | 普通 |
| MarketingScreenRosterSnapshot | snapshot_payload | JSON | 是 | 固定名单和历史基数快照 | 普通 |
| MarketingScreenRosterSnapshot | use_condition | TEXT | 是 | 仅在系统无结构化实时数据时兜底使用 | 普通 |
| MarketingScreenRosterSnapshot | snapshot_status | VARCHAR(32) | 是 | 校验中/已生效/部分失败/已废弃 | 普通 |
| MarketingScreenDataSnapshot | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| MarketingScreenDataSnapshot | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| MarketingScreenDataSnapshot | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| MarketingScreenDataSnapshot | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| MarketingScreenDataSnapshot | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| MarketingScreenDataSnapshot | created_at | DATETIME | 是 | 创建时间 | 普通 |
| MarketingScreenDataSnapshot | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| MarketingScreenDataSnapshot | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| MarketingScreenDataSnapshot | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| MarketingScreenDataSnapshot | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| MarketingScreenDataSnapshot | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| MarketingScreenDataSnapshot | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| MarketingScreenDataSnapshot | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| MarketingScreenDataSnapshot | snapshot_time | DATETIME | 是 | 快照时间 | 普通 |
| MarketingScreenDataSnapshot | metric_values | JSON | 是 | 指标值、榜单、喜报、PK 结果和过滤条件 | 普通 |
| MarketingScreenDataSnapshot | data_source_summary | JSON | 是 | 系统实时数据、补录单据、固定快照的实际取数结果 | 普通 |
| MarketingScreenDataSnapshot | source_version_summary | JSON | 否 | 指标口径版本、名单快照版本和业务流水截止点 | 普通 |
| MarketingScreenDataSnapshot | refresh_trace_id | VARCHAR(128) | 否 | 刷新链路追踪 ID | 普通 |
| MarketingScreenDataSnapshot | refresh_status | VARCHAR(32) | 是 | 刷新中/成功/部分失败/失败/断连恢复 | 普通 |
| MarketingScreenDataSnapshot | error_summary | JSON | 否 | 异常原因、缺失来源、失败指标和重试建议 | 普通 |
引用对象字段字典
| 引用表 | 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|---|
| sys_organization | Organization | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_organization | Organization | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_organization | Organization | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_organization | Organization | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_organization | Organization | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_organization | Organization | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_organization | Organization | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_organization | Organization | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_organization | Organization | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_organization | Organization | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_organization | Organization | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_organization | Organization | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_organization | Organization | org_code | VARCHAR(64) | 是 | 组织编码,租户内唯一 | 普通 |
| sys_organization | Organization | org_name | VARCHAR(128) | 是 | 组织名称 | 普通 |
| sys_organization | Organization | org_type | VARCHAR(32) | 是 | 集团/区域/校区/部门/法人主体 | 普通 |
| sys_organization | Organization | parent_id | BIGINT | 否 | 上级组织 ID,根节点为空 | 普通 |
| sys_organization | Organization | sort_no | INT | 否 | 同级排序 | 普通 |
| sys_organization | Organization | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_user | User/Employee | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_user | User/Employee | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_user | User/Employee | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_user | User/Employee | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_user | User/Employee | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_user | User/Employee | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_user | User/Employee | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_user | User/Employee | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_user | User/Employee | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_user | User/Employee | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_user | User/Employee | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_user | User/Employee | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_user | User/Employee | user_no | VARCHAR(64) | 是 | 账号编号,唯一 | 普通 |
| sys_user | User/Employee | login_name | VARCHAR(64) | 是 | 登录名,唯一 | 普通 |
| sys_user | User/Employee | mobile | VARCHAR(32) | 否 | 手机号,敏感脱敏展示 | 敏感 |
| sys_user | User/Employee | password_hash | VARCHAR(255) | 否 | 密码哈希,禁止前端返回 | 高敏 |
| sys_user | User/Employee | user_type | VARCHAR(32) | 是 | 员工/学员/家长/外部账号 | 普通 |
| sys_user | User/Employee | login_status | VARCHAR(32) | 是 | 正常/锁定/停用/待激活 | 普通 |
| sys_employee | Employee | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_employee | Employee | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_employee | Employee | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_employee | Employee | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_employee | Employee | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_employee | Employee | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_employee | Employee | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_employee | Employee | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_employee | Employee | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_employee | Employee | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_employee | Employee | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_employee | Employee | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_employee | Employee | employee_no | VARCHAR(64) | 是 | 工号,唯一 | 普通 |
| sys_employee | Employee | user_id | BIGINT | 否 | 关联账号 ID | 普通 |
| sys_employee | Employee | employee_name | VARCHAR(64) | 是 | 员工姓名 | 普通 |
| sys_employee | Employee | primary_campus_id | BIGINT | 否 | 主校区 ID | 普通 |
| sys_employee | Employee | job_title | VARCHAR(64) | 否 | 岗位名称 | 普通 |
| sys_employee | Employee | hire_status | VARCHAR(32) | 是 | 在职/试用/离职/停用 | 普通 |
| sys_role | Role | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_role | Role | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_role | Role | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_role | Role | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_role | Role | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_role | Role | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_role | Role | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_role | Role | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_role | Role | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_role | Role | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_role | Role | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_role | Role | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_role | Role | role_code | VARCHAR(64) | 是 | 角色编码,唯一 | 普通 |
| sys_role | Role | role_name | VARCHAR(128) | 是 | 角色名称 | 普通 |
| sys_role | Role | role_level | VARCHAR(32) | 是 | 总部/区域/校区/个人 | 普通 |
| sys_role | Role | data_scope_type | VARCHAR(32) | 是 | 数据范围类型 | 普通 |
| sys_role | Role | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_approval_flow | ApprovalFlow | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_approval_flow | ApprovalFlow | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_approval_flow | ApprovalFlow | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_approval_flow | ApprovalFlow | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_approval_flow | ApprovalFlow | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_approval_flow | ApprovalFlow | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_approval_flow | ApprovalFlow | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_approval_flow | ApprovalFlow | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_approval_flow | ApprovalFlow | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_approval_flow | ApprovalFlow | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_approval_flow | ApprovalFlow | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_approval_flow | ApprovalFlow | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_approval_flow | ApprovalFlow | flow_code | VARCHAR(64) | 是 | 审批流编码,唯一 | 普通 |
| sys_approval_flow | ApprovalFlow | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sys_approval_flow | ApprovalFlow | flow_name | VARCHAR(128) | 是 | 审批流名称 | 普通 |
| sys_approval_flow | ApprovalFlow | condition_json | JSON | 否 | 触发条件 | 普通 |
| sys_approval_flow | ApprovalFlow | node_json | JSON | 是 | 节点、审批人和超时规则 | 普通 |
| sys_approval_flow | ApprovalFlow | version_no | INT | 是 | 审批流版本号 | 普通 |
| sys_approval_flow | ApprovalFlow | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_message_template | MessageTemplate | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_message_template | MessageTemplate | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_message_template | MessageTemplate | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_message_template | MessageTemplate | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_message_template | MessageTemplate | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_message_template | MessageTemplate | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_message_template | MessageTemplate | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_message_template | MessageTemplate | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_message_template | MessageTemplate | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_message_template | MessageTemplate | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_message_template | MessageTemplate | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_message_template | MessageTemplate | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_message_template | MessageTemplate | template_code | VARCHAR(64) | 是 | 模板编码,唯一 | 普通 |
| sys_message_template | MessageTemplate | template_name | VARCHAR(128) | 是 | 模板名称 | 普通 |
| sys_message_template | MessageTemplate | channel | VARCHAR(32) | 是 | 站内信/短信/微信小程序/企微/Push | 普通 |
| sys_message_template | MessageTemplate | receiver_rule | JSON | 是 | 接收人规则 | 普通 |
| sys_message_template | MessageTemplate | content_template | TEXT | 是 | 模板内容 | 普通 |
| sys_message_template | MessageTemplate | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_audit_log | AuditLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_audit_log | AuditLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_audit_log | AuditLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_audit_log | AuditLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_audit_log | AuditLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_audit_log | AuditLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_audit_log | AuditLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_audit_log | AuditLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_audit_log | AuditLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_audit_log | AuditLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_audit_log | AuditLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_audit_log | AuditLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_audit_log | AuditLog | operator_id | BIGINT | 是 | 操作人 ID | 普通 |
| sys_audit_log | AuditLog | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sys_audit_log | AuditLog | biz_id | BIGINT | 否 | 业务主键 ID | 普通 |
| sys_audit_log | AuditLog | action_code | VARCHAR(64) | 是 | 操作编码 | 普通 |
| sys_audit_log | AuditLog | before_snapshot | JSON | 否 | 变更前快照 | 普通 |
| sys_audit_log | AuditLog | after_snapshot | JSON | 否 | 变更后快照 | 普通 |
| sys_audit_log | AuditLog | ip_address | VARCHAR(64) | 否 | 操作 IP | 普通 |
| int_integration_log | IntegrationLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| int_integration_log | IntegrationLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| int_integration_log | IntegrationLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| int_integration_log | IntegrationLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| int_integration_log | IntegrationLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| int_integration_log | IntegrationLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| int_integration_log | IntegrationLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| int_integration_log | IntegrationLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| int_integration_log | IntegrationLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| int_integration_log | IntegrationLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| int_integration_log | IntegrationLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| int_integration_log | IntegrationLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| int_integration_log | IntegrationLog | request_id | VARCHAR(128) | 是 | 请求 ID,幂等键 | 普通 |
| int_integration_log | IntegrationLog | system_code | VARCHAR(64) | 是 | 外部系统编码 | 普通 |
| int_integration_log | IntegrationLog | api_path | VARCHAR(512) | 是 | 接口路径 | 普通 |
| int_integration_log | IntegrationLog | biz_type | VARCHAR(64) | 否 | 业务类型 | 普通 |
| int_integration_log | IntegrationLog | biz_id | BIGINT | 否 | 业务 ID | 普通 |
| int_integration_log | IntegrationLog | request_payload | JSON | 否 | 请求报文,敏感字段脱敏 | 敏感 |
| int_integration_log | IntegrationLog | response_payload | JSON | 否 | 响应报文 | 普通 |
| int_integration_log | IntegrationLog | call_status | VARCHAR(32) | 是 | 成功/失败/超时/重试中 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | field_code | VARCHAR(128) | 是 | 字段编码,唯一 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | mask_rule | VARCHAR(64) | 是 | 脱敏规则 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | view_requires_approval | TINYINT | 是 | 明文查看是否需审批 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | watermark_required | TINYINT | 是 | 是否加水印 | 普通 |
| crm_lead | Lead | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| crm_lead | Lead | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| crm_lead | Lead | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| crm_lead | Lead | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| crm_lead | Lead | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| crm_lead | Lead | created_at | DATETIME | 是 | 创建时间 | 普通 |
| crm_lead | Lead | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| crm_lead | Lead | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| crm_lead | Lead | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| crm_lead | Lead | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| crm_lead | Lead | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| crm_lead | Lead | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| crm_lead | Lead | lead_no | VARCHAR(64) | 是 | 线索编号,唯一 | 普通 |
| crm_lead | Lead | source_channel | VARCHAR(64) | 是 | 来源渠道 | 普通 |
| crm_lead | Lead | campaign_id | BIGINT | 否 | 来源活动 ID | 普通 |
| crm_lead | Lead | guardian_mobile | VARCHAR(32) | 是 | 家长手机号,敏感 | 敏感 |
| crm_lead | Lead | student_name | VARCHAR(64) | 否 | 学员姓名 | 普通 |
| crm_lead | Lead | intent_course_id | BIGINT | 否 | 意向课程 | 普通 |
| crm_lead | Lead | owner_id | BIGINT | 否 | 当前归属销售/顾问 | 普通 |
| crm_lead | Lead | protect_until | DATETIME | 否 | 保护期截止时间 | 普通 |
| crm_lead | Lead | duplicate_status | VARCHAR(32) | 是 | 未查重/疑似重复/已合并/已忽略 | 普通 |
| crm_lead | Lead | biz_status | VARCHAR(32) | 是 | 业务状态,取值来自状态机字典 | 普通 |
| crm_lead | Lead | remark | VARCHAR(512) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| crm_customer_family | CustomerFamily | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| crm_customer_family | CustomerFamily | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| crm_customer_family | CustomerFamily | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| crm_customer_family | CustomerFamily | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| crm_customer_family | CustomerFamily | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| crm_customer_family | CustomerFamily | created_at | DATETIME | 是 | 创建时间 | 普通 |
| crm_customer_family | CustomerFamily | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| crm_customer_family | CustomerFamily | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| crm_customer_family | CustomerFamily | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| crm_customer_family | CustomerFamily | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| crm_customer_family | CustomerFamily | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| crm_customer_family | CustomerFamily | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| crm_customer_family | CustomerFamily | family_no | VARCHAR(64) | 是 | 家庭编号,唯一 | 普通 |
| crm_customer_family | CustomerFamily | primary_guardian_id | BIGINT | 否 | 主监护人 ID | 普通 |
| crm_customer_family | CustomerFamily | student_id | BIGINT | 否 | 主学员 ID | 普通 |
| crm_customer_family | CustomerFamily | owner_id | BIGINT | 否 | 客户归属人 | 普通 |
| crm_customer_family | CustomerFamily | risk_level | VARCHAR(32) | 否 | 风险等级 | 普通 |
| crm_customer_family | CustomerFamily | last_follow_at | DATETIME | 否 | 最近跟进时间 | 普通 |
| crm_customer_family | CustomerFamily | biz_status | VARCHAR(32) | 是 | 业务状态,取值来自状态机字典 | 普通 |
| crm_customer_family | CustomerFamily | remark | VARCHAR(512) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| stu_student | Student | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| stu_student | Student | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| stu_student | Student | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| stu_student | Student | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| stu_student | Student | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| stu_student | Student | created_at | DATETIME | 是 | 创建时间 | 普通 |
| stu_student | Student | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| stu_student | Student | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| stu_student | Student | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| stu_student | Student | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| stu_student | Student | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| stu_student | Student | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| stu_student | Student | student_no | VARCHAR(64) | 是 | 学员编号,唯一 | 普通 |
| stu_student | Student | family_id | BIGINT | 否 | 家庭 ID | 普通 |
| stu_student | Student | student_name | VARCHAR(64) | 是 | 学员姓名 | 普通 |
| stu_student | Student | gender | VARCHAR(16) | 否 | 性别 | 普通 |
| stu_student | Student | birthday | DATE | 否 | 出生日期 | 普通 |
| stu_student | Student | grade | VARCHAR(32) | 否 | 年级 | 普通 |
| stu_student | Student | school_name | VARCHAR(128) | 否 | 学校名称 | 普通 |
| stu_student | Student | biz_status | VARCHAR(32) | 是 | 业务状态,取值来自状态机字典 | 普通 |
| stu_student | Student | remark | VARCHAR(512) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| con_contract | Contract | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| con_contract | Contract | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| con_contract | Contract | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| con_contract | Contract | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| con_contract | Contract | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| con_contract | Contract | created_at | DATETIME | 是 | 创建时间 | 普通 |
| con_contract | Contract | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| con_contract | Contract | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| con_contract | Contract | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| con_contract | Contract | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| con_contract | Contract | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| con_contract | Contract | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| con_contract | Contract | contract_no | VARCHAR(64) | 是 | 合同编号,唯一 | 普通 |
| con_contract | Contract | student_id | BIGINT | 是 | 学员 ID | 普通 |
| con_contract | Contract | family_id | BIGINT | 否 | 客户家庭 ID | 普通 |
| con_contract | Contract | template_id | BIGINT | 是 | 合同模板 ID | 普通 |
| con_contract | Contract | employee_id | BIGINT | 否 | 创建合同的销售/市场/课程顾问员工 ID | 普通 |
| con_contract | Contract | source_terminal | VARCHAR(32) | 是 | 来源终端,教师端 App/小程序或 PC 管理端 | 普通 |
| con_contract | Contract | simulation_id | BIGINT | 否 | 关联优惠试算 ID | 普通 |
| con_contract | Contract | extra_discount_apply_id | BIGINT | 否 | 关联额外折扣申请 ID | 普通 |
| con_contract | Contract | hand_sign_status | VARCHAR(32) | 是 | 待手写签字/已手写签字/签字作废 | 普通 |
| con_contract | Contract | sign_status | VARCHAR(32) | 是 | 待家长签署/已手写签字/已作废 | 普通 |
| con_contract | Contract | payment_status | VARCHAR(32) | 是 | 待支付/支付中/支付成功/支付失败/已关闭 | 普通 |
| con_contract | Contract | enterprise_seal_status | VARCHAR(32) | 是 | 未触发/盖章中/已盖章/盖章失败/已归档 | 普通 |
| con_contract | Contract | contract_status | VARCHAR(32) | 是 | 草稿/生效/履约中/已终止/已退费 | 普通 |
| con_contract | Contract | supervision_status | VARCHAR(32) | 否 | 监管报送状态 | 普通 |
| con_contract | Contract | currency | VARCHAR(8) | 是 | 币种,默认 CNY | 普通 |
| con_contract | Contract | amount | DECIMAL(18,2) | 是 | 含税金额,必须大于等于 0 | 普通 |
| con_contract | Contract | tax_amount | DECIMAL(18,2) | 否 | 税额,按发票或税率计算 | 普通 |
| con_contract | Contract | approval_status | VARCHAR(32) | 否 | 审批状态,未发起为空 | 普通 |
| con_contract | Contract | approval_instance_id | BIGINT | 否 | 关联审批实例 ID | 普通 |
| ord_order | Order | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ord_order | Order | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ord_order | Order | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ord_order | Order | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ord_order | Order | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ord_order | Order | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ord_order | Order | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ord_order | Order | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ord_order | Order | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ord_order | Order | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ord_order | Order | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ord_order | Order | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ord_order | Order | order_no | VARCHAR(64) | 是 | 订单编号,唯一 | 普通 |
| ord_order | Order | contract_id | BIGINT | 是 | 合同 ID | 普通 |
| ord_order | Order | student_id | BIGINT | 是 | 学员 ID | 普通 |
| ord_order | Order | receivable_amount | DECIMAL(18,2) | 是 | 应收金额 | 普通 |
| ord_order | Order | discount_amount | DECIMAL(18,2) | 否 | 优惠金额 | 普通 |
| ord_order | Order | paid_amount | DECIMAL(18,2) | 是 | 已收金额 | 普通 |
| ord_order | Order | order_status | VARCHAR(32) | 是 | 待支付/支付中/已支付/已关闭 | 普通 |
| ord_payment | Payment | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ord_payment | Payment | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ord_payment | Payment | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ord_payment | Payment | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ord_payment | Payment | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ord_payment | Payment | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ord_payment | Payment | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ord_payment | Payment | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ord_payment | Payment | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ord_payment | Payment | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ord_payment | Payment | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ord_payment | Payment | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ord_payment | Payment | payment_no | VARCHAR(64) | 是 | 收款单号,唯一 | 普通 |
| ord_payment | Payment | order_id | BIGINT | 是 | 订单 ID | 普通 |
| ord_payment | Payment | pay_channel | VARCHAR(32) | 是 | 微信/支付宝/银行卡/现金/监管账户 | 普通 |
| ord_payment | Payment | paid_amount | DECIMAL(18,2) | 是 | 实收金额 | 普通 |
| ord_payment | Payment | paid_at | DATETIME | 否 | 支付完成时间 | 普通 |
| ord_payment | Payment | channel_trade_no | VARCHAR(128) | 否 | 渠道流水号 | 普通 |
| ord_payment | Payment | supervision_account_id | BIGINT | 否 | 资金监管账户 ID | 普通 |
| ord_payment | Payment | receipt_status | VARCHAR(32) | 是 | 待确认/已确认/异常 | 普通 |
| edu_course | Course/Product | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_course | Course/Product | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_course | Course/Product | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_course | Course/Product | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_course | Course/Product | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_course | Course/Product | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_course | Course/Product | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_course | Course/Product | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_course | Course/Product | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_course | Course/Product | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_course | Course/Product | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_course | Course/Product | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_course | Course/Product | course_code | VARCHAR(64) | 是 | 课程编码,唯一 | 普通 |
| edu_course | Course/Product | course_name | VARCHAR(128) | 是 | 课程名称 | 普通 |
| edu_course | Course/Product | subject | VARCHAR(32) | 是 | 学科 | 普通 |
| edu_course | Course/Product | course_type | VARCHAR(32) | 是 | 班课/一对一/直播/录播 | 普通 |
| edu_course | Course/Product | grade_scope | JSON | 否 | 适用年级 | 普通 |
| edu_course | Course/Product | enabled | TINYINT | 是 | 是否启用 | 普通 |
| edu_class | Class | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_class | Class | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_class | Class | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_class | Class | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_class | Class | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_class | Class | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_class | Class | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_class | Class | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_class | Class | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_class | Class | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_class | Class | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_class | Class | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_class | Class | class_no | VARCHAR(64) | 是 | 班级编号,唯一 | 普通 |
| edu_class | Class | course_id | BIGINT | 是 | 课程 ID | 普通 |
| edu_class | Class | teacher_id | BIGINT | 否 | 主讲教师 ID | 普通 |
| edu_class | Class | classroom_id | BIGINT | 否 | 默认教室 ID | 普通 |
| edu_class | Class | capacity | INT | 是 | 班级容量 | 普通 |
| edu_class | Class | class_status | VARCHAR(32) | 是 | 筹备中/开班/结课/停课 | 普通 |
| 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 | 否 | 营业时间配置 | 普通 |
| live_public_conversion | PublicLiveConversion | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| live_public_conversion | PublicLiveConversion | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| live_public_conversion | PublicLiveConversion | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| live_public_conversion | PublicLiveConversion | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| live_public_conversion | PublicLiveConversion | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| live_public_conversion | PublicLiveConversion | created_at | DATETIME | 是 | 创建时间 | 普通 |
| live_public_conversion | PublicLiveConversion | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| live_public_conversion | PublicLiveConversion | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| live_public_conversion | PublicLiveConversion | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| live_public_conversion | PublicLiveConversion | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| live_public_conversion | PublicLiveConversion | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| live_public_conversion | PublicLiveConversion | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| live_public_conversion | PublicLiveConversion | conversion_no | VARCHAR(64) | 是 | 转化编号,唯一 | 普通 |
| live_public_conversion | PublicLiveConversion | live_room_id | BIGINT | 是 | 直播间 ID | 普通 |
| live_public_conversion | PublicLiveConversion | visitor_id | VARCHAR(128) | 否 | 访客 ID | 普通 |
| live_public_conversion | PublicLiveConversion | lead_id | BIGINT | 否 | 生成线索 ID | 普通 |
| live_public_conversion | PublicLiveConversion | conversion_stage | VARCHAR(32) | 是 | 观看/留资/邀约/转化 | 普通 |
| live_public_conversion | PublicLiveConversion | conversion_payload | JSON | 否 | 转化明细 | 普通 |
| mob_teacher_todo | TeacherTodo | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mob_teacher_todo | TeacherTodo | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mob_teacher_todo | TeacherTodo | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mob_teacher_todo | TeacherTodo | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mob_teacher_todo | TeacherTodo | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mob_teacher_todo | TeacherTodo | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mob_teacher_todo | TeacherTodo | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mob_teacher_todo | TeacherTodo | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mob_teacher_todo | TeacherTodo | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mob_teacher_todo | TeacherTodo | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mob_teacher_todo | TeacherTodo | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mob_teacher_todo | TeacherTodo | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mob_teacher_todo | TeacherTodo | todo_no | VARCHAR(64) | 是 | 待办编号,唯一 | 普通 |
| mob_teacher_todo | TeacherTodo | user_id | BIGINT | 是 | 接收人 ID | 普通 |
| mob_teacher_todo | TeacherTodo | todo_type | VARCHAR(64) | 是 | 签到/批改/审批/培训/直播/工资条/营销推广/线索跟进 | 普通 |
| mob_teacher_todo | TeacherTodo | biz_id | BIGINT | 是 | 业务 ID | 普通 |
| mob_teacher_todo | TeacherTodo | due_at | DATETIME | 否 | 截止时间 | 普通 |
| mob_teacher_todo | TeacherTodo | todo_status | VARCHAR(32) | 是 | 待处理/已处理/已过期 | 普通 |
JSON 字段结构与校验
| 表名 | 对象 | 字段 | 结构编码 | 结构定义 | 校验规则 | 示例 |
|---|---|---|---|---|---|---|
| mkt_channel | MarketingChannel | roi_rule | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_campaign | MarketingCampaign | campus_scope | ORG_SCOPE | {scopeType:string, orgIds:number[], campusIds:number[], includeChildren:boolean} | 组织和校区必须在当前租户授权范围内 | {"scopeType":"CAMPUS","campusIds":[101,102],"includeChildren":false} |
| mkt_page_template | MarketingPageTemplate | template_schema | PAGE_SCHEMA | {components:[{type:string, props:object, sortNo:number}], theme:object, form:object, tracking:object} | 组件类型必须来自模板组件白名单;表单字段必须有唯一 fieldCode | {"components":[{"type":"banner","props":{"title":"开学季体验课"},"sortNo":1}],"form":{"fields":["guardianMobile"]}} |
| mkt_landing_page | CampaignLandingPage | page_schema | PAGE_SCHEMA | {components:[{type:string, props:object, sortNo:number}], theme:object, form:object, tracking:object} | 组件类型必须来自模板组件白名单;表单字段必须有唯一 fieldCode | {"components":[{"type":"banner","props":{"title":"开学季体验课"},"sortNo":1}],"form":{"fields":["guardianMobile"]}} |
| mkt_landing_page | CampaignLandingPage | tracking_config | TRACKING_CONFIG | {channelId:number, campaignId:number, qrCodeId?:number, utm:object, events:string[]} | 渠道、活动、事件编码必须存在;外链参数长度不超过 128 | {"channelId":12,"events":["view","submit"]} |
| mkt_live_qr_code | LiveQrCode | target_rule | TARGET_RULE | {ruleType:string, targetUrl:string, conditions:[{field:string, op:string, value:any}], versionNo:number} | 目标 URL 必须通过安全域名校验;版本号递增 | {"ruleType":"campus","targetUrl":"https://dinuo.cn/h5/a","versionNo":3} |
| mkt_live_qr_code | LiveQrCode | rate_limit_rule | RATE_LIMIT_RULE | {windowSeconds:number, maxCount:number, riskAction:string, whitelist?:string[]} | 频控窗口 1-86400 秒;风险动作取 PASS/BLOCK/CAPTCHA | {"windowSeconds":60,"maxCount":10,"riskAction":"BLOCK"} |
| mkt_form_submit | CampaignFormSubmit | form_data | FORM_DATA | {fieldCode:value, files?:number[], clientInfo?:object} | 必须包含表单模板定义的必填字段;手机号、姓名按敏感字段规则处理 | {"guardianMobile":"138****0000","studentName":"张同学"} |
| mkt_employee_promotion_asset | EmployeePromotionAsset | share_params | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_employee_campaign_stat | EmployeeCampaignStat | roi_snapshot | AUDIT_SNAPSHOT | {before?:object, after?:object, changedFields:string[], maskPolicy:string} | 敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥 | {"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"} |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | layout_schema | PAGE_SCHEMA | {components:[{type:string, props:object, sortNo:number}], theme:object, form:object, tracking:object} | 组件类型必须来自模板组件白名单;表单字段必须有唯一 fieldCode | {"components":[{"type":"banner","props":{"title":"开学季体验课"},"sortNo":1}],"form":{"fields":["guardianMobile"]}} |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | default_metric_codes | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | default_refresh_rule | DASHBOARD_LAYOUT | {widgets:[{widgetCode:string, metricCode:string, type:string, x:number, y:number, w:number, h:number}], theme:string} | 组件编码唯一;指标必须启用 | {"widgets":[{"widgetCode":"ARR","metricCode":"monthly_revenue","type":"card","w":3,"h":1}]} |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | template_scope | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_activity_screen | MarketingActivityScreen | org_scope | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_activity_screen | MarketingActivityScreen | theme_config | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_activity_screen | MarketingActivityScreen | realtime_event_topics | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_activity_screen | MarketingActivityScreen | watermark_config | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_activity_screen | MarketingActivityScreen | access_policy | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | source_priority | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | system_object_refs | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | manual_voucher_refs | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | snapshot_fallback_rule | AUDIT_SNAPSHOT | {before?:object, after?:object, changedFields:string[], maskPolicy:string} | 敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥 | {"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"} |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | refresh_strategy | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | event_topic_refs | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | missing_sources | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_metric_config | MarketingScreenMetricConfig | numerator_source | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_metric_config | MarketingScreenMetricConfig | denominator_source | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_metric_config | MarketingScreenMetricConfig | exclude_rule | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_metric_config | MarketingScreenMetricConfig | rollback_rule | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_metric_config | MarketingScreenMetricConfig | attribution_rule | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_metric_config | MarketingScreenMetricConfig | sort_rule | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_metric_config | MarketingScreenMetricConfig | data_source_priority | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_metric_config | MarketingScreenMetricConfig | source_object_refs | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_campus_config | MarketingScreenCampusConfig | zone_refs | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_campus_config | MarketingScreenCampusConfig | reference_summary | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | metric_codes | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | ranking_modes | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | subject_groups | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | theme_config | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_zone | MarketingScreenZone | campus_ids | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_zone | MarketingScreenZone | employee_scope | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_pk_pair | MarketingScreenPkPair | metric_codes | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_pk_pair | MarketingScreenPkPair | winner_rule | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_payload | AUDIT_SNAPSHOT | {before?:object, after?:object, changedFields:string[], maskPolicy:string} | 敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥 | {"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"} |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | metric_values | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | data_source_summary | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | source_version_summary | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | error_summary | GENERIC | object | array | 必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本 | {"version":1,"items":[]} |
状态/枚举标准字典
| 表名 | 对象 | 字段 | 枚举编码 | 取值 | 终态/流转规则 | 字段说明 |
|---|---|---|---|---|---|---|
| mkt_channel | MarketingChannel | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_channel | MarketingChannel | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_channel | MarketingChannel | channel_type | CHANNEL_TYPE | 线上、线下、合作、自然流量 | 非终态,可按状态机或字典规则流转 | 线上/线下/合作/自然流量 |
| mkt_campaign | MarketingCampaign | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_campaign | MarketingCampaign | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_campaign | MarketingCampaign | campus_scope | CAMPUS_SCOPE | ALL_CAMPUS 全部校区、REGION_CAMPUS 区域校区、SELECTED_CAMPUS 指定校区、CURRENT_CAMPUS 当前校区、NONE 不限定校区 | 非终态,可按状态机或字典规则流转 | 适用校区范围 |
| mkt_campaign | MarketingCampaign | biz_status | BIZ_STATUS | DRAFT 草稿、SUBMITTED 已提交、PROCESSING 处理中、ACTIVE 生效中、SUSPENDED 已暂停、CLOSED 已关闭、CANCELLED 已取消 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 业务状态,取值来自状态机字典 |
| mkt_page_template | MarketingPageTemplate | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_page_template | MarketingPageTemplate | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_page_template | MarketingPageTemplate | template_type | TEMPLATE_TYPE | 节气、传统节日、公开课、招生活动、自建 | 非终态,可按状态机或字典规则流转 | 节气/传统节日/公开课/招生活动/自建 |
| mkt_page_template | MarketingPageTemplate | festival_type | FESTIVAL_TYPE | SOLAR_TERM_24 二十四节气、TRADITIONAL_FESTIVAL 传统节日、ADMISSION_SEASON 招生季、PUBLIC_CLASS 公开课、SCHOOL_ANNIVERSARY 校庆、CUSTOM_THEME 自定义主题 | 非终态,可按状态机或字典规则流转 | 节日或节气分类 |
| mkt_page_template | MarketingPageTemplate | review_status | REVIEW_STATUS | DRAFT 草稿、PENDING 审核中、APPROVED 已通过、REJECTED 已驳回、DISABLED 已停用 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 草稿/审核中/已通过/已驳回 |
| mkt_landing_page | CampaignLandingPage | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_landing_page | CampaignLandingPage | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_landing_page | CampaignLandingPage | publish_status | PUBLISH_STATUS | DRAFT 草稿、PUBLISHING 发布中、PUBLISHED 已发布、FAILED 发布失败、OFFLINE 已下线、ARCHIVED 已归档 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 草稿/已发布/已下线 |
| mkt_live_qr_code | LiveQrCode | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_live_qr_code | LiveQrCode | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_live_qr_code | LiveQrCode | biz_type | BIZ_TYPE | LEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资 | 非终态,可按状态机或字典规则流转 | 活动页/资源/课程/直播/表单 |
| mkt_live_qr_code | LiveQrCode | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| mkt_scan_record | ScanRecord | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_scan_record | ScanRecord | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_form_submit | CampaignFormSubmit | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_form_submit | CampaignFormSubmit | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_form_submit | CampaignFormSubmit | submit_status | SUBMIT_STATUS | 成功、失败、重复、风控拦截 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 成功/失败/重复/风控拦截 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | share_params | SHARE_PARAMS | campaignId、pageId、campusId、channelId、employeeId、shareScene 等归因参数 | 非终态,可按状态机或字典规则流转 | campaignId/pageId/campusId/channelId/employeeId/shareScene 等归因参数 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | asset_status | ASSET_STATUS | 待生成、已生成、已停用、已失效 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待生成/已生成/已停用/已失效 |
| mkt_employee_share_record | EmployeeShareRecord | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_employee_share_record | EmployeeShareRecord | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_employee_share_record | EmployeeShareRecord | share_scene | SHARE_SCENE | 微信好友、朋友圈、企微、二维码海报、复制链接、线下物料 | 非终态,可按状态机或字典规则流转 | 微信好友/朋友圈/企微/二维码海报/复制链接/线下物料 |
| mkt_employee_share_record | EmployeeShareRecord | conversion_stage | CONVERSION_STAGE | 访问、留资、预约、到访、试听、签约、流失 | 非终态,可按状态机或字典规则流转 | 访问/留资/预约/到访/试听/签约/流失 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | template_scene | TEMPLATE_SCENE | 周年庆、续费战报、创收龙虎榜、公开课转化、区域 PK、校区排行 | 非终态,可按状态机或字典规则流转 | 周年庆/续费战报/创收龙虎榜/公开课转化/区域 PK/校区排行 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | template_scope | TEMPLATE_SCOPE | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 适用组织、校区、活动类型和角色范围 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | review_status | REVIEW_STATUS | DRAFT 草稿、PENDING 审核中、APPROVED 已通过、REJECTED 已驳回、DISABLED 已停用 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 草稿/审核中/已通过/已驳回/已下架 |
| mkt_activity_screen | MarketingActivityScreen | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_activity_screen | MarketingActivityScreen | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_activity_screen | MarketingActivityScreen | org_scope | ORG_SCOPE | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 总部、区域、校区、战区和业务单元展示范围 |
| mkt_activity_screen | MarketingActivityScreen | refresh_mode | REFRESH_MODE | 事件推送、短轮询、手动刷新 | 非终态,可按状态机或字典规则流转 | 事件推送/短轮询/手动刷新 |
| mkt_activity_screen | MarketingActivityScreen | public_token_status | PUBLIC_TOKEN_STATUS | 未生成、有效、已撤销、已过期 | 非终态,可按状态机或字典规则流转 | 未生成/有效/已撤销/已过期 |
| mkt_activity_screen | MarketingActivityScreen | screen_status | SCREEN_STATUS | 草稿、配置中、待发布、已发布、展示中、数据异常、已停用、已归档 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 草稿/配置中/待发布/已发布/展示中/数据异常/已停用/已归档 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | source_priority | SOURCE_PRIORITY | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 系统实时数据、系统补录业务单据、文件快照的取数优先级和启用条件 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | source_health | SOURCE_HEALTH | 未校验、正常、部分缺失、异常、断连 | 非终态,可按状态机或字典规则流转 | 未校验/正常/部分缺失/异常/断连 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | display_module | DISPLAY_MODULE | 左侧战榜、中部总额喜报、右侧老师榜、轮播明细、PK 面板 | 非终态,可按状态机或字典规则流转 | 左侧战榜/中部总额喜报/右侧老师榜/轮播明细/PK 面板 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | numerator_source | NUMERATOR_SOURCE | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 分子来源对象、过滤条件和取值字段 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | denominator_source | DENOMINATOR_SOURCE | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 分母来源对象、过滤条件和取值字段,适用于续费率等比例指标 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | data_source_priority | DATA_SOURCE_PRIORITY | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 系统实时数据、系统补录单据、文件快照的优先级 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | validate_status | VALIDATE_STATUS | 未校验、校验中、校验通过、校验失败 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 未校验/校验中/校验通过/校验失败 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | teacher_count | TEACHER_COUNT | 当前引用老师、人员数量 | 非终态,可按状态机或字典规则流转 | 当前引用老师/人员数量 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | delete_protect_status | DELETE_PROTECT_STATUS | 可删除、存在老师引用、存在战区引用、存在历史流水引用 | 非终态,可按状态机或字典规则流转 | 可删除/存在老师引用/存在战区引用/存在历史流水引用 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | employee_id | EMPLOYEE_ID | 员工、老师、顾问 ID | 非终态,可按状态机或字典规则流转 | 员工/老师/顾问 ID |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | subject_group | SUBJECT_GROUP | 语文组、数学组、英语组、自定义科目组 | 非终态,可按状态机或字典规则流转 | 语文组/数学组/英语组/自定义科目组 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | base_count | BASE_COUNT | 续费基数、待续人次 | 非终态,可按状态机或字典规则流转 | 续费基数/待续人次 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | employee_id | EMPLOYEE_ID | 老师、人员 ID | 非终态,可按状态机或字典规则流转 | 老师/人员 ID |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | biz_type | BIZ_TYPE | LEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资 | 非终态,可按状态机或字典规则流转 | 续费奖励/续费非奖励/扩科/纳新/转介绍 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | source_type | SOURCE_TYPE | 系统补录、演示补录、快照修正 | 非终态,可按状态机或字典规则流转 | 系统补录/演示补录/快照修正 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | record_status | RECORD_STATUS | 有效、已撤回、已作废、重算中、重算失败 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 有效/已撤回/已作废/重算中/重算失败 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | metric_refresh_status | METRIC_REFRESH_STATUS | 待刷新、刷新中、已刷新、刷新失败 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待刷新/刷新中/已刷新/刷新失败 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | widget_type | WIDGET_TYPE | 战区榜、校区榜、老师榜、总金额、喜报、订单播报、分组榜 | 非终态,可按状态机或字典规则流转 | 战区榜/校区榜/老师榜/总金额/喜报/订单播报/分组榜 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | switch_enabled | SWITCH_ENABLED | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 是否允许前台切换 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | validate_status | VALIDATE_STATUS | 未校验、校验通过、校验失败 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 未校验/校验通过/校验失败 |
| mkt_screen_zone | MarketingScreenZone | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_zone | MarketingScreenZone | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_zone | MarketingScreenZone | zone_type | ZONE_TYPE | 区域、校区组、业务单元、自定义战区 | 非终态,可按状态机或字典规则流转 | 区域/校区组/业务单元/自定义战区 |
| mkt_screen_zone | MarketingScreenZone | employee_scope | EMPLOYEE_SCOPE | 按业务字典配置,需在字典中心维护编码、名称、排序、启停和终态标识 | 非终态,可按状态机或字典规则流转 | 战区内参与展示的员工、老师、角色范围 |
| mkt_screen_zone | MarketingScreenZone | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| mkt_screen_pk_pair | MarketingScreenPkPair | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_pk_pair | MarketingScreenPkPair | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_pk_pair | MarketingScreenPkPair | compare_target_type | COMPARE_TARGET_TYPE | 战区、校区、其他校区平均值 | 非终态,可按状态机或字典规则流转 | 战区/校区/其他校区平均值 |
| mkt_screen_pk_pair | MarketingScreenPkPair | enabled | ENABLED_STATUS | 0 停用、1 启用 | 非终态,可按状态机或字典规则流转 | 是否启用 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_type | SNAPSHOT_TYPE | 待续名单、老师名单、校区名单、历史基数、其他固定基准 | 非终态,可按状态机或字典规则流转 | 待续名单/老师名单/校区名单/历史基数/其他固定基准 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_status | SNAPSHOT_STATUS | 校验中、已生效、部分失败、已废弃 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 校验中/已生效/部分失败/已废弃 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | refresh_status | REFRESH_STATUS | 刷新中、成功、部分失败、失败、断连恢复 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 刷新中/成功/部分失败/失败/断连恢复 |
敏感字段与数据安全策略
| 来源 | 表名 | 对象 | 字段 | 数据级别 | 脱敏/返回策略 | 明文查看条件 | 导出策略 | 审计要求 | 端侧展示规则 |
|---|---|---|---|---|---|---|---|---|---|
| 本模块对象 | mkt_campaign | MarketingCampaign | remark | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 本模块对象 | mkt_scan_record | ScanRecord | openid | 敏感 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 本模块对象 | mkt_form_submit | CampaignFormSubmit | guardian_mobile | 敏感 | MOBILE_MASK | 默认展示 138****0000;明文查看需字段权限或敏感字段查看审批 | 导出手机号必须触发导出审批、下载水印和有效期控制 | 明文查看、复制、导出和批量下载均写入 SensitiveAccessLog | PC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息 |
| 本模块对象 | mkt_activity_screen | MarketingActivityScreen | access_policy | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 本模块对象 | mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | sys_user | User/Employee | mobile | 敏感 | MOBILE_MASK | 默认展示 138****0000;明文查看需字段权限或敏感字段查看审批 | 导出手机号必须触发导出审批、下载水印和有效期控制 | 明文查看、复制、导出和批量下载均写入 SensitiveAccessLog | PC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息 |
| 引用对象 | sys_user | User/Employee | password_hash | 高敏 | NEVER_RETURN | 禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用 | 禁止导出;配置导出只允许导出脱敏引用和启停状态 | 配置新增、修改、启停、轮换和失败读取均记录安全审计 | 前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值 |
| 引用对象 | int_integration_log | IntegrationLog | request_payload | 敏感 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | int_integration_log | IntegrationLog | response_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | sec_sensitive_field_policy | SensitiveFieldPolicy | mask_rule | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | crm_lead | Lead | guardian_mobile | 敏感 | MOBILE_MASK | 默认展示 138****0000;明文查看需字段权限或敏感字段查看审批 | 导出手机号必须触发导出审批、下载水印和有效期控制 | 明文查看、复制、导出和批量下载均写入 SensitiveAccessLog | PC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息 |
| 引用对象 | crm_lead | Lead | remark | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | crm_customer_family | CustomerFamily | remark | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | stu_student | Student | remark | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | con_contract | Contract | tax_amount | 普通 | TAX_INVOICE_MASK | 默认按税号/发票号局部脱敏;发票原图、OCR 结果和国税回执按财务权限查看 | 财务导出需审批并加水印;国税官方回执随业务单归档 | OCR、核验、查重、人工校正、导出和付款阻断均留痕 | 移动端可上传和查看本人报销结果,不展示其他人员票据明文 |
| 引用对象 | ord_payment | Payment | pay_channel | 普通 | BANK_ACCOUNT_MASK | 默认展示后 4 位;付款、报销、工资发放场景按岗位权限展示 | 导出银行账号必须走财务/安全双审批 | 查看、变更、付款使用、导出均记录业务单号和操作者 | 财务 PC 可按权限明文;员工端和移动端默认脱敏 |
| 引用对象 | live_public_conversion | PublicLiveConversion | conversion_payload | 普通 | PAYLOAD_DESENSITIZE | 接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权 | 导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段 | 查看报文、下载附件、失败重放和人工补偿均记录审计 | 业务端展示摘要和状态,完整报文仅运维/安全后台查看 |
| 引用对象 | mob_teacher_todo | TeacherTodo | todo_type | 普通 | PAYROLL_MASK | 默认仅本人和授权人力/财务可见;社保、公积金字段按后台开关展示 | 工资条批量导出必须走高敏审批并限制下载次数 | 发布、撤回、重发、查看、确认、异议、导出全链路审计 | 教师/员工端仅查看本人电子工资条;PC 按岗位与审批展示 |
核心数据表完整字段
| 表名 | 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|---|
| mkt_channel | MarketingChannel | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_channel | MarketingChannel | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_channel | MarketingChannel | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_channel | MarketingChannel | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_channel | MarketingChannel | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_channel | MarketingChannel | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_channel | MarketingChannel | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_channel | MarketingChannel | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_channel | MarketingChannel | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_channel | MarketingChannel | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_channel | MarketingChannel | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_channel | MarketingChannel | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_channel | MarketingChannel | channel_code | VARCHAR(64) | 是 | 渠道编码,唯一 | 普通 |
| mkt_channel | MarketingChannel | channel_name | VARCHAR(128) | 是 | 渠道名称 | 普通 |
| mkt_channel | MarketingChannel | channel_type | VARCHAR(32) | 是 | 线上/线下/合作/自然流量 | 普通 |
| mkt_channel | MarketingChannel | owner_id | BIGINT | 否 | 渠道负责人 | 普通 |
| mkt_channel | MarketingChannel | budget_amount | DECIMAL(18,2) | 否 | 预算金额 | 普通 |
| mkt_channel | MarketingChannel | roi_rule | JSON | 否 | ROI 统计规则 | 普通 |
| mkt_campaign | MarketingCampaign | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_campaign | MarketingCampaign | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_campaign | MarketingCampaign | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_campaign | MarketingCampaign | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_campaign | MarketingCampaign | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_campaign | MarketingCampaign | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_campaign | MarketingCampaign | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_campaign | MarketingCampaign | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_campaign | MarketingCampaign | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_campaign | MarketingCampaign | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_campaign | MarketingCampaign | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_campaign | MarketingCampaign | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_campaign | MarketingCampaign | campaign_code | VARCHAR(64) | 是 | 活动编码,唯一 | 普通 |
| mkt_campaign | MarketingCampaign | campaign_name | VARCHAR(128) | 是 | 活动名称 | 普通 |
| mkt_campaign | MarketingCampaign | channel_id | BIGINT | 否 | 所属渠道 | 普通 |
| mkt_campaign | MarketingCampaign | campus_scope | JSON | 是 | 适用校区范围 | 普通 |
| mkt_campaign | MarketingCampaign | start_at | DATETIME | 是 | 开始时间 | 普通 |
| mkt_campaign | MarketingCampaign | end_at | DATETIME | 是 | 结束时间 | 普通 |
| mkt_campaign | MarketingCampaign | biz_status | VARCHAR(32) | 是 | 业务状态,取值来自状态机字典 | 普通 |
| mkt_campaign | MarketingCampaign | remark | VARCHAR(512) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| mkt_page_template | MarketingPageTemplate | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_page_template | MarketingPageTemplate | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_page_template | MarketingPageTemplate | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_page_template | MarketingPageTemplate | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_page_template | MarketingPageTemplate | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_page_template | MarketingPageTemplate | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_page_template | MarketingPageTemplate | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_page_template | MarketingPageTemplate | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_page_template | MarketingPageTemplate | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_page_template | MarketingPageTemplate | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_page_template | MarketingPageTemplate | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_page_template | MarketingPageTemplate | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_page_template | MarketingPageTemplate | template_code | VARCHAR(64) | 是 | 模板编码,唯一 | 普通 |
| mkt_page_template | MarketingPageTemplate | template_name | VARCHAR(128) | 是 | 模板名称 | 普通 |
| mkt_page_template | MarketingPageTemplate | template_type | VARCHAR(32) | 是 | 节气/传统节日/公开课/招生活动/自建 | 普通 |
| mkt_page_template | MarketingPageTemplate | festival_type | VARCHAR(32) | 否 | 节日或节气分类 | 普通 |
| mkt_page_template | MarketingPageTemplate | template_schema | JSON | 是 | 页面结构、组件和默认文案 | 普通 |
| mkt_page_template | MarketingPageTemplate | review_status | VARCHAR(32) | 是 | 草稿/审核中/已通过/已驳回 | 普通 |
| mkt_page_template | MarketingPageTemplate | version_no | INT | 是 | 模板版本 | 普通 |
| mkt_landing_page | CampaignLandingPage | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_landing_page | CampaignLandingPage | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_landing_page | CampaignLandingPage | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_landing_page | CampaignLandingPage | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_landing_page | CampaignLandingPage | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_landing_page | CampaignLandingPage | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_landing_page | CampaignLandingPage | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_landing_page | CampaignLandingPage | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_landing_page | CampaignLandingPage | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_landing_page | CampaignLandingPage | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_landing_page | CampaignLandingPage | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_landing_page | CampaignLandingPage | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_landing_page | CampaignLandingPage | page_code | VARCHAR(64) | 是 | 页面编码,唯一 | 普通 |
| mkt_landing_page | CampaignLandingPage | campaign_id | BIGINT | 是 | 关联营销活动 | 普通 |
| mkt_landing_page | CampaignLandingPage | template_id | BIGINT | 否 | 来源模板 ID | 普通 |
| mkt_landing_page | CampaignLandingPage | page_schema | JSON | 是 | 页面组件配置 | 普通 |
| mkt_landing_page | CampaignLandingPage | publish_status | VARCHAR(32) | 是 | 草稿/已发布/已下线 | 普通 |
| mkt_landing_page | CampaignLandingPage | published_url | VARCHAR(512) | 否 | 发布访问地址 | 普通 |
| mkt_landing_page | CampaignLandingPage | tracking_config | JSON | 否 | 埋点和转化归因配置 | 普通 |
| mkt_live_qr_code | LiveQrCode | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_live_qr_code | LiveQrCode | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_live_qr_code | LiveQrCode | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_live_qr_code | LiveQrCode | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_live_qr_code | LiveQrCode | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_live_qr_code | LiveQrCode | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_live_qr_code | LiveQrCode | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_live_qr_code | LiveQrCode | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_live_qr_code | LiveQrCode | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_live_qr_code | LiveQrCode | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_live_qr_code | LiveQrCode | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_live_qr_code | LiveQrCode | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_live_qr_code | LiveQrCode | qr_code | VARCHAR(64) | 是 | 活码编码,唯一 | 普通 |
| mkt_live_qr_code | LiveQrCode | biz_type | VARCHAR(64) | 是 | 活动页/资源/课程/直播/表单 | 普通 |
| mkt_live_qr_code | LiveQrCode | target_rule | JSON | 是 | 动态目标规则 | 普通 |
| mkt_live_qr_code | LiveQrCode | fallback_url | VARCHAR(512) | 否 | 失效或异常兜底地址 | 普通 |
| mkt_live_qr_code | LiveQrCode | rate_limit_rule | JSON | 否 | 防刷规则 | 普通 |
| mkt_live_qr_code | LiveQrCode | enabled | TINYINT | 是 | 是否启用 | 普通 |
| mkt_scan_record | ScanRecord | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_scan_record | ScanRecord | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_scan_record | ScanRecord | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_scan_record | ScanRecord | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_scan_record | ScanRecord | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_scan_record | ScanRecord | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_scan_record | ScanRecord | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_scan_record | ScanRecord | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_scan_record | ScanRecord | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_scan_record | ScanRecord | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_scan_record | ScanRecord | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_scan_record | ScanRecord | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_scan_record | ScanRecord | qr_code_id | BIGINT | 是 | 活码 ID | 普通 |
| mkt_scan_record | ScanRecord | visitor_id | VARCHAR(128) | 否 | 匿名访客 ID | 普通 |
| mkt_scan_record | ScanRecord | openid | VARCHAR(128) | 否 | 微信 OpenID,敏感 | 敏感 |
| mkt_scan_record | ScanRecord | scan_at | DATETIME | 是 | 扫码时间 | 普通 |
| mkt_scan_record | ScanRecord | resolved_target | VARCHAR(512) | 是 | 实际解析目标 | 普通 |
| mkt_scan_record | ScanRecord | risk_result | VARCHAR(32) | 否 | 防刷风险结果 | 普通 |
| mkt_form_submit | CampaignFormSubmit | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_form_submit | CampaignFormSubmit | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_form_submit | CampaignFormSubmit | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_form_submit | CampaignFormSubmit | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_form_submit | CampaignFormSubmit | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_form_submit | CampaignFormSubmit | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_form_submit | CampaignFormSubmit | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_form_submit | CampaignFormSubmit | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_form_submit | CampaignFormSubmit | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_form_submit | CampaignFormSubmit | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_form_submit | CampaignFormSubmit | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_form_submit | CampaignFormSubmit | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_form_submit | CampaignFormSubmit | submit_no | VARCHAR(64) | 是 | 提交编号,唯一 | 普通 |
| mkt_form_submit | CampaignFormSubmit | page_id | BIGINT | 是 | 页面 ID | 普通 |
| mkt_form_submit | CampaignFormSubmit | guardian_mobile | VARCHAR(32) | 是 | 家长手机号,敏感 | 敏感 |
| mkt_form_submit | CampaignFormSubmit | student_name | VARCHAR(64) | 否 | 学员姓名 | 普通 |
| mkt_form_submit | CampaignFormSubmit | form_data | JSON | 是 | 表单完整提交数据 | 普通 |
| mkt_form_submit | CampaignFormSubmit | lead_id | BIGINT | 否 | 转化生成线索 ID | 普通 |
| mkt_form_submit | CampaignFormSubmit | submit_status | VARCHAR(32) | 是 | 成功/失败/重复/风控拦截 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | asset_no | VARCHAR(64) | 是 | 推广资产编号,唯一 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | campaign_id | BIGINT | 是 | 关联营销活动 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | landing_page_id | BIGINT | 是 | 关联活动落地页 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | employee_id | BIGINT | 是 | 推广员工 ID | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | campus_id_ref | BIGINT | 否 | 员工推广归属校区 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | qr_code_id | BIGINT | 否 | 关联活码 ID | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | short_url | VARCHAR(512) | 否 | 员工专属短链 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | poster_file_id | BIGINT | 否 | 员工专属分享海报文件 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | share_params | JSON | 是 | campaignId/pageId/campusId/channelId/employeeId/shareScene 等归因参数 | 普通 |
| mkt_employee_promotion_asset | EmployeePromotionAsset | asset_status | VARCHAR(32) | 是 | 待生成/已生成/已停用/已失效 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | asset_id | BIGINT | 是 | 推广资产 ID | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | employee_id | BIGINT | 是 | 推广员工 ID | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | share_scene | VARCHAR(64) | 是 | 微信好友/朋友圈/企微/二维码海报/复制链接/线下物料 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | share_at | DATETIME | 是 | 分享时间 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | visitor_id | VARCHAR(128) | 否 | 访客匿名 ID | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | scan_record_id | BIGINT | 否 | 关联扫码记录 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | form_submit_id | BIGINT | 否 | 关联表单提交 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | lead_id | BIGINT | 否 | 关联 CRM 线索 | 普通 |
| mkt_employee_share_record | EmployeeShareRecord | conversion_stage | VARCHAR(32) | 是 | 访问/留资/预约/到访/试听/签约/流失 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | stat_date | DATE | 是 | 统计日期 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | campaign_id | BIGINT | 是 | 营销活动 ID | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | employee_id | BIGINT | 是 | 员工 ID | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | campus_id_ref | BIGINT | 否 | 归属校区 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | visit_count | INT | 是 | 访问量 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | scan_count | INT | 是 | 扫码量 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | submit_count | INT | 是 | 留资数 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | lead_count | INT | 是 | 线索数 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | trial_count | INT | 是 | 试听预约数 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | deal_count | INT | 是 | 成交数 | 普通 |
| mkt_employee_campaign_stat | EmployeeCampaignStat | roi_snapshot | JSON | 否 | 转化率、成交额和 ROI 快照 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | template_code | VARCHAR(64) | 是 | 大屏模板编码,唯一 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | template_name | VARCHAR(128) | 是 | 模板名称 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | template_scene | VARCHAR(64) | 是 | 周年庆/续费战报/创收龙虎榜/公开课转化/区域 PK/校区排行 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | layout_schema | JSON | 是 | 大屏布局、模块、视觉主题、榜单区域和轮播配置 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | default_metric_codes | JSON | 是 | 默认指标编码,如续费率、创收单数、创收金额、扩科、纳新、转介绍 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | default_refresh_rule | JSON | 否 | 默认刷新策略,事件推送优先,短轮询兜底 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | template_scope | JSON | 是 | 适用组织、校区、活动类型和角色范围 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | review_status | VARCHAR(32) | 是 | 草稿/审核中/已通过/已驳回/已下架 | 普通 |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | version_no | INT | 是 | 模板版本号 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_activity_screen | MarketingActivityScreen | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_activity_screen | MarketingActivityScreen | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | screen_no | VARCHAR(64) | 是 | 活动大屏编号,唯一 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | screen_name | VARCHAR(128) | 是 | 大屏名称 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | campaign_id | BIGINT | 是 | 关联营销活动 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | template_id | BIGINT | 是 | 关联活动大屏模板 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | org_scope | JSON | 是 | 总部、区域、校区、战区和业务单元展示范围 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | main_title | VARCHAR(128) | 是 | 大屏主标题 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | sub_title | VARCHAR(256) | 否 | 大屏副标题 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | theme_config | JSON | 否 | 主题色、背景、字体、喜报播报和动效配置 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | display_start_at | DATETIME | 否 | 投屏展示开始时间 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | display_end_at | DATETIME | 否 | 投屏展示结束时间 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | refresh_mode | VARCHAR(32) | 是 | 事件推送/短轮询/手动刷新 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | refresh_interval_sec | INT | 否 | 短轮询刷新间隔秒数 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | realtime_event_topics | JSON | 否 | 订单支付、续费生效、退费、作废、补录生效等刷新触发事件 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | public_token | VARCHAR(128) | 否 | 投屏公开访问令牌 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | public_token_expire_at | DATETIME | 否 | 公开访问令牌过期时间 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | public_token_status | VARCHAR(32) | 是 | 未生成/有效/已撤销/已过期 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | public_url | VARCHAR(512) | 否 | 投屏访问链接 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | watermark_config | JSON | 否 | 公开投屏水印、机构标识和访问提示配置 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | access_policy | JSON | 否 | 公开访问范围、脱敏策略、IP 限制和访问日志策略 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | screen_status | VARCHAR(32) | 是 | 草稿/配置中/待发布/已发布/展示中/数据异常/已停用/已归档 | 普通 |
| mkt_activity_screen | MarketingActivityScreen | last_refresh_at | DATETIME | 否 | 最近刷新时间 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | source_priority | JSON | 是 | 系统实时数据、系统补录业务单据、文件快照的取数优先级和启用条件 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | system_object_refs | JSON | 是 | 活动、渠道、线索、试听、合同、订单、支付、续费、退费、扩科、转介绍、员工、校区、课程、班级、学员等系统对象 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | manual_voucher_refs | JSON | 否 | 系统内人工补录业务单据范围,如线下收款补录、历史续费补录、归属修正 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | snapshot_fallback_rule | JSON | 否 | 文件导入固定快照兜底启用条件、优先级和过期策略 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | refresh_strategy | JSON | 是 | 事件推送优先、短轮询兜底、手动刷新、重算窗口和重试策略 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | event_topic_refs | JSON | 否 | 订单支付、续费生效、退费、作废、补录审核通过等事件主题 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | source_health | VARCHAR(32) | 是 | 未校验/正常/部分缺失/异常/断连 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | missing_sources | JSON | 否 | 缺失的数据对象、指标、事件或快照明细 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | last_check_at | DATETIME | 否 | 最近一次数据源健康检查时间 | 普通 |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | metric_code | VARCHAR(64) | 是 | 指标编码 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | metric_name | VARCHAR(128) | 是 | 指标名称 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | metric_definition | TEXT | 是 | 指标口径说明 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | metric_version | INT | 是 | 指标口径版本号 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | display_module | VARCHAR(64) | 是 | 左侧战榜/中部总额喜报/右侧老师榜/轮播明细/PK 面板 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | numerator_source | JSON | 否 | 分子来源对象、过滤条件和取值字段 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | denominator_source | JSON | 否 | 分母来源对象、过滤条件和取值字段,适用于续费率等比例指标 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | exclude_rule | JSON | 否 | 退费、作废、撤销、重复订单、无效学员等排除规则 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | rollback_rule | JSON | 否 | 退费、订单作废、补录撤销后的指标回滚规则 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | attribution_rule | JSON | 否 | 老师、校区、战区、课程、科目和转介绍归因规则 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | sort_rule | JSON | 否 | 排序字段、排序方向、并列处理和展示数量 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | data_source_priority | JSON | 是 | 系统实时数据、系统补录单据、文件快照的优先级 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | source_object_refs | JSON | 是 | 活动、渠道、线索、合同、订单、支付、续费、退费、扩科、员工、老师、校区等来源对象 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | refresh_frequency_sec | INT | 是 | 指标刷新频率秒数 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | validate_status | VARCHAR(32) | 是 | 未校验/校验中/校验通过/校验失败 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | last_validate_at | DATETIME | 否 | 最近一次口径校验时间 | 普通 |
| mkt_screen_metric_config | MarketingScreenMetricConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | campus_id | BIGINT | 是 | 校区 ID | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | campus_display_name | VARCHAR(128) | 是 | 大屏展示校区名称 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | zone_refs | JSON | 否 | 所属战区、PK 对阵和展示组件引用 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | teacher_count | INT | 否 | 当前引用老师/人员数量 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | reference_summary | JSON | 否 | 老师归属、战区引用、快照基准和历史流水引用摘要 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | delete_protect_status | VARCHAR(32) | 是 | 可删除/存在老师引用/存在战区引用/存在历史流水引用 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | sort_no | INT | 是 | 展示排序 | 普通 |
| mkt_screen_campus_config | MarketingScreenCampusConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | campus_id | BIGINT | 是 | 展示归属校区 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | employee_id | BIGINT | 是 | 员工/老师/顾问 ID | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | employee_name_snapshot | VARCHAR(128) | 是 | 展示姓名快照 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | subject_code | VARCHAR(64) | 否 | 课程科目编码 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | subject_group | VARCHAR(64) | 否 | 语文组/数学组/英语组/自定义科目组 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | base_count | INT | 是 | 续费基数/待续人次 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | reward_renewal_count | INT | 是 | 奖励续费人次 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | expand_count | INT | 是 | 扩科单数 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | total_order_count | INT | 是 | 创收单数 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | total_income | DECIMAL(14,2) | 是 | 创收金额 | 普通 |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | enabled | TINYINT | 是 | 是否启用 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | campus_id | BIGINT | 是 | 校区 ID | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | employee_id | BIGINT | 是 | 老师/人员 ID | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | course_id | BIGINT | 否 | 课程 ID | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | subject_code | VARCHAR(64) | 否 | 科目编码 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | biz_type | VARCHAR(64) | 是 | 续费奖励/续费非奖励/扩科/纳新/转介绍 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | amount | DECIMAL(14,2) | 是 | 金额 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | order_count | INT | 是 | 创收单数 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | source_type | VARCHAR(32) | 是 | 系统补录/演示补录/快照修正 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | record_status | VARCHAR(32) | 是 | 有效/已撤回/已作废/重算中/重算失败 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | revoke_reason | VARCHAR(255) | 否 | 撤回原因 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | metric_refresh_status | VARCHAR(32) | 是 | 待刷新/刷新中/已刷新/刷新失败 | 普通 |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | request_id | VARCHAR(64) | 是 | 幂等请求 ID | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | widget_code | VARCHAR(64) | 是 | 组件编码 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | widget_type | VARCHAR(64) | 是 | 战区榜/校区榜/老师榜/总金额/喜报/订单播报/分组榜 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | metric_codes | JSON | 是 | 组件展示指标编码 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | ranking_modes | JSON | 否 | 续费率排名、创收单数排名、创收金额排名等切换项 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | subject_groups | JSON | 否 | 语文组、数学组、英语组和自定义科目组配置 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | visible_count | INT | 否 | 默认展示数量 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | switch_enabled | TINYINT | 是 | 是否允许前台切换 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | theme_config | JSON | 否 | 组件主题、动效和尺寸配置 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | empty_state_copy | VARCHAR(255) | 否 | 空状态展示文案 | 普通 |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | validate_status | VARCHAR(32) | 是 | 未校验/校验通过/校验失败 | 普通 |
| mkt_screen_zone | MarketingScreenZone | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_zone | MarketingScreenZone | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_zone | MarketingScreenZone | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_zone | MarketingScreenZone | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_screen_zone | MarketingScreenZone | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_zone | MarketingScreenZone | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_zone | MarketingScreenZone | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_zone | MarketingScreenZone | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_zone | MarketingScreenZone | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_zone | MarketingScreenZone | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_zone | MarketingScreenZone | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_zone | MarketingScreenZone | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_zone | MarketingScreenZone | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_zone | MarketingScreenZone | zone_code | VARCHAR(64) | 是 | 战区编码 | 普通 |
| mkt_screen_zone | MarketingScreenZone | zone_name | VARCHAR(128) | 是 | 战区名称 | 普通 |
| mkt_screen_zone | MarketingScreenZone | zone_type | VARCHAR(32) | 是 | 区域/校区组/业务单元/自定义战区 | 普通 |
| mkt_screen_zone | MarketingScreenZone | campus_ids | JSON | 是 | 战区包含的校区 ID 列表 | 普通 |
| mkt_screen_zone | MarketingScreenZone | employee_scope | JSON | 否 | 战区内参与展示的员工、老师、角色范围 | 普通 |
| mkt_screen_zone | MarketingScreenZone | sort_no | INT | 是 | 展示排序 | 普通 |
| mkt_screen_zone | MarketingScreenZone | enabled | TINYINT | 是 | 是否启用 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | pair_code | VARCHAR(64) | 是 | PK 对阵编码 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | left_zone_id | BIGINT | 是 | 左侧战区 ID | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | right_zone_id | BIGINT | 否 | 右侧战区 ID,若为空可使用其他校区平均值 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | compare_target_type | VARCHAR(32) | 是 | 战区/校区/其他校区平均值 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | metric_codes | JSON | 是 | 参与 PK 的指标编码 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | winner_rule | JSON | 是 | 胜负判定规则、并列展示和异常处理 | 普通 |
| mkt_screen_pk_pair | MarketingScreenPkPair | enabled | TINYINT | 是 | 是否启用 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_no | VARCHAR(64) | 是 | 名单快照编号,唯一 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_type | VARCHAR(64) | 是 | 待续名单/老师名单/校区名单/历史基数/其他固定基准 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | source_file_id | BIGINT | 是 | 导入文件 ID | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | source_desc | VARCHAR(256) | 是 | 来源说明 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | import_batch_no | VARCHAR(64) | 是 | 导入批次号 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_version | INT | 是 | 快照版本 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | row_count | INT | 是 | 导入行数 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | valid_count | INT | 是 | 有效行数 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | error_count | INT | 是 | 错误行数 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_payload | JSON | 是 | 固定名单和历史基数快照 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | use_condition | TEXT | 是 | 仅在系统无结构化实时数据时兜底使用 | 普通 |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | snapshot_status | VARCHAR(32) | 是 | 校验中/已生效/部分失败/已废弃 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | created_at | DATETIME | 是 | 创建时间 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | screen_id | BIGINT | 是 | 活动大屏 ID | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | snapshot_time | DATETIME | 是 | 快照时间 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | metric_values | JSON | 是 | 指标值、榜单、喜报、PK 结果和过滤条件 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | data_source_summary | JSON | 是 | 系统实时数据、补录单据、固定快照的实际取数结果 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | source_version_summary | JSON | 否 | 指标口径版本、名单快照版本和业务流水截止点 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | refresh_trace_id | VARCHAR(128) | 否 | 刷新链路追踪 ID | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | refresh_status | VARCHAR(32) | 是 | 刷新中/成功/部分失败/失败/断连恢复 | 普通 |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | error_summary | JSON | 否 | 异常原因、缺失来源、失败指标和重试建议 | 普通 |
数据表与对象映射
| 表名 | 对象 | 用途 | 完整字段 | 索引建议 |
|---|---|---|---|---|
| mkt_channel | MarketingChannel | 渠道档案与投放预算 | 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,必填)、channel_code(VARCHAR(64),必填)、channel_name(VARCHAR(128),必填)、channel_type(VARCHAR(32),必填)、owner_id(BIGINT)、budget_amount(DECIMAL(18,2))、roi_rule(JSON) | uk_channel_code、idx_owner |
| mkt_campaign | MarketingCampaign | 营销活动主数据 | 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,必填)、campaign_code(VARCHAR(64),必填)、campaign_name(VARCHAR(128),必填)、channel_id(BIGINT)、campus_scope(JSON,必填)、start_at(DATETIME,必填)、end_at(DATETIME,必填)、biz_status(VARCHAR(32),必填)、remark(VARCHAR(512)) | uk_campaign_code、idx_channel_time |
| mkt_page_template | MarketingPageTemplate | 内置和自建活动模板库 | 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),必填)、template_type(VARCHAR(32),必填)、festival_type(VARCHAR(32))、template_schema(JSON,必填)、review_status(VARCHAR(32),必填)、version_no(INT,必填) | uk_template_code、idx_type_status |
| mkt_landing_page | CampaignLandingPage | 活动 H5/落地页实例 | 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,必填)、page_code(VARCHAR(64),必填)、campaign_id(BIGINT,必填)、template_id(BIGINT)、page_schema(JSON,必填)、publish_status(VARCHAR(32),必填)、published_url(VARCHAR(512))、tracking_config(JSON) | uk_page_code、idx_campaign_status |
| mkt_live_qr_code | LiveQrCode | 活码规则与动态跳转 | 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,必填)、qr_code(VARCHAR(64),必填)、biz_type(VARCHAR(64),必填)、target_rule(JSON,必填)、fallback_url(VARCHAR(512))、rate_limit_rule(JSON)、enabled(TINYINT,必填) | uk_qr_code、idx_biz_enabled |
| mkt_scan_record | ScanRecord | 活码扫码与访问记录 | 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,必填)、qr_code_id(BIGINT,必填)、visitor_id(VARCHAR(128))、openid(VARCHAR(128))、scan_at(DATETIME,必填)、resolved_target(VARCHAR(512),必填)、risk_result(VARCHAR(32)) | idx_qr_time、idx_visitor |
| mkt_form_submit | CampaignFormSubmit | 活动表单留资 | 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,必填)、submit_no(VARCHAR(64),必填)、page_id(BIGINT,必填)、guardian_mobile(VARCHAR(32),必填)、student_name(VARCHAR(64))、form_data(JSON,必填)、lead_id(BIGINT)、submit_status(VARCHAR(32),必填) | uk_submit_no、idx_page_mobile |
| mkt_employee_promotion_asset | EmployeePromotionAsset | 员工专属推广链接、二维码和海报资产 | 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,必填)、asset_no(VARCHAR(64),必填)、campaign_id(BIGINT,必填)、landing_page_id(BIGINT,必填)、employee_id(BIGINT,必填)、campus_id_ref(BIGINT)、qr_code_id(BIGINT)、short_url(VARCHAR(512))、poster_file_id(BIGINT)、share_params(JSON,必填)、asset_status(VARCHAR(32),必填) | uk_asset_no、uk_campaign_employee_page、idx_employee_status |
| mkt_employee_share_record | EmployeeShareRecord | 员工活动分享和访问转化记录 | 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,必填)、asset_id(BIGINT,必填)、employee_id(BIGINT,必填)、share_scene(VARCHAR(64),必填)、share_at(DATETIME,必填)、visitor_id(VARCHAR(128))、scan_record_id(BIGINT)、form_submit_id(BIGINT)、lead_id(BIGINT)、conversion_stage(VARCHAR(32),必填) | idx_asset_time、idx_employee_stage、idx_lead |
| mkt_employee_campaign_stat | EmployeeCampaignStat | 员工活动推广效果快照 | 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,必填)、stat_date(DATE,必填)、campaign_id(BIGINT,必填)、employee_id(BIGINT,必填)、campus_id_ref(BIGINT)、visit_count(INT,必填)、scan_count(INT,必填)、submit_count(INT,必填)、lead_count(INT,必填)、trial_count(INT,必填)、deal_count(INT,必填)、roi_snapshot(JSON) | uk_date_campaign_employee、idx_employee_date、idx_campaign_date |
| mkt_activity_screen_template | MarketingActivityScreenTemplate | 活动大屏模板库 | 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),必填)、template_scene(VARCHAR(64),必填)、layout_schema(JSON,必填)、default_metric_codes(JSON,必填)、default_refresh_rule(JSON)、template_scope(JSON,必填)、review_status(VARCHAR(32),必填)、version_no(INT,必填) | uk_screen_template_code、idx_scene_status |
| mkt_activity_screen | MarketingActivityScreen | 活动大屏实例 | 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,必填)、screen_no(VARCHAR(64),必填)、screen_name(VARCHAR(128),必填)、campaign_id(BIGINT,必填)、template_id(BIGINT,必填)、org_scope(JSON,必填)、main_title(VARCHAR(128),必填)、sub_title(VARCHAR(256))、theme_config(JSON)、display_start_at(DATETIME)、display_end_at(DATETIME)、refresh_mode(VARCHAR(32),必填)、refresh_interval_sec(INT)、realtime_event_topics(JSON)、public_token(VARCHAR(128))、public_token_expire_at(DATETIME)、public_token_status(VARCHAR(32),必填)、public_url(VARCHAR(512))、watermark_config(JSON)、access_policy(JSON)、screen_status(VARCHAR(32),必填)、last_refresh_at(DATETIME) | uk_screen_no、idx_campaign_status、idx_public_token |
| mkt_screen_data_source_config | MarketingScreenDataSourceConfig | 活动大屏数据源配置 | 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,必填)、screen_id(BIGINT,必填)、source_priority(JSON,必填)、system_object_refs(JSON,必填)、manual_voucher_refs(JSON)、snapshot_fallback_rule(JSON)、refresh_strategy(JSON,必填)、event_topic_refs(JSON)、source_health(VARCHAR(32),必填)、missing_sources(JSON)、last_check_at(DATETIME)、enabled(TINYINT,必填) | uk_screen_data_source、idx_screen_health |
| mkt_screen_metric_config | MarketingScreenMetricConfig | 活动大屏指标口径配置 | 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,必填)、screen_id(BIGINT,必填)、metric_code(VARCHAR(64),必填)、metric_name(VARCHAR(128),必填)、metric_definition(TEXT,必填)、metric_version(INT,必填)、display_module(VARCHAR(64),必填)、numerator_source(JSON)、denominator_source(JSON)、exclude_rule(JSON)、rollback_rule(JSON)、attribution_rule(JSON)、sort_rule(JSON)、data_source_priority(JSON,必填)、source_object_refs(JSON,必填)、refresh_frequency_sec(INT,必填)、validate_status(VARCHAR(32),必填)、last_validate_at(DATETIME)、enabled(TINYINT,必填) | uk_screen_metric、idx_screen_module |
| mkt_screen_campus_config | MarketingScreenCampusConfig | 活动大屏校区配置 | 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,必填)、screen_id(BIGINT,必填)、campus_display_name(VARCHAR(128),必填)、zone_refs(JSON)、teacher_count(INT)、reference_summary(JSON)、delete_protect_status(VARCHAR(32),必填)、sort_no(INT,必填)、enabled(TINYINT,必填) | uk_screen_campus、idx_screen_enabled、idx_delete_protect |
| mkt_screen_personnel_config | MarketingScreenPersonnelConfig | 活动大屏老师/人员配置 | 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,必填)、screen_id(BIGINT,必填)、employee_id(BIGINT,必填)、employee_name_snapshot(VARCHAR(128),必填)、subject_code(VARCHAR(64))、subject_group(VARCHAR(64))、base_count(INT,必填)、reward_renewal_count(INT,必填)、expand_count(INT,必填)、total_order_count(INT,必填)、total_income(DECIMAL(14,2),必填)、enabled(TINYINT,必填) | uk_screen_employee_campus_subject、idx_screen_group、idx_screen_enabled |
| mkt_screen_manual_performance_record | MarketingScreenManualPerformanceRecord | 活动大屏补录与撤回流水 | 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,必填)、screen_id(BIGINT,必填)、employee_id(BIGINT,必填)、course_id(BIGINT)、subject_code(VARCHAR(64))、biz_type(VARCHAR(64),必填)、amount(DECIMAL(14,2),必填)、order_count(INT,必填)、source_type(VARCHAR(32),必填)、record_status(VARCHAR(32),必填)、revoke_reason(VARCHAR(255))、metric_refresh_status(VARCHAR(32),必填)、request_id(VARCHAR(64),必填) | uk_request_id、idx_screen_time、idx_screen_status |
| mkt_screen_display_widget_config | MarketingScreenDisplayWidgetConfig | 活动大屏展示组件配置 | 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,必填)、screen_id(BIGINT,必填)、widget_code(VARCHAR(64),必填)、widget_type(VARCHAR(64),必填)、metric_codes(JSON,必填)、ranking_modes(JSON)、subject_groups(JSON)、visible_count(INT)、switch_enabled(TINYINT,必填)、theme_config(JSON)、empty_state_copy(VARCHAR(255))、validate_status(VARCHAR(32),必填) | uk_screen_widget、idx_screen_type |
| mkt_screen_zone | MarketingScreenZone | 活动大屏战区/区域配置 | 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,必填)、screen_id(BIGINT,必填)、zone_code(VARCHAR(64),必填)、zone_name(VARCHAR(128),必填)、zone_type(VARCHAR(32),必填)、campus_ids(JSON,必填)、employee_scope(JSON)、sort_no(INT,必填)、enabled(TINYINT,必填) | uk_screen_zone_code、idx_screen_enabled |
| mkt_screen_pk_pair | MarketingScreenPkPair | 活动大屏 PK 对阵配置 | 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,必填)、screen_id(BIGINT,必填)、pair_code(VARCHAR(64),必填)、left_zone_id(BIGINT,必填)、right_zone_id(BIGINT)、compare_target_type(VARCHAR(32),必填)、metric_codes(JSON,必填)、winner_rule(JSON,必填)、enabled(TINYINT,必填) | uk_screen_pk_code、idx_screen_enabled |
| mkt_screen_roster_snapshot | MarketingScreenRosterSnapshot | 活动大屏固定名单快照 | 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,必填)、snapshot_no(VARCHAR(64),必填)、screen_id(BIGINT,必填)、snapshot_type(VARCHAR(64),必填)、source_file_id(BIGINT,必填)、source_desc(VARCHAR(256),必填)、import_batch_no(VARCHAR(64),必填)、snapshot_version(INT,必填)、row_count(INT,必填)、valid_count(INT,必填)、error_count(INT,必填)、snapshot_payload(JSON,必填)、use_condition(TEXT,必填)、snapshot_status(VARCHAR(32),必填) | uk_screen_snapshot_no、idx_screen_type_version |
| mkt_screen_data_snapshot | MarketingScreenDataSnapshot | 活动大屏运行期指标快照 | 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,必填)、screen_id(BIGINT,必填)、snapshot_time(DATETIME,必填)、metric_values(JSON,必填)、data_source_summary(JSON,必填)、source_version_summary(JSON)、refresh_trace_id(VARCHAR(128))、refresh_status(VARCHAR(32),必填)、error_summary(JSON) | idx_screen_time、idx_screen_status |
12 · 状态机与业务规则
约束业务对象如何流转、何时可编辑、何时触发审批
原型需要把状态标签、可操作按钮和禁用原因展示清楚。| 对象 | 状态 | 触发与说明 |
|---|---|---|
| 活动落地页 | 草稿 -> 编辑中 -> 待发布 -> 发布中 -> 已发布 -> 发布失败 -> 已停用 -> 已过期 | PC Web 从模板创建活动页,发布后生成链接、活码和员工端可推广活动 |
| 员工推广资产 | 待生成 -> 已生成 -> 分享中 -> 已停用 -> 已失效 -> 生成失败 | 员工在教师端领取活动后生成专属短链、二维码和海报,活动停用或超期后资产失效 |
| 员工分享记录 | 已分享 -> 已访问 -> 已扫码 -> 已留资 -> 已生成线索 -> 已预约试听 -> 已签约 -> 已流失 | 外部访问、扫码、留资和转化阶段均回写员工分享记录 |
| 活动表单留资 | 待提交 -> 提交中 -> 提交成功 -> 疑似重复 -> 风控拦截 -> 生成线索失败 -> 已进入 CRM | 外部 H5 表单提交后进入查重、风控、线索入库和 CRM 分配流程 |
| 推广战报快照 | 待统计 -> 统计中 -> 已生成 -> 部分失败 -> 已刷新 | 按员工、活动、校区和日期汇总访问、扫码、留资、试听、成交和 ROI |
| 活动大屏实例 | 草稿 -> 配置中 -> 待发布 -> 已发布 -> 展示中 -> 刷新断连 -> 数据异常 -> 已停用 -> 已归档 | 后台创建活动大屏、配置模板和数据源后发布投屏,展示中持续刷新并记录断连与异常 |
| 活动大屏数据源 | 未配置 -> 待校验 -> 正常 -> 部分缺失 -> 异常 -> 断连 -> 已停用 | 校验系统实时数据、系统补录单据、文件快照兜底、事件主题和刷新策略;部分缺失时禁止直接发布 |
| 活动大屏指标 | 未配置 -> 已配置 -> 口径校验中 -> 校验通过 -> 校验失败 -> 刷新中 -> 已刷新 -> 部分失败 | 续费率、创收金额、创收单数、扩科、纳新、转介绍等指标按系统实时数据优先刷新 |
| 固定名单快照 | 待导入 -> 校验中 -> 已生效 -> 部分失败 -> 已废弃 -> 版本过期 | 待续名单、老师名单、校区名单和历史基数仅作为无系统实时数据时的兜底固定基准 |
营销拓客中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
营销拓客中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
营销拓客中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
营销拓客中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
营销拓客中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
营销拓客中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
13 · 权限、审批与消息
动作权限、数据范围、审批触发和消息触达必须闭环
权限需要覆盖菜单、按钮、字段、接口和导出。动作权限
- 创建渠道:需映射菜单、按钮、接口和字段权限
- 选择模板:需映射菜单、按钮、接口和字段权限
- 发布活动:需映射菜单、按钮、接口和字段权限
- 编辑 H5:需映射菜单、按钮、接口和字段权限
- 转为模板:需映射菜单、按钮、接口和字段权限
- 生成活码:需映射菜单、按钮、接口和字段权限
- 配置推广范围:需映射菜单、按钮、接口和字段权限
- 创建活动大屏:需映射菜单、按钮、接口和字段权限
- 配置大屏模板:需映射菜单、按钮、接口和字段权限
- 配置实时数据源:需映射菜单、按钮、接口和字段权限
- 配置战区 PK:需映射菜单、按钮、接口和字段权限
- 发布投屏链接:需映射菜单、按钮、接口和字段权限
- 员工生成专属码:需映射菜单、按钮、接口和字段权限
- 分享海报:需映射菜单、按钮、接口和字段权限
- 分配线索:需映射菜单、按钮、接口和字段权限
- 查看 ROI:需映射菜单、按钮、接口和字段权限
数据范围
- 总部全量
- 区域辖区
- 校区本地
- 部门/岗位
- 本人负责
- 授权班级/学员
审批配置
| 审批名称 | 触发条件 | 流程 | 结果 | 留痕 |
|---|---|---|---|---|
| 活动发布审批 | 活动 H5、表单、优惠、投放范围或可推广员工范围配置完成后发布 | 市场运营 -> 区域市场/总部市场 -> 品牌审核可选 | 通过后发布 H5、生成活码并同步到员工端推广工作台 | 保留页面版本、表单字段、推广范围、归因规则和审核意见 |
| 活动大屏发布审批 | 活动大屏模板、指标口径、战区 PK、投屏链接和公开访问范围配置完成后发布 | 市场运营 -> 区域市场/总部市场 -> 数据管理员可选 | 通过后生成大屏投屏链接、二维码和公开访问令牌,展示端开始按实时数据刷新 | 保留大屏模板版本、指标口径版本、数据源优先级、展示范围和审批意见 |
| 固定名单快照启用确认 | 系统无结构化实时数据或历史基数无法追溯,需要启用文件导入固定快照作为大屏基准 | 导入人 -> 市场负责人 -> 数据管理员 | 通过后快照可参与大屏基准计算,但不得覆盖系统内实时业务流水 | 保留文件来源、导入人、导入时间、校验结果、版本号和使用条件 |
| 自建页面转模板审批 | 校区或区域自建活动页面申请沉淀为可复用模板 | 申请人 -> 区域市场 -> 总部品牌审核 | 通过后进入模板库并按授权范围开放使用 | 保留页面快照、素材、表单、埋点和审核意见 |
| 推广资产停用审批 | 员工推广资产涉及违规素材、活动结束前停用或批量作废 | 市场运营 -> 校区/区域负责人 | 通过后员工二维码、短链和海报失效,外部访问进入失效页 | 保留停用原因、影响员工、影响线索和替代入口 |
| 敏感推广数据导出审批 | 导出员工活动线索、手机号、访问明细或转化明细 | 申请人 -> 市场负责人 -> 安全管理员 | 通过后限时导出并加水印 | 记录字段范围、下载人、下载 IP 和有效期 |
消息模板
| 消息 | 接收人 | 触发 | 渠道 | 变量 |
|---|---|---|---|---|
| 新活动可推广提醒 | 课程顾问/销售人员/市场人员/班主任 | PC Web 活动发布且员工在推广范围内 | 迪诺学堂教师端 App/小程序、站内信 | 活动名称、有效期、推广入口、专属码生成状态 |
| 员工推广码生成结果 | 课程顾问/销售人员/市场人员/班主任 | 员工生成专属链接、二维码或海报成功/失败 | 迪诺学堂教师端 App/小程序 | 活动名称、二维码、海报、失败原因、重试入口 |
| 活动线索回流提醒 | 课程顾问/销售人员/市场人员/班主任 | 本人推广链接产生报名、试听预约或公开课报名线索 | 迪诺学堂教师端 App/小程序 | 学员姓名、来源活动、归因渠道、跟进截止时间 |
| 推广资产失效提醒 | 课程顾问/销售人员/市场人员/班主任 | 活动停用、二维码过期、目标下架或员工不再在推广范围内 | 迪诺学堂教师端 App/小程序 | 活动名称、失效原因、替代活动入口 |
| 个人推广战报提醒 | 课程顾问/销售人员/市场人员/班主任/校区负责人 | 日/周/月推广战报刷新完成 | 迪诺学堂教师端 App/小程序、站内信 | 访问量、留资数、试听数、成交数、排名 |
| 活动大屏发布提醒 | 总部市场/区域市场/校区运营/活动负责人 | 活动大屏发布成功或投屏链接变更 | 站内信、企微、短信可选 | 大屏名称、活动名称、投屏链接、二维码、展示有效期 |
| 活动大屏数据异常提醒 | 总部市场/数据管理员/活动负责人 | 实时刷新断连、指标口径校验失败、系统数据缺失或固定快照过期 | 站内信、企微、短信可选 | 异常指标、影响模块、最后刷新时间、处理入口 |
| 活动喜报播报 | 大屏端/活动现场运营 | 系统内有效订单支付、续费完成、扩科完成或公开课转化成功 | 大屏端实时播报 | 校区、老师、学员脱敏信息、金额、订单类型、播报时间 |
14 · 接口与技术细节
接口需支持幂等、权限、审计、重试和回执
每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。| 接口 | 方法 | 方向 | 请求字段 | 响应字段 | 幂等/权限 |
|---|---|---|---|---|---|
| /api/v1/marketing/templates | POST/GET | PC Web 到平台 | templateType, festivalType, pageSchema, assets | templateId, reviewStatus, previewUrl | 模板编码唯一 |
| /api/v1/marketing/pages/publish | POST | PC Web 到平台 | pageId, publishChannel, trackingConfig | publishedUrl, versionNo, publishStatus | pageId + versionNo 幂等 |
| /api/v1/live-qrcodes | POST/GET | PC Web 到平台 | bizType, targetRule, expireAt, enabled | qrCode, shortUrl, currentTarget | qrCode 唯一 |
| /api/v1/marketing/mobile/campaigns | GET | 迪诺学堂教师端 App/小程序到营销服务 | employeeId, roleCode, campusId, keyword, status | campaigns, availableActions, assetSummary | 仅返回员工角色、校区和活动范围内可推广活动 |
| /api/v1/marketing/employee-promotion-assets | POST/GET | 迪诺学堂教师端 App/小程序到营销服务 | campaignId, pageId, employeeId, campusId, channelId, shareScene, requestId | assetId, shortUrl, qrCodeUrl, posterUrl, assetStatus | campaignId + pageId + employeeId 幂等;活动停用后不可新建 |
| /api/v1/marketing/employee-promotion-assets/{id}/poster | POST | 迪诺学堂教师端 App/小程序到营销服务 | assetId, posterTemplateId, employeeName, campusName, requestId | posterFileId, posterUrl, generateStatus | assetId + posterTemplateId 幂等 |
| /api/v1/marketing/employee-share-records | POST | 外部 H5/教师端到营销服务 | assetId, employeeId, shareScene, visitorId, scanRecordId, formSubmitId, leadId, conversionStage | recordId, statRefreshStatus | assetId + visitorId + conversionStage 去重 |
| /api/v1/marketing/employee-campaign-stats | GET | 迪诺学堂教师端 App/小程序到营销服务 | employeeId, campaignId, dateRange, campusId | visitCount, scanCount, submitCount, leadCount, trialCount, dealCount, roiSnapshot | 只能查看本人或授权团队推广数据 |
| /api/v1/marketing/screens/templates | POST/GET | PC Web 到营销服务 | templateScene, templateName, layoutSchema, defaultMetricCodes, templateScope | templateId, previewUrl, reviewStatus, versionNo | templateCode 唯一,模板发布需审核 |
| /api/v1/marketing/screens | POST/GET/PUT | PC Web 到营销服务 | campaignId, templateId, screenName, orgScope, mainTitle, subTitle, displayStartAt, displayEndAt, refreshMode, realtimeEventTopics, themeConfig, accessPolicy, watermarkConfig, requestId | screenId, screenNo, screenStatus, publicUrl, qrCodeUrl, publicTokenExpireAt, tokenStatus | requestId 幂等;活动停用后不可发布新大屏 |
| /api/v1/marketing/screens/{id}/metrics | POST/GET/PUT | PC Web 到营销服务 | metricCode, metricName, metricDefinition, metricVersion, displayModule, numeratorSource, denominatorSource, excludeRule, rollbackRule, attributionRule, sortRule, dataSourcePriority, sourceObjectRefs, refreshFrequencySec | metricConfigId, validateStatus, sourcePreview, lastValidateAt | 指标口径版本化;禁用指标需记录原因 |
| /api/v1/marketing/screens/{id}/data-sources | POST/GET/PUT | PC Web 到营销服务 | sourcePriority, systemObjectRefs, manualVoucherRefs, snapshotFallbackRule, refreshStrategy, eventTopicRefs, refreshWorkerPolicy | dataSourceConfigId, sourceHealth, missingSources, lastCheckAt | 系统实时数据优先;文件快照只能兜底;数据源缺失不可发布 |
| /api/v1/marketing/screens/{id}/campus-configs | POST/GET/PUT/DELETE | PC Web 到营销服务 | screenId, campusId, campusDisplayName, zoneRefs, sortNo, enabled, operationId | campusConfigId, referenceSummary, deleteAllowed, blockReasons | 校区被老师/人员、战区、快照或历史流水引用时禁止删除 |
| /api/v1/marketing/screens/{id}/personnel-configs | POST/GET/PUT/DELETE | PC Web 到营销服务 | screenId, employeeId, campusId, subjectCode, subjectGroup, baseCount, rewardRenewalCount, expandCount, totalOrderCount, totalIncome, enabled | personnelConfigId, renewalRate, duplicateWarning, displayStatus | 同一老师可跨校区多条配置;员工 + 校区 + 科目唯一 |
| /api/v1/marketing/screens/{id}/manual-performance-records | POST/GET | PC Web 到营销服务 | screenId, campusId, employeeId, courseId, subjectCode, bizType, amount, orderCount, sourceType, requestId | recordId, recordStatus, metricRefreshStatus, orderLogSeq | 仅作为系统补录单据或演示补录;requestId 幂等;不得覆盖系统实时流水 |
| /api/v1/marketing/screens/{id}/manual-performance-records/{recordId}/revoke | POST | PC Web 到营销服务 | screenId, recordId, revokeReason, operationId | recordStatus, metricRefreshStatus, snapshotId | 仅允许撤回可撤回窗口内最后一笔或未被后续固化的补录记录 |
| /api/v1/marketing/screens/{id}/display-widgets | POST/GET/PUT | PC Web 到营销服务 | screenId, widgetCode, widgetType, metricCodes, rankingModes, subjectGroups, visibleCount, switchEnabled, themeConfig | widgetConfigId, previewSchema, validateStatus | 控制战区/校区切换、续费率/创收单数排名、显示全部老师、语数英分组和喜报轮播 |
| /api/v1/marketing/screens/{id}/zones | POST/GET/PUT | PC Web 到营销服务 | zoneCode, zoneName, zoneType, campusIds, employeeScope, sortNo, enabled | zoneId, zoneStatus, affectedMetrics | screenId + zoneCode 唯一 |
| /api/v1/marketing/screens/{id}/pk-pairs | POST/GET/PUT | PC Web 到营销服务 | pairCode, leftZoneId, rightZoneId, compareTargetType, metricCodes, winnerRule, enabled | pkPairId, previewResult, validateStatus | 支持战区 VS 其他校区平均值;对阵对象停用需重新校验 |
| /api/v1/marketing/screens/{id}/roster-snapshots/import | POST | PC Web 到营销服务 | fileId, snapshotType, sourceDesc, snapshotVersion, dryRun, requestId | importBatchNo, validCount, errorCount, snapshotStatus, errorItems | 仅在系统无结构化数据时兜底;requestId 幂等 |
| /api/v1/marketing/screens/{id}/realtime-data | GET | PC Web/大屏端到营销服务 | screenId, metricCodes, orgFilter, courseFilter, subjectFilter, roleFilter, sinceSnapshotTime | metricValues, warzoneRank, campusRank, teacherRank, latestOrders, lastRefreshAt, sourceSummary | 优先事件推送,短轮询兜底;返回最后刷新时间 |
| /api/v1/marketing/screens/{id}/stream | SSE/WS | 大屏端到营销实时服务 | publicToken, screenId, clientId, lastEventId, viewport | metricPatch, announcementPatch, lastRefreshAt, heartbeatAt, reconnectAfter | 事件推送优先;断线后按 lastEventId 补发,失败回落短轮询 |
| /api/v1/marketing/screens/{id}/public-token | POST/PATCH | PC Web 到营销服务 | action, expireAt, accessPolicy, watermarkConfig, operationId | publicToken, publicUrl, tokenStatus, publicTokenExpireAt | operationId 幂等;撤销后旧链接立即不可访问 |
| /api/v1/marketing/screens/{id}/public-data | GET | 大屏端公开访问到营销服务 | publicToken, screenId, viewport, clientVersion | mainTitle, subTitle, publicMetricValues, displaySchema, lastRefreshAt, disconnected | publicToken 鉴权;敏感字段脱敏 |
| /api/v1/marketing/leads/import | POST | PC Web 到平台 | campaignId, fileId, importRule, requestId | batchNo, successCount, failItems | requestId 幂等 |
| /api/v1/crm/leads/assign | POST | 营销到 CRM | leadIds, ownerId, assignRule | assignStatus, todoIds | 线索状态校验 |
| /api/v1/marketing/live-group-codes | POST/GET | PC Web 到营销 | campaignId, groupCodePool, switchRule, fallbackPageId | liveCodeId, qrCodeUrl, currentTarget | 群满自动切换 |
| /api/v1/marketing/coupon-scan-campaigns | POST/GET | PC Web 到营销 | couponRule, pageId, channelScope, riskRule | campaignId, couponStats, publishStatus | 扫码领券按手机号/设备/渠道防刷 |
| /api/v1/marketing/group-buying | POST/GET | PC Web 到营销 | courseId, groupSize, groupPrice, expireAt, refundPolicy | groupBuyId, publishStatus, stats | 活动编号幂等 |
| /api/v1/marketing/distribution-rules | POST/GET | PC Web 到营销/财务 | campaignId, distributorScope, commissionRule, settleRule | ruleId, enabled, riskPolicy | 佣金规则审批后生效 |
| /api/v1/marketing/online-mall/pages | POST/GET | PC Web 到营销 | pageSchema, goodsRefs, campaignRefs, themeConfig | pageId, previewUrl, publishStatus | 商城首页装修版本化发布 |
前端约束
- 统一登录态和租户校区上下文
- 列表分页、筛选、排序、列显隐
- 表单本地校验与服务端错误映射
- 移动/平板/TV 按终端适配交互
后端约束
- 领域服务封装业务规则
- 写操作事务一致性
- 关键操作审计快照
- 异步任务失败重试和告警
集成约束
- 第三方接口统一走开放集成中心
- 回执文件归档
- 接口日志可按业务单号追踪
- 密钥和回调地址按环境隔离
15 · 数据库与存储设计
核心表建议、关键字段和索引方向
详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。| 表名 | 用途 | 核心字段 | 索引建议 |
|---|---|---|---|
| mkt_channel | 渠道档案与投放预算 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、channel_code、channel_name、channel_type、owner_id、budget_amount、roi_rule | uk_channel_code、idx_owner |
| mkt_campaign | 营销活动主数据 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、campaign_code、campaign_name、channel_id、campus_scope、start_at、end_at、biz_status、remark | uk_campaign_code、idx_channel_time |
| mkt_page_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、template_type、festival_type、template_schema、review_status、version_no | uk_template_code、idx_type_status |
| mkt_landing_page | 活动 H5/落地页实例 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、page_code、campaign_id、template_id、page_schema、publish_status、published_url、tracking_config | uk_page_code、idx_campaign_status |
| mkt_live_qr_code | 活码规则与动态跳转 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、qr_code、biz_type、target_rule、fallback_url、rate_limit_rule、enabled | uk_qr_code、idx_biz_enabled |
| mkt_scan_record | 活码扫码与访问记录 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、qr_code_id、visitor_id、openid、scan_at、resolved_target、risk_result | idx_qr_time、idx_visitor |
| mkt_form_submit | 活动表单留资 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、submit_no、page_id、guardian_mobile、student_name、form_data、lead_id、submit_status | uk_submit_no、idx_page_mobile |
| mkt_employee_promotion_asset | 员工专属推广链接、二维码和海报资产 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、asset_no、campaign_id、landing_page_id、employee_id、campus_id_ref、qr_code_id、short_url、poster_file_id、share_params、asset_status | uk_asset_no、uk_campaign_employee_page、idx_employee_status |
| mkt_employee_share_record | 员工活动分享和访问转化记录 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、asset_id、employee_id、share_scene、share_at、visitor_id、scan_record_id、form_submit_id、lead_id、conversion_stage | idx_asset_time、idx_employee_stage、idx_lead |
| mkt_employee_campaign_stat | 员工活动推广效果快照 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、stat_date、campaign_id、employee_id、campus_id_ref、visit_count、scan_count、submit_count、lead_count、trial_count、deal_count、roi_snapshot | uk_date_campaign_employee、idx_employee_date、idx_campaign_date |
| mkt_activity_screen_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、template_scene、layout_schema、default_metric_codes、default_refresh_rule、template_scope、review_status、version_no | uk_screen_template_code、idx_scene_status |
| mkt_activity_screen | 活动大屏实例 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_no、screen_name、campaign_id、template_id、org_scope、main_title、sub_title、theme_config、display_start_at、display_end_at、refresh_mode、refresh_interval_sec、realtime_event_topics、public_token、public_token_expire_at、public_token_status、public_url、watermark_config、access_policy、screen_status、last_refresh_at | uk_screen_no、idx_campaign_status、idx_public_token |
| mkt_screen_data_source_config | 活动大屏数据源配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、source_priority、system_object_refs、manual_voucher_refs、snapshot_fallback_rule、refresh_strategy、event_topic_refs、source_health、missing_sources、last_check_at、enabled | uk_screen_data_source、idx_screen_health |
| mkt_screen_metric_config | 活动大屏指标口径配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、metric_code、metric_name、metric_definition、metric_version、display_module、numerator_source、denominator_source、exclude_rule、rollback_rule、attribution_rule、sort_rule、data_source_priority、source_object_refs、refresh_frequency_sec、validate_status、last_validate_at、enabled | uk_screen_metric、idx_screen_module |
| mkt_screen_campus_config | 活动大屏校区配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、campus_display_name、zone_refs、teacher_count、reference_summary、delete_protect_status、sort_no、enabled | uk_screen_campus、idx_screen_enabled、idx_delete_protect |
| mkt_screen_personnel_config | 活动大屏老师/人员配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、employee_id、employee_name_snapshot、subject_code、subject_group、base_count、reward_renewal_count、expand_count、total_order_count、total_income、enabled | uk_screen_employee_campus_subject、idx_screen_group、idx_screen_enabled |
| mkt_screen_manual_performance_record | 活动大屏补录与撤回流水 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、employee_id、course_id、subject_code、biz_type、amount、order_count、source_type、record_status、revoke_reason、metric_refresh_status、request_id | uk_request_id、idx_screen_time、idx_screen_status |
| mkt_screen_display_widget_config | 活动大屏展示组件配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、widget_code、widget_type、metric_codes、ranking_modes、subject_groups、visible_count、switch_enabled、theme_config、empty_state_copy、validate_status | uk_screen_widget、idx_screen_type |
| mkt_screen_zone | 活动大屏战区/区域配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、zone_code、zone_name、zone_type、campus_ids、employee_scope、sort_no、enabled | uk_screen_zone_code、idx_screen_enabled |
| mkt_screen_pk_pair | 活动大屏 PK 对阵配置 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、pair_code、left_zone_id、right_zone_id、compare_target_type、metric_codes、winner_rule、enabled | uk_screen_pk_code、idx_screen_enabled |
| mkt_screen_roster_snapshot | 活动大屏固定名单快照 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、snapshot_no、screen_id、snapshot_type、source_file_id、source_desc、import_batch_no、snapshot_version、row_count、valid_count、error_count、snapshot_payload、use_condition、snapshot_status | uk_screen_snapshot_no、idx_screen_type_version |
| mkt_screen_data_snapshot | 活动大屏运行期指标快照 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、screen_id、snapshot_time、metric_values、data_source_summary、source_version_summary、refresh_trace_id、refresh_status、error_summary | idx_screen_time、idx_screen_status |
DDL 草案
mkt_channelMarketingChannel
CREATE TABLE `mkt_channel` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`channel_code` VARCHAR(64) NOT NULL COMMENT '渠道编码,唯一;数据级别:普通',
`channel_name` VARCHAR(128) NOT NULL COMMENT '渠道名称;数据级别:普通',
`channel_type` VARCHAR(32) NOT NULL COMMENT '线上/线下/合作/自然流量;数据级别:普通',
`owner_id` BIGINT NULL COMMENT '渠道负责人;数据级别:普通',
`budget_amount` DECIMAL(18,2) NULL COMMENT '预算金额;数据级别:普通',
`roi_rule` JSON NULL COMMENT 'ROI 统计规则;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_channel_code` (`channel_code`),
KEY `idx_owner` (`owner_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingChannel:渠道档案与投放预算';
mkt_campaignMarketingCampaign
CREATE TABLE `mkt_campaign` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`campaign_code` VARCHAR(64) NOT NULL COMMENT '活动编码,唯一;数据级别:普通',
`campaign_name` VARCHAR(128) NOT NULL COMMENT '活动名称;数据级别:普通',
`channel_id` BIGINT NULL COMMENT '所属渠道;数据级别:普通',
`campus_scope` JSON NOT NULL COMMENT '适用校区范围;数据级别:普通',
`start_at` DATETIME NOT NULL COMMENT '开始时间;数据级别:普通',
`end_at` DATETIME NOT NULL COMMENT '结束时间;数据级别:普通',
`biz_status` VARCHAR(32) NOT NULL COMMENT '业务状态,取值来自状态机字典;数据级别:普通',
`remark` VARCHAR(512) NULL COMMENT '业务备注,敏感内容按权限脱敏;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_campaign_code` (`campaign_code`),
KEY `idx_channel_time` (`channel_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingCampaign:营销活动主数据';
mkt_page_templateMarketingPageTemplate
CREATE TABLE `mkt_page_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 '模板名称;数据级别:普通',
`template_type` VARCHAR(32) NOT NULL COMMENT '节气/传统节日/公开课/招生活动/自建;数据级别:普通',
`festival_type` VARCHAR(32) NULL COMMENT '节日或节气分类;数据级别:普通',
`template_schema` JSON NOT NULL COMMENT '页面结构、组件和默认文案;数据级别:普通',
`review_status` VARCHAR(32) NOT NULL COMMENT '草稿/审核中/已通过/已驳回;数据级别:普通',
`version_no` INT NOT NULL COMMENT '模板版本;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_template_code` (`template_code`),
KEY `idx_type_status` (`template_type`, `review_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingPageTemplate:内置和自建活动模板库';
mkt_landing_pageCampaignLandingPage
CREATE TABLE `mkt_landing_page` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`page_code` VARCHAR(64) NOT NULL COMMENT '页面编码,唯一;数据级别:普通',
`campaign_id` BIGINT NOT NULL COMMENT '关联营销活动;数据级别:普通',
`template_id` BIGINT NULL COMMENT '来源模板 ID;数据级别:普通',
`page_schema` JSON NOT NULL COMMENT '页面组件配置;数据级别:普通',
`publish_status` VARCHAR(32) NOT NULL COMMENT '草稿/已发布/已下线;数据级别:普通',
`published_url` VARCHAR(512) NULL COMMENT '发布访问地址;数据级别:普通',
`tracking_config` JSON NULL COMMENT '埋点和转化归因配置;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_page_code` (`page_code`),
KEY `idx_campaign_status` (`campaign_id`, `publish_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='CampaignLandingPage:活动 H5/落地页实例';
mkt_live_qr_codeLiveQrCode
CREATE TABLE `mkt_live_qr_code` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`qr_code` VARCHAR(64) NOT NULL COMMENT '活码编码,唯一;数据级别:普通',
`biz_type` VARCHAR(64) NOT NULL COMMENT '活动页/资源/课程/直播/表单;数据级别:普通',
`target_rule` JSON NOT NULL COMMENT '动态目标规则;数据级别:普通',
`fallback_url` VARCHAR(512) NULL COMMENT '失效或异常兜底地址;数据级别:普通',
`rate_limit_rule` JSON NULL COMMENT '防刷规则;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_qr_code` (`qr_code`),
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='LiveQrCode:活码规则与动态跳转';
mkt_scan_recordScanRecord
CREATE TABLE `mkt_scan_record` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`qr_code_id` BIGINT NOT NULL COMMENT '活码 ID;数据级别:普通',
`visitor_id` VARCHAR(128) NULL COMMENT '匿名访客 ID;数据级别:普通',
`openid` VARCHAR(128) NULL COMMENT '微信 OpenID,敏感;数据级别:敏感',
`scan_at` DATETIME NOT NULL COMMENT '扫码时间;数据级别:普通',
`resolved_target` VARCHAR(512) NOT NULL COMMENT '实际解析目标;数据级别:普通',
`risk_result` VARCHAR(32) NULL COMMENT '防刷风险结果;数据级别:普通',
PRIMARY KEY (`id`),
KEY `idx_qr_time` (`qr_code_id`),
KEY `idx_visitor` (`visitor_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ScanRecord:活码扫码与访问记录';
mkt_form_submitCampaignFormSubmit
CREATE TABLE `mkt_form_submit` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`submit_no` VARCHAR(64) NOT NULL COMMENT '提交编号,唯一;数据级别:普通',
`page_id` BIGINT NOT NULL COMMENT '页面 ID;数据级别:普通',
`guardian_mobile` VARCHAR(32) NOT NULL COMMENT '家长手机号,敏感;数据级别:敏感',
`student_name` VARCHAR(64) NULL COMMENT '学员姓名;数据级别:普通',
`form_data` JSON NOT NULL COMMENT '表单完整提交数据;数据级别:普通',
`lead_id` BIGINT NULL COMMENT '转化生成线索 ID;数据级别:普通',
`submit_status` VARCHAR(32) NOT NULL COMMENT '成功/失败/重复/风控拦截;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_submit_no` (`submit_no`),
KEY `idx_page_mobile` (`page_id`, `guardian_mobile`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='CampaignFormSubmit:活动表单留资';
mkt_employee_promotion_assetEmployeePromotionAsset
CREATE TABLE `mkt_employee_promotion_asset` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`asset_no` VARCHAR(64) NOT NULL COMMENT '推广资产编号,唯一;数据级别:普通',
`campaign_id` BIGINT NOT NULL COMMENT '关联营销活动;数据级别:普通',
`landing_page_id` BIGINT NOT NULL COMMENT '关联活动落地页;数据级别:普通',
`employee_id` BIGINT NOT NULL COMMENT '推广员工 ID;数据级别:普通',
`campus_id_ref` BIGINT NULL COMMENT '员工推广归属校区;数据级别:普通',
`qr_code_id` BIGINT NULL COMMENT '关联活码 ID;数据级别:普通',
`short_url` VARCHAR(512) NULL COMMENT '员工专属短链;数据级别:普通',
`poster_file_id` BIGINT NULL COMMENT '员工专属分享海报文件;数据级别:普通',
`share_params` JSON NOT NULL COMMENT 'campaignId/pageId/campusId/channelId/employeeId/shareScene 等归因参数;数据级别:普通',
`asset_status` VARCHAR(32) NOT NULL COMMENT '待生成/已生成/已停用/已失效;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_asset_no` (`asset_no`),
UNIQUE KEY `uk_campaign_employee_page` (`campaign_id`, `employee_id`, `landing_page_id`),
KEY `idx_employee_status` (`employee_id`, `asset_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='EmployeePromotionAsset:员工专属推广链接、二维码和海报资产';
mkt_employee_share_recordEmployeeShareRecord
CREATE TABLE `mkt_employee_share_record` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`asset_id` BIGINT NOT NULL COMMENT '推广资产 ID;数据级别:普通',
`employee_id` BIGINT NOT NULL COMMENT '推广员工 ID;数据级别:普通',
`share_scene` VARCHAR(64) NOT NULL COMMENT '微信好友/朋友圈/企微/二维码海报/复制链接/线下物料;数据级别:普通',
`share_at` DATETIME NOT NULL COMMENT '分享时间;数据级别:普通',
`visitor_id` VARCHAR(128) NULL COMMENT '访客匿名 ID;数据级别:普通',
`scan_record_id` BIGINT NULL COMMENT '关联扫码记录;数据级别:普通',
`form_submit_id` BIGINT NULL COMMENT '关联表单提交;数据级别:普通',
`lead_id` BIGINT NULL COMMENT '关联 CRM 线索;数据级别:普通',
`conversion_stage` VARCHAR(32) NOT NULL COMMENT '访问/留资/预约/到访/试听/签约/流失;数据级别:普通',
PRIMARY KEY (`id`),
KEY `idx_asset_time` (`asset_id`),
KEY `idx_employee_stage` (`employee_id`, `conversion_stage`),
KEY `idx_lead` (`lead_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='EmployeeShareRecord:员工活动分享和访问转化记录';
mkt_employee_campaign_statEmployeeCampaignStat
CREATE TABLE `mkt_employee_campaign_stat` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`stat_date` DATE NOT NULL COMMENT '统计日期;数据级别:普通',
`campaign_id` BIGINT NOT NULL COMMENT '营销活动 ID;数据级别:普通',
`employee_id` BIGINT NOT NULL COMMENT '员工 ID;数据级别:普通',
`campus_id_ref` BIGINT NULL COMMENT '归属校区;数据级别:普通',
`visit_count` INT NOT NULL COMMENT '访问量;数据级别:普通',
`scan_count` INT NOT NULL COMMENT '扫码量;数据级别:普通',
`submit_count` INT NOT NULL COMMENT '留资数;数据级别:普通',
`lead_count` INT NOT NULL COMMENT '线索数;数据级别:普通',
`trial_count` INT NOT NULL COMMENT '试听预约数;数据级别:普通',
`deal_count` INT NOT NULL COMMENT '成交数;数据级别:普通',
`roi_snapshot` JSON NULL COMMENT '转化率、成交额和 ROI 快照;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_date_campaign_employee` (`stat_date`, `campaign_id`, `employee_id`),
KEY `idx_employee_date` (`employee_id`, `stat_date`),
KEY `idx_campaign_date` (`campaign_id`, `stat_date`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='EmployeeCampaignStat:员工活动推广效果快照';
mkt_activity_screen_templateMarketingActivityScreenTemplate
CREATE TABLE `mkt_activity_screen_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 '模板名称;数据级别:普通',
`template_scene` VARCHAR(64) NOT NULL COMMENT '周年庆/续费战报/创收龙虎榜/公开课转化/区域 PK/校区排行;数据级别:普通',
`layout_schema` JSON NOT NULL COMMENT '大屏布局、模块、视觉主题、榜单区域和轮播配置;数据级别:普通',
`default_metric_codes` JSON NOT NULL COMMENT '默认指标编码,如续费率、创收单数、创收金额、扩科、纳新、转介绍;数据级别:普通',
`default_refresh_rule` JSON NULL COMMENT '默认刷新策略,事件推送优先,短轮询兜底;数据级别:普通',
`template_scope` JSON NOT NULL COMMENT '适用组织、校区、活动类型和角色范围;数据级别:普通',
`review_status` VARCHAR(32) NOT NULL COMMENT '草稿/审核中/已通过/已驳回/已下架;数据级别:普通',
`version_no` INT NOT NULL COMMENT '模板版本号;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_template_code` (`template_code`),
KEY `idx_scene_status` (`template_scene`, `review_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingActivityScreenTemplate:活动大屏模板库';
mkt_activity_screenMarketingActivityScreen
CREATE TABLE `mkt_activity_screen` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_no` VARCHAR(64) NOT NULL COMMENT '活动大屏编号,唯一;数据级别:普通',
`screen_name` VARCHAR(128) NOT NULL COMMENT '大屏名称;数据级别:普通',
`campaign_id` BIGINT NOT NULL COMMENT '关联营销活动;数据级别:普通',
`template_id` BIGINT NOT NULL COMMENT '关联活动大屏模板;数据级别:普通',
`org_scope` JSON NOT NULL COMMENT '总部、区域、校区、战区和业务单元展示范围;数据级别:普通',
`main_title` VARCHAR(128) NOT NULL COMMENT '大屏主标题;数据级别:普通',
`sub_title` VARCHAR(256) NULL COMMENT '大屏副标题;数据级别:普通',
`theme_config` JSON NULL COMMENT '主题色、背景、字体、喜报播报和动效配置;数据级别:普通',
`display_start_at` DATETIME NULL COMMENT '投屏展示开始时间;数据级别:普通',
`display_end_at` DATETIME NULL COMMENT '投屏展示结束时间;数据级别:普通',
`refresh_mode` VARCHAR(32) NOT NULL COMMENT '事件推送/短轮询/手动刷新;数据级别:普通',
`refresh_interval_sec` INT NULL COMMENT '短轮询刷新间隔秒数;数据级别:普通',
`realtime_event_topics` JSON NULL COMMENT '订单支付、续费生效、退费、作废、补录生效等刷新触发事件;数据级别:普通',
`public_token` VARCHAR(128) NULL COMMENT '投屏公开访问令牌;数据级别:普通',
`public_token_expire_at` DATETIME NULL COMMENT '公开访问令牌过期时间;数据级别:普通',
`public_token_status` VARCHAR(32) NOT NULL COMMENT '未生成/有效/已撤销/已过期;数据级别:普通',
`public_url` VARCHAR(512) NULL COMMENT '投屏访问链接;数据级别:普通',
`watermark_config` JSON NULL COMMENT '公开投屏水印、机构标识和访问提示配置;数据级别:普通',
`access_policy` JSON NULL COMMENT '公开访问范围、脱敏策略、IP 限制和访问日志策略;数据级别:普通',
`screen_status` VARCHAR(32) NOT NULL COMMENT '草稿/配置中/待发布/已发布/展示中/数据异常/已停用/已归档;数据级别:普通',
`last_refresh_at` DATETIME NULL COMMENT '最近刷新时间;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_no` (`screen_no`),
KEY `idx_campaign_status` (`campaign_id`, `public_token_status`),
KEY `idx_public_token` (`public_token`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingActivityScreen:活动大屏实例';
mkt_screen_data_source_configMarketingScreenDataSourceConfig
CREATE TABLE `mkt_screen_data_source_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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`source_priority` JSON NOT NULL COMMENT '系统实时数据、系统补录业务单据、文件快照的取数优先级和启用条件;数据级别:普通',
`system_object_refs` JSON NOT NULL COMMENT '活动、渠道、线索、试听、合同、订单、支付、续费、退费、扩科、转介绍、员工、校区、课程、班级、学员等系统对象;数据级别:普通',
`manual_voucher_refs` JSON NULL COMMENT '系统内人工补录业务单据范围,如线下收款补录、历史续费补录、归属修正;数据级别:普通',
`snapshot_fallback_rule` JSON NULL COMMENT '文件导入固定快照兜底启用条件、优先级和过期策略;数据级别:普通',
`refresh_strategy` JSON NOT NULL COMMENT '事件推送优先、短轮询兜底、手动刷新、重算窗口和重试策略;数据级别:普通',
`event_topic_refs` JSON NULL COMMENT '订单支付、续费生效、退费、作废、补录审核通过等事件主题;数据级别:普通',
`source_health` VARCHAR(32) NOT NULL COMMENT '未校验/正常/部分缺失/异常/断连;数据级别:普通',
`missing_sources` JSON NULL COMMENT '缺失的数据对象、指标、事件或快照明细;数据级别:普通',
`last_check_at` DATETIME NULL COMMENT '最近一次数据源健康检查时间;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_data_source` (`screen_id`, `source_priority`),
KEY `idx_screen_health` (`screen_id`, `source_health`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenDataSourceConfig:活动大屏数据源配置';
mkt_screen_metric_configMarketingScreenMetricConfig
CREATE TABLE `mkt_screen_metric_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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`metric_code` VARCHAR(64) NOT NULL COMMENT '指标编码;数据级别:普通',
`metric_name` VARCHAR(128) NOT NULL COMMENT '指标名称;数据级别:普通',
`metric_definition` TEXT NOT NULL COMMENT '指标口径说明;数据级别:普通',
`metric_version` INT NOT NULL COMMENT '指标口径版本号;数据级别:普通',
`display_module` VARCHAR(64) NOT NULL COMMENT '左侧战榜/中部总额喜报/右侧老师榜/轮播明细/PK 面板;数据级别:普通',
`numerator_source` JSON NULL COMMENT '分子来源对象、过滤条件和取值字段;数据级别:普通',
`denominator_source` JSON NULL COMMENT '分母来源对象、过滤条件和取值字段,适用于续费率等比例指标;数据级别:普通',
`exclude_rule` JSON NULL COMMENT '退费、作废、撤销、重复订单、无效学员等排除规则;数据级别:普通',
`rollback_rule` JSON NULL COMMENT '退费、订单作废、补录撤销后的指标回滚规则;数据级别:普通',
`attribution_rule` JSON NULL COMMENT '老师、校区、战区、课程、科目和转介绍归因规则;数据级别:普通',
`sort_rule` JSON NULL COMMENT '排序字段、排序方向、并列处理和展示数量;数据级别:普通',
`data_source_priority` JSON NOT NULL COMMENT '系统实时数据、系统补录单据、文件快照的优先级;数据级别:普通',
`source_object_refs` JSON NOT NULL COMMENT '活动、渠道、线索、合同、订单、支付、续费、退费、扩科、员工、老师、校区等来源对象;数据级别:普通',
`refresh_frequency_sec` INT NOT NULL COMMENT '指标刷新频率秒数;数据级别:普通',
`validate_status` VARCHAR(32) NOT NULL COMMENT '未校验/校验中/校验通过/校验失败;数据级别:普通',
`last_validate_at` DATETIME NULL COMMENT '最近一次口径校验时间;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_metric` (`screen_id`, `metric_code`),
KEY `idx_screen_module` (`screen_id`, `display_module`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenMetricConfig:活动大屏指标口径配置';
mkt_screen_campus_configMarketingScreenCampusConfig
CREATE TABLE `mkt_screen_campus_config` (
`id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
`tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
`org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
`campus_id` BIGINT NOT NULL COMMENT '校区 ID;数据级别:普通',
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`campus_display_name` VARCHAR(128) NOT NULL COMMENT '大屏展示校区名称;数据级别:普通',
`zone_refs` JSON NULL COMMENT '所属战区、PK 对阵和展示组件引用;数据级别:普通',
`teacher_count` INT NULL COMMENT '当前引用老师/人员数量;数据级别:普通',
`reference_summary` JSON NULL COMMENT '老师归属、战区引用、快照基准和历史流水引用摘要;数据级别:普通',
`delete_protect_status` VARCHAR(32) NOT NULL COMMENT '可删除/存在老师引用/存在战区引用/存在历史流水引用;数据级别:普通',
`sort_no` INT NOT NULL COMMENT '展示排序;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_campus` (`screen_id`, `campus_id`),
KEY `idx_screen_enabled` (`screen_id`, `enabled`),
KEY `idx_delete_protect` (`delete_protect_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenCampusConfig:活动大屏校区配置';
mkt_screen_personnel_configMarketingScreenPersonnelConfig
CREATE TABLE `mkt_screen_personnel_config` (
`id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
`tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
`org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
`campus_id` BIGINT NOT 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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`employee_id` BIGINT NOT NULL COMMENT '员工/老师/顾问 ID;数据级别:普通',
`employee_name_snapshot` VARCHAR(128) NOT NULL COMMENT '展示姓名快照;数据级别:普通',
`subject_code` VARCHAR(64) NULL COMMENT '课程科目编码;数据级别:普通',
`subject_group` VARCHAR(64) NULL COMMENT '语文组/数学组/英语组/自定义科目组;数据级别:普通',
`base_count` INT NOT NULL COMMENT '续费基数/待续人次;数据级别:普通',
`reward_renewal_count` INT NOT NULL COMMENT '奖励续费人次;数据级别:普通',
`expand_count` INT NOT NULL COMMENT '扩科单数;数据级别:普通',
`total_order_count` INT NOT NULL COMMENT '创收单数;数据级别:普通',
`total_income` DECIMAL(14,2) NOT NULL COMMENT '创收金额;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_employee_campus_subject` (`screen_id`, `employee_id`, `campus_id`, `subject_code`),
KEY `idx_screen_group` (`screen_id`, `subject_group`),
KEY `idx_screen_enabled` (`screen_id`, `enabled`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenPersonnelConfig:活动大屏老师/人员配置';
mkt_screen_manual_performance_recordMarketingScreenManualPerformanceRecord
CREATE TABLE `mkt_screen_manual_performance_record` (
`id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
`tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
`org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
`campus_id` BIGINT NOT NULL COMMENT '校区 ID;数据级别:普通',
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`employee_id` BIGINT NOT NULL COMMENT '老师/人员 ID;数据级别:普通',
`course_id` BIGINT NULL COMMENT '课程 ID;数据级别:普通',
`subject_code` VARCHAR(64) NULL COMMENT '科目编码;数据级别:普通',
`biz_type` VARCHAR(64) NOT NULL COMMENT '续费奖励/续费非奖励/扩科/纳新/转介绍;数据级别:普通',
`amount` DECIMAL(14,2) NOT NULL COMMENT '金额;数据级别:普通',
`order_count` INT NOT NULL COMMENT '创收单数;数据级别:普通',
`source_type` VARCHAR(32) NOT NULL COMMENT '系统补录/演示补录/快照修正;数据级别:普通',
`record_status` VARCHAR(32) NOT NULL COMMENT '有效/已撤回/已作废/重算中/重算失败;数据级别:普通',
`revoke_reason` VARCHAR(255) NULL COMMENT '撤回原因;数据级别:普通',
`metric_refresh_status` VARCHAR(32) NOT NULL COMMENT '待刷新/刷新中/已刷新/刷新失败;数据级别:普通',
`request_id` VARCHAR(64) NOT NULL COMMENT '幂等请求 ID;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_request_id` (`request_id`),
KEY `idx_screen_time` (`screen_id`),
KEY `idx_screen_status` (`screen_id`, `record_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenManualPerformanceRecord:活动大屏补录与撤回流水';
mkt_screen_display_widget_configMarketingScreenDisplayWidgetConfig
CREATE TABLE `mkt_screen_display_widget_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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`widget_code` VARCHAR(64) NOT NULL COMMENT '组件编码;数据级别:普通',
`widget_type` VARCHAR(64) NOT NULL COMMENT '战区榜/校区榜/老师榜/总金额/喜报/订单播报/分组榜;数据级别:普通',
`metric_codes` JSON NOT NULL COMMENT '组件展示指标编码;数据级别:普通',
`ranking_modes` JSON NULL COMMENT '续费率排名、创收单数排名、创收金额排名等切换项;数据级别:普通',
`subject_groups` JSON NULL COMMENT '语文组、数学组、英语组和自定义科目组配置;数据级别:普通',
`visible_count` INT NULL COMMENT '默认展示数量;数据级别:普通',
`switch_enabled` TINYINT NOT NULL COMMENT '是否允许前台切换;数据级别:普通',
`theme_config` JSON NULL COMMENT '组件主题、动效和尺寸配置;数据级别:普通',
`empty_state_copy` VARCHAR(255) NULL COMMENT '空状态展示文案;数据级别:普通',
`validate_status` VARCHAR(32) NOT NULL COMMENT '未校验/校验通过/校验失败;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_widget` (`screen_id`, `widget_code`),
KEY `idx_screen_type` (`screen_id`, `widget_type`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenDisplayWidgetConfig:活动大屏展示组件配置';
mkt_screen_zoneMarketingScreenZone
CREATE TABLE `mkt_screen_zone` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`zone_code` VARCHAR(64) NOT NULL COMMENT '战区编码;数据级别:普通',
`zone_name` VARCHAR(128) NOT NULL COMMENT '战区名称;数据级别:普通',
`zone_type` VARCHAR(32) NOT NULL COMMENT '区域/校区组/业务单元/自定义战区;数据级别:普通',
`campus_ids` JSON NOT NULL COMMENT '战区包含的校区 ID 列表;数据级别:普通',
`employee_scope` JSON NULL COMMENT '战区内参与展示的员工、老师、角色范围;数据级别:普通',
`sort_no` INT NOT NULL COMMENT '展示排序;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_zone_code` (`screen_id`, `zone_code`),
KEY `idx_screen_enabled` (`screen_id`, `enabled`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenZone:活动大屏战区/区域配置';
mkt_screen_pk_pairMarketingScreenPkPair
CREATE TABLE `mkt_screen_pk_pair` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`pair_code` VARCHAR(64) NOT NULL COMMENT 'PK 对阵编码;数据级别:普通',
`left_zone_id` BIGINT NOT NULL COMMENT '左侧战区 ID;数据级别:普通',
`right_zone_id` BIGINT NULL COMMENT '右侧战区 ID,若为空可使用其他校区平均值;数据级别:普通',
`compare_target_type` VARCHAR(32) NOT NULL COMMENT '战区/校区/其他校区平均值;数据级别:普通',
`metric_codes` JSON NOT NULL COMMENT '参与 PK 的指标编码;数据级别:普通',
`winner_rule` JSON NOT NULL COMMENT '胜负判定规则、并列展示和异常处理;数据级别:普通',
`enabled` TINYINT NOT NULL COMMENT '是否启用;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_pk_code` (`screen_id`, `pair_code`),
KEY `idx_screen_enabled` (`screen_id`, `enabled`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenPkPair:活动大屏 PK 对阵配置';
mkt_screen_roster_snapshotMarketingScreenRosterSnapshot
CREATE TABLE `mkt_screen_roster_snapshot` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`snapshot_no` VARCHAR(64) NOT NULL COMMENT '名单快照编号,唯一;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`snapshot_type` VARCHAR(64) NOT NULL COMMENT '待续名单/老师名单/校区名单/历史基数/其他固定基准;数据级别:普通',
`source_file_id` BIGINT NOT NULL COMMENT '导入文件 ID;数据级别:普通',
`source_desc` VARCHAR(256) NOT NULL COMMENT '来源说明;数据级别:普通',
`import_batch_no` VARCHAR(64) NOT NULL COMMENT '导入批次号;数据级别:普通',
`snapshot_version` INT NOT NULL COMMENT '快照版本;数据级别:普通',
`row_count` INT NOT NULL COMMENT '导入行数;数据级别:普通',
`valid_count` INT NOT NULL COMMENT '有效行数;数据级别:普通',
`error_count` INT NOT NULL COMMENT '错误行数;数据级别:普通',
`snapshot_payload` JSON NOT NULL COMMENT '固定名单和历史基数快照;数据级别:普通',
`use_condition` TEXT NOT NULL COMMENT '仅在系统无结构化实时数据时兜底使用;数据级别:普通',
`snapshot_status` VARCHAR(32) NOT NULL COMMENT '校验中/已生效/部分失败/已废弃;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_screen_snapshot_no` (`screen_id`, `snapshot_no`),
KEY `idx_screen_type_version` (`screen_id`, `snapshot_type`, `version`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenRosterSnapshot:活动大屏固定名单快照';
mkt_screen_data_snapshotMarketingScreenDataSnapshot
CREATE TABLE `mkt_screen_data_snapshot` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`screen_id` BIGINT NOT NULL COMMENT '活动大屏 ID;数据级别:普通',
`snapshot_time` DATETIME NOT NULL COMMENT '快照时间;数据级别:普通',
`metric_values` JSON NOT NULL COMMENT '指标值、榜单、喜报、PK 结果和过滤条件;数据级别:普通',
`data_source_summary` JSON NOT NULL COMMENT '系统实时数据、补录单据、固定快照的实际取数结果;数据级别:普通',
`source_version_summary` JSON NULL COMMENT '指标口径版本、名单快照版本和业务流水截止点;数据级别:普通',
`refresh_trace_id` VARCHAR(128) NULL COMMENT '刷新链路追踪 ID;数据级别:普通',
`refresh_status` VARCHAR(32) NOT NULL COMMENT '刷新中/成功/部分失败/失败/断连恢复;数据级别:普通',
`error_summary` JSON NULL COMMENT '异常原因、缺失来源、失败指标和重试建议;数据级别:普通',
PRIMARY KEY (`id`),
KEY `idx_screen_time` (`screen_id`, `snapshot_time`),
KEY `idx_screen_status` (`screen_id`, `refresh_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MarketingScreenDataSnapshot:活动大屏运行期指标快照';
16 · 异常、指标、测试与初始化
保证模块上线后可运营、可追踪、可验收
测试要覆盖主流程、异常流、权限流、接口失败和数据一致性。异常状态
指标埋点
测试用例
| 编号 | 场景 | 前置 | 步骤 | 预期 | 优先级 |
|---|---|---|---|---|---|
| TC-MKT-EMP-001 | PC 发布活动同步到员工端 | 活动模板、H5 页面、投放范围、员工角色范围和归因规则已配置 | PC Web 发布活动后,员工登录迪诺学堂教师端 App/小程序查看可推广活动 | 授权员工 30 秒内可看到活动;非授权员工不可见;活动说明、有效期和归因规则展示正确 | 高 |
| TC-MKT-EMP-002 | 员工生成专属二维码和海报 | 员工在活动推广范围内且活动已发布 | 员工端点击生成专属链接、二维码和海报,并保存/分享 | 生成结果包含 campaignId、pageId、campusId、channelId、employeeId、shareScene;二维码和海报可访问;重复生成返回同一有效资产或新版本记录 | 高 |
| TC-MKT-EMP-003 | 外部 H5 留资回流员工 | 员工已分享专属活动链接,外部用户可访问 H5 | 外部用户提交报名或试听预约表单 | 表单成功后生成扫码/访问/表单/线索记录,CRM 线索归因到员工推广资产并生成员工端待办 | 高 |
| TC-MKT-EMP-004 | 推广资产失效兜底 | 活动被停用或员工不再在推广范围内 | 访问员工专属二维码和短链 | 外部页面展示失效原因和替代入口;员工端显示资产已失效并禁止继续分享 | 高 |
| TC-MKT-EMP-005 | 员工推广战报刷新 | 活动存在访问、扫码、留资、试听和成交数据 | 刷新员工个人推广战报和 PC 活动复盘 | 员工端只展示本人数据,PC 管理端可按校区/团队/员工汇总;访问、线索、成交指标一致 | 高 |
| TC-MKT-SCREEN-001 | 系统内实时订单支付刷新大屏 | 活动大屏已发布,指标来源配置为系统内实时订单、合同和收款流水 | 完成一笔有效订单支付并打开大屏实时数据接口 | 30 秒内大屏今日收款总金额、创收单数、老师排行、校区排行和最新喜报自动刷新,数据来源标记为系统实时数据 | 高 |
| TC-MKT-SCREEN-002 | 合同续费完成刷新续费率 | 活动大屏已配置应续基数和续费订单口径,存在应续学员基数 | 完成一笔续费合同签署、支付和订单生效 | 续费率按已续人次/应续基数实时变化;老师、校区、战区续费率同步刷新;口径版本可追溯 | 高 |
| TC-MKT-SCREEN-003 | 退费或作废订单不计入创收并回滚 | 活动大屏已展示某笔创收订单,随后该订单被作废或退费 | 触发订单作废或退费并刷新大屏 | 有效创收金额和创收单数扣回,相关老师排行、校区排行、战区 PK 结果同步重算,回滚原因写入快照 | 高 |
| TC-MKT-SCREEN-004 | 战区 PK 按实时数据判定胜负 | 已配置两个战区和 PK 对阵,指标为续费率、创收单数和创收金额 | 分别向两个战区产生订单、续费和扩科业务流水 | PK 面板按系统实时数据计算胜负,支持战区 VS 战区以及战区 VS 其他校区平均值,最后刷新时间正确 | 高 |
| TC-MKT-SCREEN-005 | 固定名单快照只作为兜底基准 | 系统无结构化历史应续名单,管理员导入待续名单固定快照 | 启用快照并产生新的系统内订单和续费流水 | 导入名单只作为应续基准,不覆盖系统内实时订单、合同和收款流水;快照来源、版本、导入人和导入时间可见 | 高 |
| TC-MKT-SCREEN-006 | 无系统数据时展示快照和空态提示 | 活动大屏无实时业务流水,仅存在固定名单快照或无任何数据 | 打开公开大屏和 PC 数据校验页 | 有快照时展示固定基准和来源提示;无快照时展示空态、缺失数据源和配置入口,不显示错误排名 | 中 |
| TC-MKT-SCREEN-007 | 大屏数据源权限控制 | 普通员工无活动大屏配置权限,市场管理员拥有授权组织范围 | 分别访问大屏数据源配置、公开数据和实时数据接口 | 无权限用户不可查看或配置数据源;公开大屏只返回脱敏展示数据;越权访问写审计 | 高 |
| TC-MKT-SCREEN-008 | 大屏断连恢复刷新 | 活动大屏展示中网络断连或实时推送服务中断 | 模拟断连、恢复网络并触发短轮询兜底 | 大屏展示断连状态和最后刷新时间;恢复后自动刷新;恢复事件写入运行期快照 | 中 |
| TC-MKT-SCREEN-009 | 公开访问令牌过期和撤销 | 活动大屏已生成公开投屏链接和二维码 | 设置令牌过期时间后访问旧链接,再执行撤销并重新生成令牌 | 过期或撤销令牌立即不可访问并显示失效页;新令牌可访问;访问日志、水印和操作审计完整 | 高 |
| TC-MKT-SCREEN-010 | 数据源健康检查拦截发布 | 活动大屏配置了指标但缺少订单或合同等必要系统数据源 | 执行数据源健康检查并尝试发布大屏 | sourceHealth=部分缺失或异常时禁止发布,返回缺失对象、缺失事件主题和修复入口;修复后可发布 | 高 |
| TC-MKT-SCREEN-011 | 校区删除引用保护 | 活动大屏存在校区 A,校区 A 已被老师/人员、战区或历史流水引用 | 在大屏校区管理页删除校区 A | 系统阻断删除并展示引用类型、引用数量、处理入口和审计记录;无引用校区可删除并同步下拉和战区选择 | 高 |
| TC-MKT-SCREEN-012 | 补录业绩与最后一笔撤回 | 活动大屏已配置校区、老师/人员和指标口径 | 补录续费奖励、续费非奖励、扩科、纳新、转介绍五类流水,再撤回最后一笔 | 30 秒内大屏金额、创收单数、续费率和榜单刷新;撤回后指标回滚,最近20条订单流水展示补录、撤回原因和操作人 | 高 |
| TC-MKT-SCREEN-013 | 跨校区老师与科目分组展示 | 同一老师在两个校区存在配置,科目分组包含语文组、数学组、英语组 | 打开老师荣耀战榜并切换显示全部老师/总榜 | 同一老师按校区分别统计,不串数;语文组、数学组、英语组分组正确;显示全部老师和总榜切换不改变指标口径 | 中 |
| TC-MKT-SCREEN-014 | 战区校区榜单与排名维度切换 | 大屏已配置战区、校区、PK 对阵和展示组件 | 在大屏端切换显示校区排名、战区 PK、续费率排名和创收单数排名 | 切换响应不超过 1 秒;榜单数据来自同一快照版本;空状态和断连状态文案正确 | 中 |
| TC-MKT-ENH-001 | 营销闭环交付闭环验收 | 模板库、活动编辑器、活码配置、线索表单、CRM 跟进相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐从模板选择、页面发布、活码生成、扫码统计、表单提交、线索查重、分配跟进到效果复盘的闭环。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 每条线索能追溯活动、渠道、模板、活码和首次访问记录。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-MKT-ENH-002 | 员工端联动交付闭环验收 | 员工端营销推广工作台、可推广活动、我的二维码、我的海报、分享记录、推广战报相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐活动发布到员工端、员工领取活动、生成专属链接/二维码/海报、分享记录、线索回流待办和个人推广战报。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 活动发布后授权员工可在迪诺学堂教师端 App/小程序看到并生成本人推广资产;线索可回流到本人或分配规则指定责任人。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-MKT-ENH-003 | 活动大屏闭环交付闭环验收 | 活动大屏模板库、新建/编辑活动大屏、数据源配置、指标口径配置、战区 PK 配置、固定名单快照导入、实时战报大屏相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐活动大屏模板库、后台配置、实时数据源优先级、指标口径、战区 PK、老师荣耀榜、固定名单快照、投屏发布和断连恢复。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 大屏优先读取迪诺学堂系统内实时业务数据,文件导入只作兜底固定快照;订单支付、续费、退费、作废和补录均能触发大屏重算。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-MKT-ENH-004 | 模板治理交付闭环验收 | 模板详情、转模板弹窗、模板审核页相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补充模板审核、上下架、版本复用、素材归属、适用校区和复制创建规则。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 模板发布后有版本号和审核记录,停用模板不影响已发布页面。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-MKT-ENH-005 | 异常状态交付闭环验收 | 外部 H5、扫码页、提交成功页、失效页相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐二维码失效页、目标不可访问页、重复提交提示、访问频控和黑名单命中状态。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 外部用户遇到异常时能看到原因和下一步操作入口。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-MKT-ENH-006 | 裂变营销对标交付闭环验收 | 群活码管理、扫码领券、拼团活动、分销活动、支付有礼、推荐有礼、优惠套餐、宣传统计相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐增长玩法配置、活动规则、奖励口径、防刷规则、失效页、员工推广资产和 CRM 线索归因。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 每个玩法从活动发布、外部访问、留资/下单、奖励结算、线索回流到报表统计均可追踪。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-MKT-ENH-007 | 活动大屏对标交付闭环验收 | 活动大屏模板库、活动大屏管理、数据源配置、指标配置、战区 PK、投屏发布相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐多模板活动大屏、战区/校区/老师榜单、实时收款总额、订单播报、PK 对阵、数据源优先级和固定名单快照兜底。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 系统内实时业务数据优先,文件导入只在无结构化数据时作为固定基准,不允许替代正式业务流水。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-MKT-ENH-008 | 线上商城营销对标交付闭环验收 | 商城首页装修、商城物品展示、线上订单、推荐订单、优惠套餐订单相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按迪诺营销中心负责商城营销页和订单归因,物品库存与核销由物料资产中心负责,合同金额和优惠由销售合同中心承接。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 商城订单、活动、员工、渠道、推荐人、库存、合同和收款之间具备完整链路。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-MKT-ENH-009 | 营销素材库对标交付闭环验收 | 营销图文素材、艺术字库、图片素材、视频素材、宣传统计相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐素材分类、标签、版权、审核、引用、下架影响和活动页引用快照。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 素材可被活动页、海报、课堂报告和家校内容复用,引用、审核、下架和统计可追踪。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
上线初始化
| 初始化项 | 动作 | 数据 | 验收 |
|---|---|---|---|
| 营销活动模板库初始化 | 初始化系统内置 24 节气、传统节日、招生季、公开课等海报和 H5 模板 | 模板分类、模板标签、页面组件、默认素材、表单字段、适用课程和渠道 | 市场运营可从模板库选择模板创建活动页面 |
| 活动员工推广范围 | 初始化活动可推广角色、校区范围、员工范围、线索归属规则、可分享渠道和有效期策略 | roleScope、campusScope、employeeScope、assignRule、shareScene、expireRule | 活动发布后授权员工可在教师端 App/小程序看到并生成本人推广资产 |
| 员工推广资产规则 | 初始化员工专属链接、二维码、海报生成策略、活码目标、短链域名、失效页和重试策略 | shortDomain、qrCodeRule、posterTemplate、fallbackPage、retryRule | 员工可稳定生成专属二维码和海报,活动停用后访问进入失效页 |
| 员工端推广消息模板 | 初始化新活动提醒、推广码生成结果、线索回流、资产失效和个人战报消息模板 | messageTemplate、pushChannel、receiverRule、variableMap | 活动发布、线索回流和战报刷新能触达对应员工 |
| 推广战报统计任务 | 初始化按员工、活动、校区和日期汇总访问、扫码、留资、试听、成交和 ROI 的定时任务 | statJob、metricDefinition、refreshTime、retryPolicy | 员工端和 PC 活动复盘的指标口径一致 |
| 活动大屏模板初始化 | 初始化周年庆、续费战报、创收龙虎榜、公开课转化、区域 PK、校区排行等活动大屏模板 | templateScene、layoutSchema、defaultMetricCodes、defaultRefreshRule、templateScope | 市场运营可从模板库快速创建活动大屏并发布投屏 |
| 活动大屏指标口径初始化 | 初始化续费率、创收金额、创收单数、扩科、纳新、转介绍、老师排名、校区排名和战区 PK 默认口径 | metricCode、sourceObjectRefs、sortRule、refreshFrequency、dataSourcePriority | 大屏优先从系统内实时业务数据取数,文件导入只作为兜底快照 |
| 活动大屏数据源优先级 | 初始化系统实时数据、系统补录业务单据、文件导入固定快照的取数优先级和启用条件 | systemRealtimeFirst=true、manualVoucherSecond=true、fileSnapshotFallback=true、auditRequired=true | 实时展示默认不依赖手动导入文件,导入快照必须有版本、来源和审计 |
| 活动大屏权限与投屏策略 | 初始化活动大屏模板维护、实例创建、数据源配置、快照导入、发布投屏、公开访问和异常处理权限 | menuCodes、buttonCodes、publicTokenPolicy、fieldMaskPolicy、accessLogPolicy | 授权人员可配置大屏,公开投屏仅返回脱敏数据并记录访问审计 |
| 营销闭环交付配置 | 初始化补齐从模板选择、页面发布、活码生成、扫码统计、表单提交、线索查重、分配跟进到效果复盘的闭环。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 模板库、活动编辑器、活码配置、线索表单、CRM 跟进 | 每条线索能追溯活动、渠道、模板、活码和首次访问记录。 |
| 员工端联动交付配置 | 初始化补齐活动发布到员工端、员工领取活动、生成专属链接/二维码/海报、分享记录、线索回流待办和个人推广战报。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 员工端营销推广工作台、可推广活动、我的二维码、我的海报、分享记录、推广战报 | 活动发布后授权员工可在迪诺学堂教师端 App/小程序看到并生成本人推广资产;线索可回流到本人或分配规则指定责任人。 |
| 活动大屏闭环交付配置 | 初始化补齐活动大屏模板库、后台配置、实时数据源优先级、指标口径、战区 PK、老师荣耀榜、固定名单快照、投屏发布和断连恢复。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 活动大屏模板库、新建/编辑活动大屏、数据源配置、指标口径配置、战区 PK 配置、固定名单快照导入、实时战报大屏 | 大屏优先读取迪诺学堂系统内实时业务数据,文件导入只作兜底固定快照;订单支付、续费、退费、作废和补录均能触发大屏重算。 |
| 模板治理交付配置 | 初始化补充模板审核、上下架、版本复用、素材归属、适用校区和复制创建规则。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 模板详情、转模板弹窗、模板审核页 | 模板发布后有版本号和审核记录,停用模板不影响已发布页面。 |
| 异常状态交付配置 | 初始化补齐二维码失效页、目标不可访问页、重复提交提示、访问频控和黑名单命中状态。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 外部 H5、扫码页、提交成功页、失效页 | 外部用户遇到异常时能看到原因和下一步操作入口。 |
| 裂变营销对标交付配置 | 初始化补齐增长玩法配置、活动规则、奖励口径、防刷规则、失效页、员工推广资产和 CRM 线索归因。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 群活码管理、扫码领券、拼团活动、分销活动、支付有礼、推荐有礼、优惠套餐、宣传统计 | 每个玩法从活动发布、外部访问、留资/下单、奖励结算、线索回流到报表统计均可追踪。 |
| 活动大屏对标交付配置 | 初始化补齐多模板活动大屏、战区/校区/老师榜单、实时收款总额、订单播报、PK 对阵、数据源优先级和固定名单快照兜底。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 活动大屏模板库、活动大屏管理、数据源配置、指标配置、战区 PK、投屏发布 | 系统内实时业务数据优先,文件导入只在无结构化数据时作为固定基准,不允许替代正式业务流水。 |
| 线上商城营销对标交付配置 | 初始化迪诺营销中心负责商城营销页和订单归因,物品库存与核销由物料资产中心负责,合同金额和优惠由销售合同中心承接。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 商城首页装修、商城物品展示、线上订单、推荐订单、优惠套餐订单 | 商城订单、活动、员工、渠道、推荐人、库存、合同和收款之间具备完整链路。 |
| 营销素材库对标交付配置 | 初始化补齐素材分类、标签、版权、审核、引用、下架影响和活动页引用快照。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 营销图文素材、艺术字库、图片素材、视频素材、宣传统计 | 素材可被活动页、海报、课堂报告和家校内容复用,引用、审核、下架和统计可追踪。 |