01 · 模块定位
售后服务中心
学管师可查看服务学员池、处理回访和风险任务,并推动续费签约。业务目标
由班主任/学管师承接学员服务、回访、工单、投诉、风险预警和续费培育。
使用终端
PC Web 服务工作台,班主任/学管师使用,移动端处理提醒与回访。
验收主线
学管师可查看服务学员池、处理回访和风险任务,并推动续费签约。
02 · 范围边界
明确本模块负责什么、依赖什么、不负责什么
边界清晰后,原型、接口和数据库设计才能避免重复建设。模块内范围
- 服务归属
- 回访计划
- 工单投诉
- 风险学员
- 续费培育
- 满意度
- 家校沟通记录
- 回访结果
- 投诉升级
- 风险处置
- 转介绍培育
- 服务交接
- 满意度回收
上游依赖
- 组织校区与账号权限
- 课程/客户/合同等主数据
- 审批流、消息模板、文件中心
- 必要的第三方接口密钥
下游输出
- 业务状态和待办
- 消息通知和审批记录
- 报表指标和数据快照
- 审计日志和接口回执
03 · 确认口径、后台配置与默认实施规则
售后服务中心必须承接的已确认规则
本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。| 分类 | 事项 | 本模块落地要求 | 责任方 |
|---|---|---|---|
| 默认实施规则 | 接口设计说明书组织方式 | 采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。 | 产品/研发 |
| 默认实施规则 | 接口错误码与重试中间件 | 所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。 | 后端/测试/运维 |
04 · 业务流程
售后服务中心主流程
流程用于指导原型图的页面顺序、按钮状态和异常分支。学员入班后可分配班主任/学管师并形成服务归属
按试听后、报名后、开课后、阶段性、结课后生成回访计划
工单投诉需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。
班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。
班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。
班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。
班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。
班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。
05 · 功能清单
按子模块拆到可设计、可开发、可测试的颗粒度
每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。| 一级功能 | 二级功能 | 功能说明 | 规则/验收 |
|---|---|---|---|
| 服务归属 | 基础维护 | 服务归属支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 服务归属 | 业务处理 | 学员入班后可分配班主任/学管师并形成服务归属 | 必须联动状态、权限、消息、审批和指标 |
| 服务归属 | 异常闭环 | 超时未回访处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 回访计划 | 基础维护 | 回访计划支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 回访计划 | 业务处理 | 按试听后、报名后、开课后、阶段性、结课后生成回访计划 | 必须联动状态、权限、消息、审批和指标 |
| 回访计划 | 异常闭环 | 工单升级处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 工单投诉 | 基础维护 | 工单投诉支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 工单投诉 | 业务处理 | 工单投诉需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 工单投诉 | 异常闭环 | 投诉重复处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 风险学员 | 基础维护 | 风险学员支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 风险学员 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 风险学员 | 异常闭环 | 消息触达失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 续费培育 | 基础维护 | 续费培育支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 续费培育 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 续费培育 | 异常闭环 | 回访超期处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 满意度 | 基础维护 | 满意度支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 满意度 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 满意度 | 异常闭环 | 投诉升级超时处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 家校沟通记录 | 基础维护 | 家校沟通记录支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 家校沟通记录 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 家校沟通记录 | 异常闭环 | 风险无人处理处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 回访结果 | 基础维护 | 回访结果支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 回访结果 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 回访结果 | 异常闭环 | 服务交接未确认处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 投诉升级 | 基础维护 | 投诉升级支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 投诉升级 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 投诉升级 | 异常闭环 | 超时未回访处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 风险处置 | 基础维护 | 风险处置支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 风险处置 | 业务处理 | 风险处置需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。 | 必须联动状态、权限、消息、审批和指标 |
| 风险处置 | 异常闭环 | 工单升级处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 转介绍培育 | 基础维护 | 转介绍培育支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 转介绍培育 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 转介绍培育 | 异常闭环 | 投诉重复处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 服务交接 | 基础维护 | 服务交接支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 服务交接 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 服务交接 | 异常闭环 | 消息触达失败处理 | 失败原因可见、可重试、可转人工、可追溯 |
| 满意度回收 | 基础维护 | 满意度回收支持新增、编辑、启用/停用、查询、导入导出和操作审计。 | 编码唯一、数据范围过滤、逻辑删除和审计留痕 |
| 满意度回收 | 业务处理 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 必须联动状态、权限、消息、审批和指标 |
| 满意度回收 | 异常闭环 | 回访超期处理 | 失败原因可见、可重试、可转人工、可追溯 |
功能到数据对象/接口/表映射
| 功能域 | 承接对象 | 核心表 | 代表接口 | 状态机/状态字段 | 研发落地校验 |
|---|---|---|---|---|---|
| 服务归属 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | POST/GET /api/v1/service/tickets | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 回访计划 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/02 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 工单投诉 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/03 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 风险学员 | RiskStudent | ser_risk_student | 接口资源组 /api/v1/ser/features/04 | risk_type、risk_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 续费培育 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/05 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 满意度 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/06 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 家校沟通记录 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/07 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 回访结果 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/08 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 投诉升级 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/09 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 风险处置 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/10 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 转介绍培育 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/11 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 服务交接 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/12 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
| 满意度回收 | ServicePlan、CallbackTask、ServiceTicket、Complaint | ser_service_plan、ser_callback_task、ser_service_ticket、ser_complaint | 接口资源组 /api/v1/ser/features/13 | plan_type、plan_status、callback_type、task_status、ticket_type、ticket_status | 新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计 |
06 · 原子级功能需求
用于研发任务拆分和测试用例追踪
需求编号可直接进入项目管理工具。| 编号 | 需求描述 | 入口页面 | 关键动作 | 输入校验 | 输出结果 | 异常处理 | 验收标准 |
|---|---|---|---|---|---|---|---|
| FR-SER-001 | 学员入班后可分配班主任/学管师并形成服务归属 | 服务归属 | 分配服务 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 超时未回访 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-SER-002 | 按试听后、报名后、开课后、阶段性、结课后生成回访计划 | 试听反馈台 | 到访签到、教师反馈或转化跟进 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 试听未到访、反馈缺失或转化任务未分配 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-SER-003 | 咨询、投诉、退费、调课、教学反馈均可生成工单 | 转班转课测算 | 权益重算、补差退差或课表调整 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 班级容量不足、补差未支付或家长确认超时 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-SER-004 | 低出勤、长期请假、投诉、作业未完成、课时不足进入风险池 | 请假补课/补课安排 | 请假审批、补课安排或家长确认 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 补课时间未确认、候选课次过期或课消回滚失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-SER-005 | 续费预警联动报价、优惠、合同和转介绍 | 优惠试算器 | 优惠试算、冲突检测或分摊反算 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 优惠规则冲突、需审批或分摊失败 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-SER-006 | 班主任/学管师服务需覆盖家校沟通记录、回访计划、回访结果、投诉升级、风险学员处置、续费培育、转介绍培育、服务交接和满意度回收。 | 风险学员 | 关闭风险 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 投诉升级超时 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-SER-007 | 服务任务需支持消息触达、触达失败重试、超时升级、处理结果归档和服务质量统计。 | 回访记录 | 续费培育 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 风险无人处理 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
| FR-SER-008 | 客户合并或归属仲裁通过后,班主任/学管师服务计划、回访记录、投诉工单和风险标签需按规则迁移并通知相关责任人。 | 资产生命周期/图书进销存 | 领用、维修、责任人变更、盘点或图书出入库 | 校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权 | 生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务 | 责任人缺失、维修超期或库存不足 | 主流程、异常流、权限流、接口失败和数据一致性均可通过测试 |
07 · 关联闭环补充需求
售后服务中心在跨模块闭环中的责任边界
本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。| 闭环项 | 本模块责任 | 关键场景 | 页面/功能补充 | 关联对象/接口 | 验收口径 |
|---|---|---|---|---|---|
| 线索撞单 | 售后转介绍、续费培育和服务工单转销售时执行线索归属校验 | 服务过程中产生新报名意向、转介绍和跨校区跟进 | 转介绍跟进、续费培育、线索转 CRM、撞单提示 | ServiceTicket/Callback、Lead | 售后转线索必须保留服务来源和归属判定结果 |
| 补课改期取消 | 服务侧跟踪补课未确认、超时和投诉风险 | 长期未补课、家长不满意或补课安排冲突 | 风险学员、服务回访、补课异常跟进 | LeaveRequest/MakeupArrangement、ServiceTicket/Callback | 补课异常可进入服务任务并回写处理结果 |
08 · 页面与原型设计说明
页面清单、布局要求、按钮字段和状态
原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。| 终端 | 页面 | 用户 | 页面目标 | 布局结构 | 关键按钮 | 关键字段 | 异常状态 | 原型备注 |
|---|---|---|---|---|---|---|---|---|
| PC Web | 服务归属 | 班主任/学管师 | 分配学员、制定服务计划、查看风险 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-服务归属;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 工单投诉 | 班主任/总部客服 | 创建工单、分派、处理、升级、验收 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-工单投诉;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| 班主任/学管师端 | 家校沟通与回访 | 班主任/学管师 | 记录家校沟通、回访结果、风险处置、续费培育、投诉升级和服务交接 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-家校沟通与回访;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 学员池 | 授权用户 | 围绕学管闭环完善学员池的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-学员池;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 服务计划 | 授权用户 | 围绕学管闭环完善服务计划的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-服务计划;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 风险学员 | 授权用户 | 围绕学管闭环完善风险学员的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-风险学员;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 回访记录 | 授权用户 | 围绕学管闭环完善回访记录的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-回访记录;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 服务工单 | 授权用户 | 围绕跨模块转接完善服务工单的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-服务工单;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 转办弹窗 | 授权用户 | 围绕跨模块转接完善转办弹窗的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-转办弹窗;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 处理日志 | 授权用户 | 围绕跨模块转接完善处理日志的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-处理日志;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 风险学员 | 授权用户 | 围绕风险预警完善风险学员的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-风险学员;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 家校沟通 | 授权用户 | 围绕风险预警完善家校沟通的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-家校沟通;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
| PC Web | 复盘页 | 授权用户 | 围绕风险预警完善复盘页的入口、字段、状态、异常提示、处理进度和验收反馈 | PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。 | 查询、新增、编辑、提交、导出、查看日志、分配服务、发起回访 | 学员、服务归属、服务计划、回访任务、风险等级、投诉状态、续费意向、交接状态 | 空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败 | 管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:SER-复盘页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。 |
09 · 页面到接口的前后端闭环矩阵
把原型页面、后端接口、数据对象、状态和消息审批绑定到一起
设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。| 原型页面 | 关键接口 | 关联对象 | 状态流 | 审批/权限触发 | 消息/待办触达 | 原型验收要求 |
|---|---|---|---|---|---|---|
| 服务归属 | POST/GET /api/v1/service/tickets | ServicePlan | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 工单投诉 | POST/GET /api/v1/service/tickets | CallbackTask | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 家校沟通与回访 | POST/GET /api/v1/service/tickets | ServiceTicket | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 学员池 | POST/GET /api/v1/service/tickets | Complaint | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 服务计划 | POST/GET /api/v1/service/tickets | RiskStudent | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 风险学员 | POST/GET /api/v1/service/tickets | ServicePlan | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 回访记录 | POST/GET /api/v1/service/tickets | CallbackTask | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 服务工单 | POST/GET /api/v1/service/tickets | ServiceTicket | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 转办弹窗 | POST/GET /api/v1/service/tickets | Complaint | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 处理日志 | POST/GET /api/v1/service/tickets | RiskStudent | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 风险学员 | POST/GET /api/v1/service/tickets | ServicePlan | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
| 家校沟通 | POST/GET /api/v1/service/tickets | CallbackTask | 草稿 -> 待处理 -> 处理中 -> 已完成 -> 异常待处理 -> 已关闭 | 转校审批:学员权益跨校区转移 | 回访任务提醒 -> 班主任/学管师 | 原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口 |
10 · 原型、UI、研发、测试交付补充
把关键闭环补强为下一阶段可执行任务
本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。| 能力域 | 功能补充要求 | 原型交付要求 | UI 交互要求 | 研发实现要求 | 测试验收要求 |
|---|---|---|---|---|---|
| 学管闭环 | 补齐服务计划、回访任务、风险标签、续费培育、服务交接和满意度关闭标准。 | 学员池、服务计划、风险学员、回访记录 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;每个服务任务有责任人、截止时间、处理结果和关闭标准。 |
| 跨模块转接 | 补齐服务工单转 CRM、教务、合同、财务和班主任回访的流转规则。 | 服务工单、转办弹窗、处理日志 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;转办后原工单能看到目标单据和处理状态。 |
| 风险预警 | 补齐风险规则、自动待办、处理建议、家校沟通和复盘记录。 | 风险学员、家校沟通、复盘页 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。 | UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。 | 后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。 | 测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;风险从触发到处理关闭可量化追踪。 |
11 · 数据对象与字段字典
明确页面、接口、数据库共同使用的数据语言
字段涉及敏感、人脸、财务、绩效时,原型需体现脱敏、授权和审计。核心对象
| 对象 | 说明 |
|---|---|
| ServicePlan | 班主任/学管师服务计划;落地表:ser_service_plan |
| CallbackTask | 回访任务;落地表:ser_callback_task |
| ServiceTicket | 服务工单;落地表:ser_service_ticket |
| Complaint | 投诉处理闭环;落地表:ser_complaint |
| RiskStudent | 风险学员池;落地表:ser_risk_student |
关联引用对象
| 对象 | 说明 |
|---|---|
| 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 |
| Student | 学员基础档案;引用来源:CRM / stu_student |
| CustomerFamily | 客户家庭档案;引用来源:CRM / crm_customer_family |
| Guardian | 监护人/家长资料;引用来源:CRM / crm_guardian |
| MakeupArrangement | 补课安排兜底入口;引用来源:EDU / edu_makeup_arrangement |
| Contract | 合同主表;引用来源:CON / con_contract |
| Lead | 销售线索主表;引用来源:CRM / crm_lead |
| GrowthRecord | 学习成长档案;引用来源:EDU / edu_growth_record |
完整字段字典
| 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|
| ServicePlan | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ServicePlan | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ServicePlan | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ServicePlan | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ServicePlan | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ServicePlan | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ServicePlan | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ServicePlan | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ServicePlan | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ServicePlan | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ServicePlan | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ServicePlan | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ServicePlan | plan_no | VARCHAR(64) | 是 | 服务计划编号,唯一 | 普通 |
| ServicePlan | student_id | BIGINT | 是 | 学员 ID | 普通 |
| ServicePlan | service_owner_id | BIGINT | 是 | 班主任/学管师 ID | 普通 |
| ServicePlan | plan_type | VARCHAR(32) | 是 | 入学/续费/风险/投诉/转介绍 | 普通 |
| ServicePlan | plan_content | JSON | 是 | 服务节点和动作 | 普通 |
| ServicePlan | plan_status | VARCHAR(32) | 是 | 进行中/已完成/已取消/逾期 | 普通 |
| CallbackTask | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| CallbackTask | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| CallbackTask | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| CallbackTask | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| CallbackTask | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| CallbackTask | created_at | DATETIME | 是 | 创建时间 | 普通 |
| CallbackTask | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| CallbackTask | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| CallbackTask | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| CallbackTask | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| CallbackTask | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| CallbackTask | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| CallbackTask | task_no | VARCHAR(64) | 是 | 回访任务编号,唯一 | 普通 |
| CallbackTask | student_id | BIGINT | 是 | 学员 ID | 普通 |
| CallbackTask | owner_id | BIGINT | 是 | 负责人 ID | 普通 |
| CallbackTask | callback_type | VARCHAR(32) | 是 | 课后/续费/风险/投诉/转介绍 | 普通 |
| CallbackTask | scheduled_at | DATETIME | 是 | 计划回访时间 | 普通 |
| CallbackTask | task_status | VARCHAR(32) | 是 | 待回访/已完成/逾期/已取消 | 普通 |
| ServiceTicket | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ServiceTicket | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ServiceTicket | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ServiceTicket | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ServiceTicket | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ServiceTicket | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ServiceTicket | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ServiceTicket | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ServiceTicket | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ServiceTicket | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ServiceTicket | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ServiceTicket | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ServiceTicket | ticket_no | VARCHAR(64) | 是 | 工单编号,唯一 | 普通 |
| ServiceTicket | student_id | BIGINT | 否 | 学员 ID | 普通 |
| ServiceTicket | guardian_id | BIGINT | 否 | 家长 ID | 普通 |
| ServiceTicket | ticket_type | VARCHAR(32) | 是 | 咨询/投诉/风险/售后/转介绍 | 普通 |
| ServiceTicket | ticket_content | TEXT | 是 | 工单内容 | 普通 |
| ServiceTicket | priority | VARCHAR(32) | 是 | 普通/紧急/高风险 | 普通 |
| ServiceTicket | ticket_status | VARCHAR(32) | 是 | 待处理/处理中/待确认/已关闭 | 普通 |
| Complaint | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| Complaint | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| Complaint | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| Complaint | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| Complaint | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| Complaint | created_at | DATETIME | 是 | 创建时间 | 普通 |
| Complaint | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| Complaint | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| Complaint | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| Complaint | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| Complaint | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| Complaint | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| Complaint | complaint_no | VARCHAR(64) | 是 | 投诉编号,唯一 | 普通 |
| Complaint | ticket_id | BIGINT | 是 | 服务工单 ID | 普通 |
| Complaint | complaint_level | VARCHAR(32) | 是 | 一般/严重/重大 | 普通 |
| Complaint | responsible_owner_id | BIGINT | 否 | 责任人 ID | 普通 |
| Complaint | handle_plan | TEXT | 否 | 处理方案 | 普通 |
| Complaint | close_result | TEXT | 否 | 关闭结果 | 普通 |
| Complaint | approval_status | VARCHAR(32) | 否 | 审批状态,未发起为空 | 普通 |
| Complaint | approval_instance_id | BIGINT | 否 | 关联审批实例 ID | 普通 |
| RiskStudent | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| RiskStudent | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| RiskStudent | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| RiskStudent | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| RiskStudent | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| RiskStudent | created_at | DATETIME | 是 | 创建时间 | 普通 |
| RiskStudent | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| RiskStudent | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| RiskStudent | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| RiskStudent | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| RiskStudent | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| RiskStudent | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| RiskStudent | student_id | BIGINT | 是 | 学员 ID | 普通 |
| RiskStudent | risk_type | VARCHAR(32) | 是 | 续费风险/学习风险/投诉风险/流失风险 | 普通 |
| RiskStudent | risk_score | DECIMAL(8,2) | 是 | 风险分 | 普通 |
| RiskStudent | trigger_rule | VARCHAR(128) | 是 | 触发规则 | 普通 |
| RiskStudent | owner_id | BIGINT | 是 | 处理负责人 | 普通 |
| RiskStudent | risk_status | VARCHAR(32) | 是 | 待处理/跟进中/已解除/已流失 | 普通 |
引用对象字段字典
| 引用表 | 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|---|
| sys_organization | Organization | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_organization | Organization | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_organization | Organization | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_organization | Organization | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_organization | Organization | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_organization | Organization | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_organization | Organization | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_organization | Organization | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_organization | Organization | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_organization | Organization | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_organization | Organization | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_organization | Organization | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_organization | Organization | org_code | VARCHAR(64) | 是 | 组织编码,租户内唯一 | 普通 |
| sys_organization | Organization | org_name | VARCHAR(128) | 是 | 组织名称 | 普通 |
| sys_organization | Organization | org_type | VARCHAR(32) | 是 | 集团/区域/校区/部门/法人主体 | 普通 |
| sys_organization | Organization | parent_id | BIGINT | 否 | 上级组织 ID,根节点为空 | 普通 |
| sys_organization | Organization | sort_no | INT | 否 | 同级排序 | 普通 |
| sys_organization | Organization | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_user | User/Employee | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_user | User/Employee | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_user | User/Employee | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_user | User/Employee | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_user | User/Employee | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_user | User/Employee | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_user | User/Employee | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_user | User/Employee | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_user | User/Employee | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_user | User/Employee | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_user | User/Employee | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_user | User/Employee | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_user | User/Employee | user_no | VARCHAR(64) | 是 | 账号编号,唯一 | 普通 |
| sys_user | User/Employee | login_name | VARCHAR(64) | 是 | 登录名,唯一 | 普通 |
| sys_user | User/Employee | mobile | VARCHAR(32) | 否 | 手机号,敏感脱敏展示 | 敏感 |
| sys_user | User/Employee | password_hash | VARCHAR(255) | 否 | 密码哈希,禁止前端返回 | 高敏 |
| sys_user | User/Employee | user_type | VARCHAR(32) | 是 | 员工/学员/家长/外部账号 | 普通 |
| sys_user | User/Employee | login_status | VARCHAR(32) | 是 | 正常/锁定/停用/待激活 | 普通 |
| sys_employee | Employee | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_employee | Employee | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_employee | Employee | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_employee | Employee | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_employee | Employee | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_employee | Employee | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_employee | Employee | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_employee | Employee | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_employee | Employee | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_employee | Employee | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_employee | Employee | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_employee | Employee | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_employee | Employee | employee_no | VARCHAR(64) | 是 | 工号,唯一 | 普通 |
| sys_employee | Employee | user_id | BIGINT | 否 | 关联账号 ID | 普通 |
| sys_employee | Employee | employee_name | VARCHAR(64) | 是 | 员工姓名 | 普通 |
| sys_employee | Employee | primary_campus_id | BIGINT | 否 | 主校区 ID | 普通 |
| sys_employee | Employee | job_title | VARCHAR(64) | 否 | 岗位名称 | 普通 |
| sys_employee | Employee | hire_status | VARCHAR(32) | 是 | 在职/试用/离职/停用 | 普通 |
| sys_role | Role | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_role | Role | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_role | Role | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_role | Role | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_role | Role | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_role | Role | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_role | Role | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_role | Role | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_role | Role | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_role | Role | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_role | Role | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_role | Role | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_role | Role | role_code | VARCHAR(64) | 是 | 角色编码,唯一 | 普通 |
| sys_role | Role | role_name | VARCHAR(128) | 是 | 角色名称 | 普通 |
| sys_role | Role | role_level | VARCHAR(32) | 是 | 总部/区域/校区/个人 | 普通 |
| sys_role | Role | data_scope_type | VARCHAR(32) | 是 | 数据范围类型 | 普通 |
| sys_role | Role | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_approval_flow | ApprovalFlow | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_approval_flow | ApprovalFlow | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_approval_flow | ApprovalFlow | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_approval_flow | ApprovalFlow | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_approval_flow | ApprovalFlow | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_approval_flow | ApprovalFlow | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_approval_flow | ApprovalFlow | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_approval_flow | ApprovalFlow | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_approval_flow | ApprovalFlow | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_approval_flow | ApprovalFlow | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_approval_flow | ApprovalFlow | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_approval_flow | ApprovalFlow | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_approval_flow | ApprovalFlow | flow_code | VARCHAR(64) | 是 | 审批流编码,唯一 | 普通 |
| sys_approval_flow | ApprovalFlow | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sys_approval_flow | ApprovalFlow | flow_name | VARCHAR(128) | 是 | 审批流名称 | 普通 |
| sys_approval_flow | ApprovalFlow | condition_json | JSON | 否 | 触发条件 | 普通 |
| sys_approval_flow | ApprovalFlow | node_json | JSON | 是 | 节点、审批人和超时规则 | 普通 |
| sys_approval_flow | ApprovalFlow | version_no | INT | 是 | 审批流版本号 | 普通 |
| sys_approval_flow | ApprovalFlow | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_message_template | MessageTemplate | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_message_template | MessageTemplate | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_message_template | MessageTemplate | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_message_template | MessageTemplate | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_message_template | MessageTemplate | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_message_template | MessageTemplate | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_message_template | MessageTemplate | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_message_template | MessageTemplate | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_message_template | MessageTemplate | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_message_template | MessageTemplate | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_message_template | MessageTemplate | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_message_template | MessageTemplate | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_message_template | MessageTemplate | template_code | VARCHAR(64) | 是 | 模板编码,唯一 | 普通 |
| sys_message_template | MessageTemplate | template_name | VARCHAR(128) | 是 | 模板名称 | 普通 |
| sys_message_template | MessageTemplate | channel | VARCHAR(32) | 是 | 站内信/短信/微信小程序/企微/Push | 普通 |
| sys_message_template | MessageTemplate | receiver_rule | JSON | 是 | 接收人规则 | 普通 |
| sys_message_template | MessageTemplate | content_template | TEXT | 是 | 模板内容 | 普通 |
| sys_message_template | MessageTemplate | enabled | TINYINT | 是 | 是否启用 | 普通 |
| sys_audit_log | AuditLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sys_audit_log | AuditLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sys_audit_log | AuditLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sys_audit_log | AuditLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sys_audit_log | AuditLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sys_audit_log | AuditLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sys_audit_log | AuditLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sys_audit_log | AuditLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sys_audit_log | AuditLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sys_audit_log | AuditLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sys_audit_log | AuditLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sys_audit_log | AuditLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sys_audit_log | AuditLog | operator_id | BIGINT | 是 | 操作人 ID | 普通 |
| sys_audit_log | AuditLog | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sys_audit_log | AuditLog | biz_id | BIGINT | 否 | 业务主键 ID | 普通 |
| sys_audit_log | AuditLog | action_code | VARCHAR(64) | 是 | 操作编码 | 普通 |
| sys_audit_log | AuditLog | before_snapshot | JSON | 否 | 变更前快照 | 普通 |
| sys_audit_log | AuditLog | after_snapshot | JSON | 否 | 变更后快照 | 普通 |
| sys_audit_log | AuditLog | ip_address | VARCHAR(64) | 否 | 操作 IP | 普通 |
| int_integration_log | IntegrationLog | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| int_integration_log | IntegrationLog | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| int_integration_log | IntegrationLog | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| int_integration_log | IntegrationLog | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| int_integration_log | IntegrationLog | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| int_integration_log | IntegrationLog | created_at | DATETIME | 是 | 创建时间 | 普通 |
| int_integration_log | IntegrationLog | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| int_integration_log | IntegrationLog | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| int_integration_log | IntegrationLog | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| int_integration_log | IntegrationLog | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| int_integration_log | IntegrationLog | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| int_integration_log | IntegrationLog | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| int_integration_log | IntegrationLog | request_id | VARCHAR(128) | 是 | 请求 ID,幂等键 | 普通 |
| int_integration_log | IntegrationLog | system_code | VARCHAR(64) | 是 | 外部系统编码 | 普通 |
| int_integration_log | IntegrationLog | api_path | VARCHAR(512) | 是 | 接口路径 | 普通 |
| int_integration_log | IntegrationLog | biz_type | VARCHAR(64) | 否 | 业务类型 | 普通 |
| int_integration_log | IntegrationLog | biz_id | BIGINT | 否 | 业务 ID | 普通 |
| int_integration_log | IntegrationLog | request_payload | JSON | 否 | 请求报文,敏感字段脱敏 | 敏感 |
| int_integration_log | IntegrationLog | response_payload | JSON | 否 | 响应报文 | 普通 |
| int_integration_log | IntegrationLog | call_status | VARCHAR(32) | 是 | 成功/失败/超时/重试中 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | created_at | DATETIME | 是 | 创建时间 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | field_code | VARCHAR(128) | 是 | 字段编码,唯一 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | biz_type | VARCHAR(64) | 是 | 业务类型 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | mask_rule | VARCHAR(64) | 是 | 脱敏规则 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | view_requires_approval | TINYINT | 是 | 明文查看是否需审批 | 普通 |
| sec_sensitive_field_policy | SensitiveFieldPolicy | watermark_required | TINYINT | 是 | 是否加水印 | 普通 |
| 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) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| 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) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| crm_guardian | Guardian | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| crm_guardian | Guardian | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| crm_guardian | Guardian | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| crm_guardian | Guardian | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| crm_guardian | Guardian | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| crm_guardian | Guardian | created_at | DATETIME | 是 | 创建时间 | 普通 |
| crm_guardian | Guardian | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| crm_guardian | Guardian | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| crm_guardian | Guardian | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| crm_guardian | Guardian | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| crm_guardian | Guardian | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| crm_guardian | Guardian | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| crm_guardian | Guardian | family_id | BIGINT | 是 | 家庭 ID | 普通 |
| crm_guardian | Guardian | guardian_name | VARCHAR(64) | 是 | 监护人姓名 | 普通 |
| crm_guardian | Guardian | mobile | VARCHAR(32) | 是 | 手机号,敏感 | 敏感 |
| crm_guardian | Guardian | relationship | VARCHAR(32) | 是 | 与学员关系 | 普通 |
| crm_guardian | Guardian | wechat_openid | VARCHAR(128) | 否 | 微信 OpenID,敏感 | 敏感 |
| crm_guardian | Guardian | verify_status | VARCHAR(32) | 是 | 未验证/已验证/已解绑 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_makeup_arrangement | MakeupArrangement | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_makeup_arrangement | MakeupArrangement | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | arrangement_no | VARCHAR(64) | 是 | 补课安排编号,唯一 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | leave_request_id | BIGINT | 否 | 关联请假单 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | student_id | BIGINT | 是 | 学员 ID | 普通 |
| edu_makeup_arrangement | MakeupArrangement | candidate_lessons | JSON | 否 | 候选补课课次 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | makeup_preference | JSON | 否 | 家长期望时间 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | confirm_deadline | DATETIME | 否 | 确认截止时间 | 普通 |
| edu_makeup_arrangement | MakeupArrangement | arrange_status | VARCHAR(32) | 是 | 待安排/待确认/已确认/已完成/已取消 | 普通 |
| 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 | 普通 |
| crm_lead | Lead | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| crm_lead | Lead | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| crm_lead | Lead | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| crm_lead | Lead | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| crm_lead | Lead | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| crm_lead | Lead | created_at | DATETIME | 是 | 创建时间 | 普通 |
| crm_lead | Lead | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| crm_lead | Lead | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| crm_lead | Lead | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| crm_lead | Lead | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| crm_lead | Lead | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| crm_lead | Lead | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| crm_lead | Lead | lead_no | VARCHAR(64) | 是 | 线索编号,唯一 | 普通 |
| crm_lead | Lead | source_channel | VARCHAR(64) | 是 | 来源渠道 | 普通 |
| crm_lead | Lead | campaign_id | BIGINT | 否 | 来源活动 ID | 普通 |
| crm_lead | Lead | guardian_mobile | VARCHAR(32) | 是 | 家长手机号,敏感 | 敏感 |
| crm_lead | Lead | student_name | VARCHAR(64) | 否 | 学员姓名 | 普通 |
| crm_lead | Lead | intent_course_id | BIGINT | 否 | 意向课程 | 普通 |
| crm_lead | Lead | owner_id | BIGINT | 否 | 当前归属销售/顾问 | 普通 |
| crm_lead | Lead | protect_until | DATETIME | 否 | 保护期截止时间 | 普通 |
| crm_lead | Lead | duplicate_status | VARCHAR(32) | 是 | 未查重/疑似重复/已合并/已忽略 | 普通 |
| crm_lead | Lead | biz_status | VARCHAR(32) | 是 | 业务状态,取值来自状态机字典 | 普通 |
| crm_lead | Lead | remark | VARCHAR(512) | 否 | 业务备注,敏感内容按权限脱敏 | 普通 |
| edu_growth_record | GrowthRecord | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| edu_growth_record | GrowthRecord | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| edu_growth_record | GrowthRecord | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| edu_growth_record | GrowthRecord | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| edu_growth_record | GrowthRecord | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| edu_growth_record | GrowthRecord | created_at | DATETIME | 是 | 创建时间 | 普通 |
| edu_growth_record | GrowthRecord | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| edu_growth_record | GrowthRecord | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| edu_growth_record | GrowthRecord | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| edu_growth_record | GrowthRecord | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| edu_growth_record | GrowthRecord | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| edu_growth_record | GrowthRecord | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| edu_growth_record | GrowthRecord | student_id | BIGINT | 是 | 学员 ID | 普通 |
| edu_growth_record | GrowthRecord | record_type | VARCHAR(32) | 是 | 课堂/作业/测评/签到/教师评价 | 普通 |
| edu_growth_record | GrowthRecord | biz_type | VARCHAR(64) | 是 | 来源业务类型 | 普通 |
| edu_growth_record | GrowthRecord | biz_id | BIGINT | 是 | 来源业务 ID | 普通 |
| edu_growth_record | GrowthRecord | record_content | JSON | 是 | 成长记录内容 | 普通 |
| edu_growth_record | GrowthRecord | visible_to_parent | TINYINT | 是 | 家长端是否可见 | 普通 |
JSON 字段结构与校验
| 表名 | 对象 | 字段 | 结构编码 | 结构定义 | 校验规则 | 示例 |
|---|---|---|---|---|---|---|
| ser_service_plan | ServicePlan | plan_content | MESSAGE_RECEIVER | {receiverType:string, roleCodes?:string[], userIds?:number[], dynamicField?:string} | 接收人必须能解析到有效账号;失败生成消息异常任务 | {"receiverType":"ROLE","roleCodes":["CAMPUS_MANAGER"]} |
状态/枚举标准字典
| 表名 | 对象 | 字段 | 枚举编码 | 取值 | 终态/流转规则 | 字段说明 |
|---|---|---|---|---|---|---|
| ser_service_plan | ServicePlan | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| ser_service_plan | ServicePlan | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| ser_service_plan | ServicePlan | service_owner_id | SERVICE_OWNER_ID | 班主任、学管师 ID | 非终态,可按状态机或字典规则流转 | 班主任/学管师 ID |
| ser_service_plan | ServicePlan | plan_type | PLAN_TYPE | 入学、续费、风险、投诉、转介绍 | 非终态,可按状态机或字典规则流转 | 入学/续费/风险/投诉/转介绍 |
| ser_service_plan | ServicePlan | plan_status | PLAN_STATUS | 进行中、已完成、已取消、逾期 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 进行中/已完成/已取消/逾期 |
| ser_callback_task | CallbackTask | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| ser_callback_task | CallbackTask | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| ser_callback_task | CallbackTask | callback_type | CALLBACK_TYPE | 课后、续费、风险、投诉、转介绍 | 非终态,可按状态机或字典规则流转 | 课后/续费/风险/投诉/转介绍 |
| ser_callback_task | CallbackTask | task_status | TASK_STATUS | 待回访、已完成、逾期、已取消 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待回访/已完成/逾期/已取消 |
| ser_service_ticket | ServiceTicket | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| ser_service_ticket | ServiceTicket | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| ser_service_ticket | ServiceTicket | ticket_type | TICKET_TYPE | 咨询、投诉、风险、售后、转介绍 | 非终态,可按状态机或字典规则流转 | 咨询/投诉/风险/售后/转介绍 |
| ser_service_ticket | ServiceTicket | priority | PRIORITY | 普通、紧急、高风险 | 非终态,可按状态机或字典规则流转 | 普通/紧急/高风险 |
| ser_service_ticket | ServiceTicket | ticket_status | TICKET_STATUS | 待处理、处理中、待确认、已关闭 | 包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程 | 待处理/处理中/待确认/已关闭 |
| ser_complaint | Complaint | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| ser_complaint | Complaint | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| ser_complaint | Complaint | complaint_level | COMPLAINT_LEVEL | 一般、严重、重大 | 非终态,可按状态机或字典规则流转 | 一般/严重/重大 |
| ser_complaint | Complaint | approval_status | APPROVAL_STATUS | NOT_STARTED 未发起、PENDING 审批中、APPROVED 已通过、REJECTED 已驳回、REVOKED 已撤回 | 非终态,可按状态机或字典规则流转 | 审批状态,未发起为空 |
| ser_risk_student | RiskStudent | tenant_id | TENANT_ID | 集团、租户隔离字段 | 非终态,可按状态机或字典规则流转 | 集团/租户隔离字段,所有查询必须带租户上下文 |
| ser_risk_student | RiskStudent | is_deleted | BOOL_DELETED | 0 未删除、1 已删除 | 非终态,可按状态机或字典规则流转 | 是否已删除,0 未删除,1 已删除 |
| ser_risk_student | RiskStudent | risk_type | RISK_TYPE | 续费风险、学习风险、投诉风险、流失风险 | 非终态,可按状态机或字典规则流转 | 续费风险/学习风险/投诉风险/流失风险 |
| ser_risk_student | RiskStudent | risk_status | RISK_STATUS | 待处理、跟进中、已解除、已流失 | 非终态,可按状态机或字典规则流转 | 待处理/跟进中/已解除/已流失 |
敏感字段与数据安全策略
| 来源 | 表名 | 对象 | 字段 | 数据级别 | 脱敏/返回策略 | 明文查看条件 | 导出策略 | 审计要求 | 端侧展示规则 |
|---|---|---|---|---|---|---|---|---|---|
| 引用对象 | 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 | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | stu_student | Student | remark | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | crm_customer_family | CustomerFamily | remark | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | crm_guardian | Guardian | mobile | 敏感 | MOBILE_MASK | 默认展示 138****0000;明文查看需字段权限或敏感字段查看审批 | 导出手机号必须触发导出审批、下载水印和有效期控制 | 明文查看、复制、导出和批量下载均写入 SensitiveAccessLog | PC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息 |
| 引用对象 | crm_guardian | Guardian | wechat_openid | 敏感 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
| 引用对象 | con_contract | Contract | tax_amount | 普通 | TAX_INVOICE_MASK | 默认按税号/发票号局部脱敏;发票原图、OCR 结果和国税回执按财务权限查看 | 财务导出需审批并加水印;国税官方回执随业务单归档 | OCR、核验、查重、人工校正、导出和付款阻断均留痕 | 移动端可上传和查看本人报销结果,不展示其他人员票据明文 |
| 引用对象 | crm_lead | Lead | guardian_mobile | 敏感 | MOBILE_MASK | 默认展示 138****0000;明文查看需字段权限或敏感字段查看审批 | 导出手机号必须触发导出审批、下载水印和有效期控制 | 明文查看、复制、导出和批量下载均写入 SensitiveAccessLog | PC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息 |
| 引用对象 | crm_lead | Lead | remark | 普通 | BIZ_FIELD_MASK | 按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行 | 导出时按数据级别触发审批、水印、下载有效期和日志 | 查看、修改、删除、导出、下载和审批均记录操作审计 | 默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则 |
核心数据表完整字段
| 表名 | 对象 | 字段 | 类型 | 必填 | 规则 | 数据级别 |
|---|---|---|---|---|---|---|
| ser_service_plan | ServicePlan | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ser_service_plan | ServicePlan | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ser_service_plan | ServicePlan | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ser_service_plan | ServicePlan | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ser_service_plan | ServicePlan | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ser_service_plan | ServicePlan | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ser_service_plan | ServicePlan | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ser_service_plan | ServicePlan | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ser_service_plan | ServicePlan | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ser_service_plan | ServicePlan | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ser_service_plan | ServicePlan | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ser_service_plan | ServicePlan | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ser_service_plan | ServicePlan | plan_no | VARCHAR(64) | 是 | 服务计划编号,唯一 | 普通 |
| ser_service_plan | ServicePlan | student_id | BIGINT | 是 | 学员 ID | 普通 |
| ser_service_plan | ServicePlan | service_owner_id | BIGINT | 是 | 班主任/学管师 ID | 普通 |
| ser_service_plan | ServicePlan | plan_type | VARCHAR(32) | 是 | 入学/续费/风险/投诉/转介绍 | 普通 |
| ser_service_plan | ServicePlan | plan_content | JSON | 是 | 服务节点和动作 | 普通 |
| ser_service_plan | ServicePlan | plan_status | VARCHAR(32) | 是 | 进行中/已完成/已取消/逾期 | 普通 |
| ser_callback_task | CallbackTask | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ser_callback_task | CallbackTask | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ser_callback_task | CallbackTask | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ser_callback_task | CallbackTask | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ser_callback_task | CallbackTask | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ser_callback_task | CallbackTask | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ser_callback_task | CallbackTask | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ser_callback_task | CallbackTask | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ser_callback_task | CallbackTask | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ser_callback_task | CallbackTask | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ser_callback_task | CallbackTask | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ser_callback_task | CallbackTask | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ser_callback_task | CallbackTask | task_no | VARCHAR(64) | 是 | 回访任务编号,唯一 | 普通 |
| ser_callback_task | CallbackTask | student_id | BIGINT | 是 | 学员 ID | 普通 |
| ser_callback_task | CallbackTask | owner_id | BIGINT | 是 | 负责人 ID | 普通 |
| ser_callback_task | CallbackTask | callback_type | VARCHAR(32) | 是 | 课后/续费/风险/投诉/转介绍 | 普通 |
| ser_callback_task | CallbackTask | scheduled_at | DATETIME | 是 | 计划回访时间 | 普通 |
| ser_callback_task | CallbackTask | task_status | VARCHAR(32) | 是 | 待回访/已完成/逾期/已取消 | 普通 |
| ser_service_ticket | ServiceTicket | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ser_service_ticket | ServiceTicket | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ser_service_ticket | ServiceTicket | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ser_service_ticket | ServiceTicket | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ser_service_ticket | ServiceTicket | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ser_service_ticket | ServiceTicket | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ser_service_ticket | ServiceTicket | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ser_service_ticket | ServiceTicket | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ser_service_ticket | ServiceTicket | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ser_service_ticket | ServiceTicket | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ser_service_ticket | ServiceTicket | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ser_service_ticket | ServiceTicket | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ser_service_ticket | ServiceTicket | ticket_no | VARCHAR(64) | 是 | 工单编号,唯一 | 普通 |
| ser_service_ticket | ServiceTicket | student_id | BIGINT | 否 | 学员 ID | 普通 |
| ser_service_ticket | ServiceTicket | guardian_id | BIGINT | 否 | 家长 ID | 普通 |
| ser_service_ticket | ServiceTicket | ticket_type | VARCHAR(32) | 是 | 咨询/投诉/风险/售后/转介绍 | 普通 |
| ser_service_ticket | ServiceTicket | ticket_content | TEXT | 是 | 工单内容 | 普通 |
| ser_service_ticket | ServiceTicket | priority | VARCHAR(32) | 是 | 普通/紧急/高风险 | 普通 |
| ser_service_ticket | ServiceTicket | ticket_status | VARCHAR(32) | 是 | 待处理/处理中/待确认/已关闭 | 普通 |
| ser_complaint | Complaint | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ser_complaint | Complaint | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ser_complaint | Complaint | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ser_complaint | Complaint | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ser_complaint | Complaint | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ser_complaint | Complaint | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ser_complaint | Complaint | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ser_complaint | Complaint | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ser_complaint | Complaint | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ser_complaint | Complaint | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ser_complaint | Complaint | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ser_complaint | Complaint | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ser_complaint | Complaint | complaint_no | VARCHAR(64) | 是 | 投诉编号,唯一 | 普通 |
| ser_complaint | Complaint | ticket_id | BIGINT | 是 | 服务工单 ID | 普通 |
| ser_complaint | Complaint | complaint_level | VARCHAR(32) | 是 | 一般/严重/重大 | 普通 |
| ser_complaint | Complaint | responsible_owner_id | BIGINT | 否 | 责任人 ID | 普通 |
| ser_complaint | Complaint | handle_plan | TEXT | 否 | 处理方案 | 普通 |
| ser_complaint | Complaint | close_result | TEXT | 否 | 关闭结果 | 普通 |
| ser_complaint | Complaint | approval_status | VARCHAR(32) | 否 | 审批状态,未发起为空 | 普通 |
| ser_complaint | Complaint | approval_instance_id | BIGINT | 否 | 关联审批实例 ID | 普通 |
| ser_risk_student | RiskStudent | id | BIGINT | 是 | 主键,雪花或号段生成,禁止复用 | 普通 |
| ser_risk_student | RiskStudent | tenant_id | BIGINT | 是 | 集团/租户隔离字段,所有查询必须带租户上下文 | 普通 |
| ser_risk_student | RiskStudent | org_id | BIGINT | 否 | 所属组织,集团级或公共配置为空 | 普通 |
| ser_risk_student | RiskStudent | campus_id | BIGINT | 否 | 所属校区,跨校区或总部级数据为空 | 普通 |
| ser_risk_student | RiskStudent | created_by | BIGINT | 是 | 创建人账号 ID | 普通 |
| ser_risk_student | RiskStudent | created_at | DATETIME | 是 | 创建时间 | 普通 |
| ser_risk_student | RiskStudent | updated_by | BIGINT | 否 | 最后更新人账号 ID | 普通 |
| ser_risk_student | RiskStudent | updated_at | DATETIME | 否 | 最后更新时间 | 普通 |
| ser_risk_student | RiskStudent | is_deleted | TINYINT | 是 | 是否已删除,0 未删除,1 已删除 | 普通 |
| ser_risk_student | RiskStudent | deleted_at | DATETIME | 否 | 删除时间,未删除为空 | 普通 |
| ser_risk_student | RiskStudent | deleted_by | BIGINT | 否 | 删除人账号 ID,未删除为空 | 普通 |
| ser_risk_student | RiskStudent | version | INT | 是 | 乐观锁版本号,写操作必须校验 | 普通 |
| ser_risk_student | RiskStudent | student_id | BIGINT | 是 | 学员 ID | 普通 |
| ser_risk_student | RiskStudent | risk_type | VARCHAR(32) | 是 | 续费风险/学习风险/投诉风险/流失风险 | 普通 |
| ser_risk_student | RiskStudent | risk_score | DECIMAL(8,2) | 是 | 风险分 | 普通 |
| ser_risk_student | RiskStudent | trigger_rule | VARCHAR(128) | 是 | 触发规则 | 普通 |
| ser_risk_student | RiskStudent | owner_id | BIGINT | 是 | 处理负责人 | 普通 |
| ser_risk_student | RiskStudent | risk_status | VARCHAR(32) | 是 | 待处理/跟进中/已解除/已流失 | 普通 |
数据表与对象映射
| 表名 | 对象 | 用途 | 完整字段 | 索引建议 |
|---|---|---|---|---|
| ser_service_plan | ServicePlan | 班主任/学管师服务计划 | id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、plan_no(VARCHAR(64),必填)、student_id(BIGINT,必填)、service_owner_id(BIGINT,必填)、plan_type(VARCHAR(32),必填)、plan_content(JSON,必填)、plan_status(VARCHAR(32),必填) | uk_plan_no、idx_owner_status |
| ser_callback_task | CallbackTask | 回访任务 | id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、task_no(VARCHAR(64),必填)、student_id(BIGINT,必填)、owner_id(BIGINT,必填)、callback_type(VARCHAR(32),必填)、scheduled_at(DATETIME,必填)、task_status(VARCHAR(32),必填) | uk_task_no、idx_owner_time |
| ser_service_ticket | ServiceTicket | 服务工单 | 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,必填)、ticket_no(VARCHAR(64),必填)、student_id(BIGINT)、guardian_id(BIGINT)、ticket_type(VARCHAR(32),必填)、ticket_content(TEXT,必填)、priority(VARCHAR(32),必填)、ticket_status(VARCHAR(32),必填) | uk_ticket_no、idx_type_status |
| ser_complaint | Complaint | 投诉处理闭环 | 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,必填)、complaint_no(VARCHAR(64),必填)、ticket_id(BIGINT,必填)、complaint_level(VARCHAR(32),必填)、responsible_owner_id(BIGINT)、handle_plan(TEXT)、close_result(TEXT)、approval_status(VARCHAR(32))、approval_instance_id(BIGINT) | uk_complaint_no、idx_level_status |
| ser_risk_student | RiskStudent | 风险学员池 | 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,必填)、student_id(BIGINT,必填)、risk_type(VARCHAR(32),必填)、risk_score(DECIMAL(8,2),必填)、trigger_rule(VARCHAR(128),必填)、owner_id(BIGINT,必填)、risk_status(VARCHAR(32),必填) | idx_student_type、idx_owner_status |
12 · 状态机与业务规则
约束业务对象如何流转、何时可编辑、何时触发审批
原型需要把状态标签、可操作按钮和禁用原因展示清楚。| 对象 | 状态 | 触发与说明 |
|---|---|---|
| 合同 | 草稿 -> 待审批 -> 待签署 -> 已签署 -> 已备案 -> 已收款 -> 履约中 -> 已结课 -> 已退费 -> 已作废 | 优惠审批、电子签、监管备案、收款、课消、退费 |
| 监管报送 | 待生成 -> 待报送 -> 报送中 -> 成功 -> 失败 -> 待重报 -> 人工处理 | 合同备案、收款、课消、退费报送与回执 |
| 退费单 | 草稿 -> 待学管确认 -> 待校长审批 -> 待财务复核 -> 监管退款中 -> 已退款 -> 已驳回 -> 已取消 | 退费测算、审批、退款回执和凭证冲销 |
| 工单 | 新建 -> 已分派 -> 处理中 -> 待家长确认 -> 已关闭 -> 已升级 -> 已驳回 | 投诉建议、服务请求、教学反馈和退费咨询 |
售后服务中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
售后服务中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
售后服务中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
售后服务中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
售后服务中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
售后服务中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。
13 · 权限、审批与消息
动作权限、数据范围、审批触发和消息触达必须闭环
权限需要覆盖菜单、按钮、字段、接口和导出。动作权限
- 分配服务:需映射菜单、按钮、接口和字段权限
- 发起回访:需映射菜单、按钮、接口和字段权限
- 家校沟通:需映射菜单、按钮、接口和字段权限
- 处理投诉:需映射菜单、按钮、接口和字段权限
- 投诉升级:需映射菜单、按钮、接口和字段权限
- 关闭风险:需映射菜单、按钮、接口和字段权限
- 续费培育:需映射菜单、按钮、接口和字段权限
- 服务交接:需映射菜单、按钮、接口和字段权限
- 满意度回收:需映射菜单、按钮、接口和字段权限
数据范围
- 总部全量
- 区域辖区
- 校区本地
- 部门/岗位
- 本人负责
- 授权班级/学员
审批配置
| 审批名称 | 触发条件 | 流程 | 结果 | 留痕 |
|---|---|---|---|---|
| 合同优惠审批 | 折扣低于总部配置阈值或赠课超过上限 | 顾问提交 -> 销售主管 -> 校长 -> 财务抄送 | 通过后合同可签署,驳回后返回报价草稿 | 保留优惠前后金额和审批意见 |
| 退费审批 | 任意退费或转课产生金额冲减 | 学管师确认 -> 校长审批 -> 财务复核 | 通过后进入监管退款,驳回后关闭退费单 | 保留测算明细、附件和退款回执 |
| 转校审批 | 学员权益跨校区转移 | 原校区校长 -> 目标校区校长 -> 财务确认 | 权益和服务归属迁移 | 记录转出转入校区和余额 |
| 转班转课审批 | 涉及补差、退差、跨校区、班级容量例外或优惠反算 | 课程顾问/教务 -> 校长 -> 财务 | 通过后调整权益、课表和收退差任务 | 保留测算版本、家长确认和生效记录 |
| 补课改期取消审批 | 已确认补课需要改期、取消或已课消后冲正 | 家长/教务 -> 班主任/学管师 -> 教务负责人 | 通过后释放原课次资源、重新安排或进入冲正 | 保留原因、课次、课消、消息和处理结果 |
消息模板
| 消息 | 接收人 | 触发 | 渠道 | 变量 |
|---|---|---|---|---|
| 回访任务提醒 | 班主任/学管师 | 系统生成回访计划 | 站内信、App、企微 | 学员、回访类型、建议话术 |
| 续费预警 | 班主任/顾问/校长 | 剩余课时或有效期低于阈值 | 站内信、App | 剩余课时、有效期、建议课程 |
| 退费审批提醒 | 校长/财务 | 退费单提交 | 站内信、App | 合同编号、测算金额、申请原因 |
| 直播迟到/缺席提醒 | 学员/家长/班主任/学管师 | 直播开始后未进入或观看时长不足 | 小程序、App、站内信 | 学员、课程、迟到分钟、补看入口 |
| 作业草稿未提交提醒 | 学员/家长/班主任 | 作业存在草稿且距截止时间小于 24 小时或教师设置提醒 | 小程序、App、站内信 | 作业、课程、截止时间、草稿入口 |
| 请假审批结果通知 | 家长/学员/教师/班主任 | 请假审批通过、驳回、取消或课消回滚 | 小程序、App、站内信 | 学员、原课次、审批结果、课消处理 |
| 补课安排确认通知 | 家长/班主任/教务 | 补课候选课次生成、即将过期或已确认 | 小程序、App、短信 | 补课时间、班级、教师、确认截止时间 |
| 补课改期取消处理通知 | 家长/教务/班主任/教师 | 家长申请改期或取消、教务重新安排、课消冲正完成 | 小程序、App、站内信 | 原补课课次、新课次、处理状态、确认截止时间 |
14 · 接口与技术细节
接口需支持幂等、权限、审计、重试和回执
每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。| 接口 | 方法 | 方向 | 请求字段 | 响应字段 | 幂等/权限 |
|---|---|---|---|---|---|
| /api/v1/service/tickets | POST/GET | PC Web 到服务中心 | studentId, ticketType, priority, content | ticketId, ownerId, status | 服务归属校验 |
| /api/v1/service/callbacks | POST | 班主任端到服务中心 | studentId, callbackType, result, nextPlan | callbackId, nextTodo | studentId 权限校验 |
| /api/v1/service/renewal-tasks | POST/GET | 服务中心到 CRM | studentId, remainHours, riskLevel, ownerId | taskId, followStatus | 同学员同周期去重 |
| /api/v1/service/communications | POST/GET | 班主任端到服务中心 | studentId, guardianId, communicationType, content, nextFollowAt, requestId | communicationId, ticketStatus, notifyStatus | 同服务任务可追加多条沟通记录 |
前端约束
- 统一登录态和租户校区上下文
- 列表分页、筛选、排序、列显隐
- 表单本地校验与服务端错误映射
- 移动/平板/TV 按终端适配交互
后端约束
- 领域服务封装业务规则
- 写操作事务一致性
- 关键操作审计快照
- 异步任务失败重试和告警
集成约束
- 第三方接口统一走开放集成中心
- 回执文件归档
- 接口日志可按业务单号追踪
- 密钥和回调地址按环境隔离
15 · 数据库与存储设计
核心表建议、关键字段和索引方向
详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。| 表名 | 用途 | 核心字段 | 索引建议 |
|---|---|---|---|
| ser_service_plan | 班主任/学管师服务计划 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、plan_no、student_id、service_owner_id、plan_type、plan_content、plan_status | uk_plan_no、idx_owner_status |
| ser_callback_task | 回访任务 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、task_no、student_id、owner_id、callback_type、scheduled_at、task_status | uk_task_no、idx_owner_time |
| ser_service_ticket | 服务工单 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、ticket_no、student_id、guardian_id、ticket_type、ticket_content、priority、ticket_status | uk_ticket_no、idx_type_status |
| ser_complaint | 投诉处理闭环 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、complaint_no、ticket_id、complaint_level、responsible_owner_id、handle_plan、close_result、approval_status、approval_instance_id | uk_complaint_no、idx_level_status |
| ser_risk_student | 风险学员池 | id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、student_id、risk_type、risk_score、trigger_rule、owner_id、risk_status | idx_student_type、idx_owner_status |
DDL 草案
ser_service_planServicePlan
CREATE TABLE `ser_service_plan` (
`id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
`tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
`org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
`campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
`created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
`created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
`updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
`updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
`deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
`deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
`version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
`plan_no` VARCHAR(64) NOT NULL COMMENT '服务计划编号,唯一;数据级别:普通',
`student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
`service_owner_id` BIGINT NOT NULL COMMENT '班主任/学管师 ID;数据级别:普通',
`plan_type` VARCHAR(32) NOT NULL COMMENT '入学/续费/风险/投诉/转介绍;数据级别:普通',
`plan_content` JSON NOT NULL COMMENT '服务节点和动作;数据级别:普通',
`plan_status` VARCHAR(32) NOT NULL COMMENT '进行中/已完成/已取消/逾期;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_plan_no` (`plan_no`),
KEY `idx_owner_status` (`service_owner_id`, `plan_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ServicePlan:班主任/学管师服务计划';
ser_callback_taskCallbackTask
CREATE TABLE `ser_callback_task` (
`id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
`tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
`org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
`campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
`created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
`created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
`updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
`updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
`deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
`deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
`version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
`task_no` VARCHAR(64) NOT NULL COMMENT '回访任务编号,唯一;数据级别:普通',
`student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
`owner_id` BIGINT NOT NULL COMMENT '负责人 ID;数据级别:普通',
`callback_type` VARCHAR(32) NOT NULL COMMENT '课后/续费/风险/投诉/转介绍;数据级别:普通',
`scheduled_at` DATETIME NOT NULL COMMENT '计划回访时间;数据级别:普通',
`task_status` VARCHAR(32) NOT NULL COMMENT '待回访/已完成/逾期/已取消;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_task_no` (`task_no`),
KEY `idx_owner_time` (`owner_id`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='CallbackTask:回访任务';
ser_service_ticketServiceTicket
CREATE TABLE `ser_service_ticket` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`ticket_no` VARCHAR(64) NOT NULL COMMENT '工单编号,唯一;数据级别:普通',
`student_id` BIGINT NULL COMMENT '学员 ID;数据级别:普通',
`guardian_id` BIGINT NULL COMMENT '家长 ID;数据级别:普通',
`ticket_type` VARCHAR(32) NOT NULL COMMENT '咨询/投诉/风险/售后/转介绍;数据级别:普通',
`ticket_content` TEXT NOT NULL COMMENT '工单内容;数据级别:普通',
`priority` VARCHAR(32) NOT NULL COMMENT '普通/紧急/高风险;数据级别:普通',
`ticket_status` VARCHAR(32) NOT NULL COMMENT '待处理/处理中/待确认/已关闭;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_ticket_no` (`ticket_no`),
KEY `idx_type_status` (`ticket_type`, `ticket_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ServiceTicket:服务工单';
ser_complaintComplaint
CREATE TABLE `ser_complaint` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`complaint_no` VARCHAR(64) NOT NULL COMMENT '投诉编号,唯一;数据级别:普通',
`ticket_id` BIGINT NOT NULL COMMENT '服务工单 ID;数据级别:普通',
`complaint_level` VARCHAR(32) NOT NULL COMMENT '一般/严重/重大;数据级别:普通',
`responsible_owner_id` BIGINT NULL COMMENT '责任人 ID;数据级别:普通',
`handle_plan` TEXT NULL COMMENT '处理方案;数据级别:普通',
`close_result` TEXT NULL COMMENT '关闭结果;数据级别:普通',
`approval_status` VARCHAR(32) NULL COMMENT '审批状态,未发起为空;数据级别:普通',
`approval_instance_id` BIGINT NULL COMMENT '关联审批实例 ID;数据级别:普通',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_complaint_no` (`complaint_no`),
KEY `idx_level_status` (`complaint_level`, `approval_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Complaint:投诉处理闭环';
ser_risk_studentRiskStudent
CREATE TABLE `ser_risk_student` (
`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 '乐观锁版本号,写操作必须校验;数据级别:普通',
`student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
`risk_type` VARCHAR(32) NOT NULL COMMENT '续费风险/学习风险/投诉风险/流失风险;数据级别:普通',
`risk_score` DECIMAL(8,2) NOT NULL COMMENT '风险分;数据级别:普通',
`trigger_rule` VARCHAR(128) NOT NULL COMMENT '触发规则;数据级别:普通',
`owner_id` BIGINT NOT NULL COMMENT '处理负责人;数据级别:普通',
`risk_status` VARCHAR(32) NOT NULL COMMENT '待处理/跟进中/已解除/已流失;数据级别:普通',
PRIMARY KEY (`id`),
KEY `idx_student_type` (`student_id`, `risk_type`),
KEY `idx_owner_status` (`owner_id`, `risk_status`),
KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='RiskStudent:风险学员池';
16 · 异常、指标、测试与初始化
保证模块上线后可运营、可追踪、可验收
测试要覆盖主流程、异常流、权限流、接口失败和数据一致性。异常状态
指标埋点
测试用例
| 编号 | 场景 | 前置 | 步骤 | 预期 | 优先级 |
|---|---|---|---|---|---|
| TC-004 | 报价优惠审批 | 折扣低于阈值 | 顾问提交报价 | 审批待办生成,通过后可创建合同 | 高 |
| TC-014 | 学管风险预警生成 | 学员剩余课时低于阈值 | 刷新风险学员池 | 生成续费培育任务并通知学管 | 高 |
| TC-015 | 退费审批和监管退款 | 合同有剩余权益 | 提交退费、审批、模拟退款回执 | 退款完成、课时冻结、收入和提成冲回 | 高 |
| TC-023 | 按钮权限控制 | 顾问账号无退费审批权限 | 进入退费单详情 | 可查看授权数据但不可审批 | 高 |
| TC-045 | 优惠组合缴费 | 学员同时购买多课程且命中多种优惠 | 选择课程包、优惠券、多科联报优惠并合并支付 | 系统按规则叠加或互斥优惠,正确分摊到合同、课程和校区 | 高 |
| TC-046 | 多科联报优惠审批 | 联报优惠超过校区权限阈值 | 顾问提交报价并发起审批 | 审批通过后可签署合同,审批记录保留优惠前后金额 | 高 |
| TC-EDU-TRANSFER-001 | 转班转课权益重算 | 学员存在未消课时和已使用优惠 | 发起转班转课,执行权益测算、家长确认、补差支付或退差审批 | 权益、优惠分摊、补差退差、课表和财务凭证全部一致;重复提交不产生重复调整 | 高 |
| TC-CON-DISCOUNT-001 | 优惠试算和反算 | 合同包含多科联报、赠课和组合缴费优惠 | 执行报价试算、冲突检测、审批、退款反算 | 冲突规则 100% 命中;优惠分摊到合同项;退款反算金额与财务一致 | 高 |
| TC-SER-ENH-001 | 学管闭环交付闭环验收 | 学员池、服务计划、风险学员、回访记录相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐服务计划、回访任务、风险标签、续费培育、服务交接和满意度关闭标准。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 每个服务任务有责任人、截止时间、处理结果和关闭标准。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-SER-ENH-002 | 跨模块转接交付闭环验收 | 服务工单、转办弹窗、处理日志相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐服务工单转 CRM、教务、合同、财务和班主任回访的流转规则。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 转办后原工单能看到目标单据和处理状态。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
| TC-SER-ENH-003 | 风险预警交付闭环验收 | 风险学员、家校沟通、复盘页相关基础数据、权限、审批流、消息模板和接口配置已初始化 | 按补齐风险规则、自动待办、处理建议、家校沟通和复盘记录。执行前端提交、后端处理、状态流转、异常重试和消息触达 | 风险从触发到处理关闭可量化追踪。;同时产生审计日志、指标埋点和必要的补偿任务 | 高 |
上线初始化
| 初始化项 | 动作 | 数据 | 验收 |
|---|---|---|---|
| 优惠规则 | 初始化折扣、满减、优惠券、老带新、多科联报和组合包规则 | 规则编码、叠加互斥、适用课程、校区、有效期、审批阈值 | 报价单可正确计算并生成分摊明细 |
| 审批规则 | 配置优惠、退费、转课、导出、薪资、课消撤销审批流 | 审批对象、条件、节点、超时提醒 | 测试单据可进入正确审批链 |
| 财务科目 | 配置收款、预收、课消收入、退费、薪资、报销和内置科目映射 | 科目、辅助核算、校区、项目、部门 | 凭证可生成并写入测试账套 |
| 监管账户 | 维护资金监管账户和教育局监管平台参数 | 账户编号、校区映射、接口地址、证书、回调 | 合同、收款、课消、退费可报送测试 |
| 转班转课测算规则 | 初始化转班、转课、调班、调课的权益重算、优惠分摊、补差退差和审批规则 | transferType、rightsRule、discountAllocationRule、paymentDiffRule | 转班转课可测算、确认、审批和生效 |
| 学管闭环交付配置 | 初始化补齐服务计划、回访任务、风险标签、续费培育、服务交接和满意度关闭标准。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 学员池、服务计划、风险学员、回访记录 | 每个服务任务有责任人、截止时间、处理结果和关闭标准。 |
| 跨模块转接交付配置 | 初始化补齐服务工单转 CRM、教务、合同、财务和班主任回访的流转规则。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 服务工单、转办弹窗、处理日志 | 转办后原工单能看到目标单据和处理状态。 |
| 风险预警交付配置 | 初始化补齐风险规则、自动待办、处理建议、家校沟通和复盘记录。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限 | 风险学员、家校沟通、复盘页 | 风险从触发到处理关闭可量化追踪。 |