迪诺学堂标识

04-销售合同中心详细PRD

CON · 承接报价、优惠组合、组合缴费、多科联报优惠、员工端合同创建、家长手写签字、支付、企业电子公章、退款、转课、发票和业绩归属。

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

01 · 模块定位

销售合同中心

管理人员在 PC Web 配置价格、组合价格、优惠规则和合同模板;销售/市场/课程顾问在员工端创建合同并推送家长;家长手写签字后完成支付,支付成功自动加盖企业电子公章并归档,退款转课、发票、监管备案和业绩归属可追溯。

业务目标

承接报价、优惠组合、组合缴费、多科联报优惠、员工端合同创建、家长手写签字、支付、企业电子公章、退款、转课、发票和业绩归属。

使用终端

PC Web 管理端仅供管理人员维护课程价格、组合价格、可用优惠、合同模板和审批规则;课程顾问、销售人员、市场人员通过迪诺学堂教师端 App/小程序为本人授权学员创建合同、申请额外折扣并推送给家长;家长端小程序/H5 完成手写签字、支付和合同查看。

验收主线

管理人员在 PC Web 配置价格、组合价格、优惠规则和合同模板;销售/市场/课程顾问在员工端创建合同并推送家长;家长手写签字后完成支付,支付成功自动加盖企业电子公章并归档,退款转课、发票、监管备案和业绩归属可追溯。

02 · 范围边界

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

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

模块内范围

  • 报价单
  • 优惠引擎
  • 组合缴费
  • 多科联报
  • 合同模板
  • 电子签署
  • 退款转课
  • 优惠试算器
  • 优惠冲突检测
  • 优惠分摊
  • 组合优惠审批
  • 转班转课权益测算
  • 补差退差确认
  • 合同补充协议
  • 合同变更
  • 作废重签
  • 课程价格管理
  • 组合价格管理
  • 可用优惠规则
  • 员工端合同创建
  • 合同报价确认
  • 额外折扣申请
  • 额外折扣审批
  • 推送家长签署
  • 家长手写签字
  • 家长合同支付
  • 企业电子公章

上游依赖

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

下游输出

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

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

销售合同中心必须承接的已确认规则

本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。
分类事项本模块落地要求责任方
已确认口径国税官方发票核验接口确认具备官方发票核验接入能力;迪诺学堂按校区维护调用主体、纳税人识别号、官方接口编码/授权凭证、核验额度、接口地址、启用状态和审计留痕。产品/财务/技术
后台配置项校区税务主体配置按校区配置 taxpayerName、taxpayerNo、officialAppCode、authCertificateId、verifyEndpoint、quotaPolicy、enabled、effectiveDate 和负责人。财务管理员/系统管理员
默认实施规则接口设计说明书组织方式采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。产品/研发
默认实施规则接口错误码与重试中间件所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。后端/测试/运维

04 · 业务流程

销售合同中心主流程

流程用于指导原型图的页面顺序、按钮状态和异常分支。
01报价单

课程顾问、销售人员和市场人员在迪诺学堂教师端 App/小程序为本人授权学员创建报价和合同草稿,报价来源必须使用 PC 管理端已启用的课程价格、组合价格和可用优惠。

02优惠引擎

管理人员在 PC Web 管理端维护优惠规则、组合价格、多科联报和叠加互斥策略;员工端只能选择可用优惠并查看冲突原因。

03组合缴费

员工端选择组合课程后调用统一试算器,系统按课程项分摊金额、优惠和权益,不提供订单拆分支付能力。

04多科联报

多科联报优惠由 PC 管理端配置适用课程、校区、有效期和互斥规则,员工端只能在授权范围内选择并生成报价。

05合同模板

管理人员在 PC Web 管理端维护统一电子合同模板、变量、适用校区、启停状态和版本;员工端创建合同时仅可选择已启用模板。

06电子签署

员工端推送合同后,家长在小程序/H5 查看合同并完成手写签字;手写签字完成前支付按钮置灰并展示原因。

07退款转课

退款、转班转课和作废重签需按合同项、课程权益、优惠来源和已支付金额反算,确保合同、教务、财务和监管口径一致。

08优惠试算器

合同报价需提供优惠试算器,支持满减、折扣、赠课、多科联报、组合缴费、老带新等规则叠加、互斥、择优和审批判断。

05 · 功能清单

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

每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。
一级功能二级功能功能说明规则/验收
报价单角色化合同操作报价单按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
报价单业务处理课程顾问、销售人员和市场人员在迪诺学堂教师端 App/小程序为本人授权学员创建报价和合同草稿,报价来源必须使用 PC 管理端已启用的课程价格、组合价格和可用优惠。必须联动状态、权限、消息、审批和指标
报价单异常闭环无授权学员或无可用价格处理失败原因可见、可重试、可转人工、可追溯
优惠引擎角色化合同操作优惠引擎按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
优惠引擎业务处理管理人员在 PC Web 管理端维护优惠规则、组合价格、多科联报和叠加互斥策略;员工端只能选择可用优惠并查看冲突原因。必须联动状态、权限、消息、审批和指标
优惠引擎异常闭环优惠规则不可用处理失败原因可见、可重试、可转人工、可追溯
组合缴费角色化合同操作组合缴费按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
组合缴费业务处理员工端选择组合课程后调用统一试算器,系统按课程项分摊金额、优惠和权益,不提供订单拆分支付能力。必须联动状态、权限、消息、审批和指标
组合缴费异常闭环组合价格失效处理失败原因可见、可重试、可转人工、可追溯
多科联报角色化合同操作多科联报按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
多科联报业务处理多科联报优惠由 PC 管理端配置适用课程、校区、有效期和互斥规则,员工端只能在授权范围内选择并生成报价。必须联动状态、权限、消息、审批和指标
多科联报异常闭环联报优惠不适用处理失败原因可见、可重试、可转人工、可追溯
合同模板角色化合同操作合同模板按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
合同模板业务处理管理人员在 PC Web 管理端维护统一电子合同模板、变量、适用校区、启停状态和版本;员工端创建合同时仅可选择已启用模板。必须联动状态、权限、消息、审批和指标
合同模板异常闭环合同模板停用处理失败原因可见、可重试、可转人工、可追溯
电子签署角色化合同操作电子签署按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
电子签署业务处理员工端推送合同后,家长在小程序/H5 查看合同并完成手写签字;手写签字完成前支付按钮置灰并展示原因。必须联动状态、权限、消息、审批和指标
电子签署异常闭环未手写签字不可支付处理失败原因可见、可重试、可转人工、可追溯
退款转课角色化合同操作退款转课按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
退款转课业务处理退款、转班转课和作废重签需按合同项、课程权益、优惠来源和已支付金额反算,确保合同、教务、财务和监管口径一致。必须联动状态、权限、消息、审批和指标
退款转课异常闭环权益重算失败处理失败原因可见、可重试、可转人工、可追溯
优惠试算器角色化合同操作优惠试算器按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
优惠试算器业务处理合同报价需提供优惠试算器,支持满减、折扣、赠课、多科联报、组合缴费、老带新等规则叠加、互斥、择优和审批判断。必须联动状态、权限、消息、审批和指标
优惠试算器异常闭环权益重算失败处理失败原因可见、可重试、可转人工、可追溯
优惠冲突检测角色化合同操作优惠冲突检测按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
优惠冲突检测业务处理优惠冲突检测需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
优惠冲突检测异常闭环监管重报失败处理失败原因可见、可重试、可转人工、可追溯
优惠分摊角色化合同操作优惠分摊按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
优惠分摊业务处理转班转课需进行权益重算、优惠分摊反算、补差或退差测算,并在家长确认后生效。必须联动状态、权限、消息、审批和指标
优惠分摊异常闭环作废重签权益回滚失败处理失败原因可见、可重试、可转人工、可追溯
组合优惠审批角色化合同操作组合优惠审批按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
组合优惠审批业务处理当组合优惠或额外折扣超过管理端配置阈值时自动触发审批,审批未通过不得推送家长签署。必须联动状态、权限、消息、审批和指标
组合优惠审批异常闭环优惠审批中处理失败原因可见、可重试、可转人工、可追溯
转班转课权益测算角色化合同操作转班转课权益测算按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
转班转课权益测算业务处理转班转课权益测算需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
转班转课权益测算异常闭环额外折扣审批未通过处理失败原因可见、可重试、可转人工、可追溯
补差退差确认角色化合同操作补差退差确认按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
补差退差确认业务处理补差退差确认需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
补差退差确认异常闭环未手写签字不可支付处理失败原因可见、可重试、可转人工、可追溯
合同补充协议角色化合同操作合同补充协议按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
合同补充协议业务处理合同权益、课程、金额或主体发生变更时,PC 管理端或授权流程生成补充协议并推送家长重新签署。必须联动状态、权限、消息、审批和指标
合同补充协议异常闭环补充协议签署失败处理失败原因可见、可重试、可转人工、可追溯
合同变更角色化合同操作合同变更按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
合同变更业务处理合同变更需联动权益重算、补差退差、监管重报和财务凭证调整,并保留原合同与新合同追溯关系。必须联动状态、权限、消息、审批和指标
合同变更异常闭环合同状态不允许变更处理失败原因可见、可重试、可转人工、可追溯
作废重签角色化合同操作作废重签按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
作废重签业务处理合同作废重签必须走审批和审计,作废后不得继续收款或课消,新合同重新执行签字、支付和盖章链路。必须联动状态、权限、消息、审批和指标
作废重签异常闭环作废审批未通过处理失败原因可见、可重试、可转人工、可追溯
课程价格管理角色化合同操作课程价格管理按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
课程价格管理业务处理课程价格管理需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
课程价格管理异常闭环支付成功但企业盖章失败处理失败原因可见、可重试、可转人工、可追溯
组合价格管理角色化合同操作组合价格管理按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
组合价格管理业务处理组合价格管理需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
组合价格管理异常闭环优惠互斥冲突处理失败原因可见、可重试、可转人工、可追溯
可用优惠规则角色化合同操作可用优惠规则按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
可用优惠规则业务处理可用优惠规则需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
可用优惠规则异常闭环收款不一致处理失败原因可见、可重试、可转人工、可追溯
员工端合同创建角色化合同操作员工端合同创建按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
员工端合同创建业务处理员工端合同创建需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
员工端合同创建异常闭环合同备案失败处理失败原因可见、可重试、可转人工、可追溯
合同报价确认角色化合同操作合同报价确认按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
合同报价确认业务处理合同报价确认需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
合同报价确认异常闭环优惠规则冲突处理失败原因可见、可重试、可转人工、可追溯
额外折扣申请角色化合同操作额外折扣申请按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
额外折扣申请业务处理员工端可基于报价发起额外折扣申请,填写折扣金额、原因和附件;管理员在 PC Web 管理端审批,通过后折扣才进入最终合同金额。必须联动状态、权限、消息、审批和指标
额外折扣申请异常闭环额外折扣审批未通过处理失败原因可见、可重试、可转人工、可追溯
额外折扣审批角色化合同操作额外折扣审批按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
额外折扣审批业务处理额外折扣审批需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
额外折扣审批异常闭环补差未支付处理失败原因可见、可重试、可转人工、可追溯
推送家长签署角色化合同操作推送家长签署按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
推送家长签署业务处理销售人员、市场人员和课程顾问通过迪诺学堂教师端 App/小程序为本人授权学员创建合同草稿、选择可用优惠、申请额外折扣并推送家长签署。必须联动状态、权限、消息、审批和指标
推送家长签署异常闭环退差待审核处理失败原因可见、可重试、可转人工、可追溯
家长手写签字角色化合同操作家长手写签字按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
家长手写签字业务处理家长手写签字需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
家长手写签字异常闭环权益重算失败处理失败原因可见、可重试、可转人工、可追溯
家长合同支付角色化合同操作家长合同支付按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
家长合同支付业务处理家长合同支付需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
家长合同支付异常闭环监管重报失败处理失败原因可见、可重试、可转人工、可追溯
企业电子公章角色化合同操作企业电子公章按角色拆分为 PC Web 管理端、迪诺学堂教师端 App/小程序和家长端小程序/H5:管理人员维护价格、优惠、模板和审批;销售/市场/课程顾问在员工端创建合同并推送家长;家长完成手写签字和支付。必须校验角色终端、本人授权学员、可用价格与优惠、额外折扣审批、手写签字前置、支付后企业电子公章和全链路审计
企业电子公章业务处理家长端必须先完成手写签字,系统才开放支付;支付成功后合同自动触发企业电子公章并完成归档。必须联动状态、权限、消息、审批和指标
企业电子公章异常闭环作废重签权益回滚失败处理失败原因可见、可重试、可转人工、可追溯

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

功能域承接对象核心表代表接口状态机/状态字段研发落地校验
报价单ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/01contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
优惠引擎ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/02contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
组合缴费DiscountRulecon_discount_rule接口资源组 /api/v1/con/features/03rule_type、approval_status、biz_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
多科联报ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/04contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
合同模板ContractTemplatecon_contract_templatePOST/GET /api/v1/contracts/templatescontract_type、review_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
电子签署ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/06contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
退款转课ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/07contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
优惠试算器ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/08contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
优惠冲突检测ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/09contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
优惠分摊ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/10contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
组合优惠审批ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/11contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
转班转课权益测算ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/12contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
补差退差确认ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/13contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
合同补充协议ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/14contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
合同变更ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/15contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
作废重签ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/16contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
课程价格管理CoursePricePolicycon_price_policyPOST/GET /api/v1/contracts/price-policiesprice_type、approval_status、biz_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
组合价格管理CoursePricePolicycon_price_policyPOST/GET /api/v1/contracts/price-policiesprice_type、approval_status、biz_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
可用优惠规则ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/19contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
员工端合同创建ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/20contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
合同报价确认ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/21contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
额外折扣申请ExtraDiscountApplycon_extra_discount_apply接口资源组 /api/v1/con/features/22approval_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
额外折扣审批ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/23contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
推送家长签署ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/24contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
家长手写签字GuardianHandSignaturecon_guardian_hand_signaturePOST /api/v1/contracts/{id}/guardian-hand-signsignature_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
家长合同支付ContractTemplate、CoursePricePolicy、DiscountRule、DiscountSimulationcon_contract_template、con_price_policy、con_discount_rule、con_discount_simulation接口资源组 /api/v1/con/features/26contract_type、review_status、price_type、approval_status、biz_status、rule_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
企业电子公章EnterpriseSealTaskcon_enterprise_seal_taskPOST /api/v1/contracts/{id}/enterprise-sealseal_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计

06 · 原子级功能需求

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

需求编号可直接进入项目管理工具。
编号需求描述入口页面关键动作输入校验输出结果异常处理验收标准
FR-CON-001总部维护多个统一电子合同模板,按课程、校区、合同类型选择课程价格管理PC 配置价格校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠互斥冲突主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-002支持折扣、减免、优惠券、赠课、满减、老带新、多科联报优惠和审批阈值优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-003优惠引擎支持叠加、互斥、优先级、适用校区、适用课程、有效期和规则版本优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-004组合缴费支持同一学员多课程、多合同、多科目应收合并收款,并按课程、合同和校区分摊金额优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-005多科联报支持跨科目课程包、主课加拓科、课程加教材、礼品赠送和赠课规则优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-006电子合同自动带入学员、家长、课程、优惠明细、金额和监管字段优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-007退费、转课、转校联动优惠回算、课时、收入、业绩和提成冲回转班转课测算权益重算、补差退差或课表调整校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务班级容量不足、补差未支付或家长确认超时主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-008合同报价需提供优惠试算器,支持满减、折扣、赠课、多科联报、组合缴费、老带新等规则叠加、互斥、择优和审批判断。优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-009转班转课需进行权益重算、优惠分摊反算、补差或退差测算,并在家长确认后生效。转班转课测算权益重算、补差退差或课表调整校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务班级容量不足、补差未支付或家长确认超时主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-010优惠撤销、退款和转课时必须按合同项、课时、课程科目和优惠来源反向分摊,保证财务和监管口径一致。转班转课测算权益重算、补差退差或课表调整校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务班级容量不足、补差未支付或家长确认超时主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-011已签署合同发生课程、金额、课时、优惠、学员或监护人信息变化时,需支持补充协议、合同变更、作废重签和原合同关联。优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-012补充协议需判断是否重新电子签署、监管备案、发票调整、权益重算、业绩提成调整和财务凭证生成。电子工资条/薪资核算薪资核算、工资条发布或员工确认校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务工资条未发布、显示配置缺失或员工异议超期主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-013合同价格、组合价格、可用优惠和审批阈值由管理人员在 PC Web 管理端维护,销售人员、市场人员和课程顾问不使用 PC Web 制定合同。优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-014销售人员、市场人员和课程顾问通过迪诺学堂教师端 App/小程序为本人授权学员创建合同草稿、选择可用优惠、申请额外折扣并推送家长签署。优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-015额外折扣必须由员工端发起申请,管理员在 PC Web 管理端审批通过后才进入最终报价并允许推送家长。PC 价格优惠配置优惠试算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务销售人员误入 PC 合同创建被拦截主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-016家长端必须先完成手写签字,系统才开放支付;支付成功后合同自动触发企业电子公章并完成归档。员工端合同创建申请额外折扣校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务额外折扣未审批不可推送家长主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-017销售人员、市场人员和课程顾问通过迪诺学堂教师端 App/小程序为本人授权学员创建合同草稿、选择可用价格与优惠、申请额外折扣并推送家长签署。优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-CON-018订单仅支持一次性缴费和组合缴费,不提供延后拆分付款方式;组合缴费按课程、合同、校区和优惠来源完成金额分摊。优惠试算器优惠试算、冲突检测或分摊反算校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务优惠规则冲突、需审批或分摊失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试

07 · 关联闭环补充需求

销售合同中心在跨模块闭环中的责任边界

本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。
闭环项本模块责任关键场景页面/功能补充关联对象/接口验收口径
合同补充协议负责补充协议模板、生成、电子签署、归档和原合同关联转班转课、权益调整、优惠补差、退款说明和续费变更补充协议模板、协议生成、签署详情、归档记录、合同关联页Contract/Order/Payment、DiscountSimulation/BenefitAllocation、/api/v1/contracts补充协议生效后必须回写合同权益、订单金额和审计记录
补课改期取消合同权益需响应教务补课和课消调整结果请假补课导致合同剩余课时、有效期或课消状态变化合同权益明细、课消关联记录、权益调整记录Contract/Order/Payment、LeaveRequest/MakeupArrangement补课安排变化不得造成合同课时、金额和课消数据不一致

08 · 页面与原型设计说明

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

原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。
终端页面用户页面目标布局结构关键按钮关键字段异常状态原型备注
PC Web 管理端课程价格管理总部/区域/校区管理人员维护课程标准价、校区价、价格有效期、启停状态和价格审批记录合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-课程价格管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端组合价格管理总部/区域/校区管理人员维护组合课程、多科联报、组合售价、适用校区、有效期和版本记录合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-组合价格管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端可用优惠规则管理总部/区域/校区管理人员配置满减、折扣、赠课、多科联报、老带新、叠加互斥和审批阈值合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-可用优惠规则管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端合同模板管理总部/区域/校区管理人员/法务维护统一电子合同模板、变量、适用范围、版本、启停和审核记录合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-合同模板管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端额外折扣审批销售主管/校区负责人/财务审核员工端提交的额外折扣申请,查看报价、原因、附件、利润影响和审批轨迹合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-额外折扣审批;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端合同异常处理管理人员/财务/法务处理盖章失败、支付异常、监管回执失败、作废重签和补充协议异常合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-合同异常处理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
迪诺学堂教师端 App/小程序合同创建课程顾问/销售人员/市场人员为本人授权学员选择课程、合同模板、可用优惠并生成合同草稿合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-合同创建;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
迪诺学堂教师端 App/小程序合同报价确认课程顾问/销售人员/市场人员查看课程价格、组合价格、优惠明细、冲突提示、应收金额和可推送状态合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-合同报价确认;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
迪诺学堂教师端 App/小程序额外折扣申请课程顾问/销售人员/市场人员填写额外折扣金额、申请原因和附件,提交后台审批并查看结果合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-额外折扣申请;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
迪诺学堂教师端 App/小程序推送家长签署课程顾问/销售人员/市场人员折扣审批通过或无需审批后,将合同推送到家长端并查看家长签署、支付和盖章状态合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-推送家长签署;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
家长端小程序/H5合同查看与手写签字家长查看合同条款、课程权益、优惠明细和应付金额,完成手写签字后进入支付合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-合同查看与手写签字;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
家长端小程序/H5合同支付家长手写签字完成后选择支付方式完成付款,查看支付中、成功、失败和重试提示合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-合同支付;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
家长端小程序/H5已盖章合同查看家长支付成功后查看已加盖企业电子公章的合同文件、下载归档文件和后续服务入口合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-已盖章合同查看;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
家长端小程序/H5签署支付异常页家长展示未签字不可支付、支付失败、盖章处理中、盖章失败和联系客服入口合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-签署支付异常页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5PC 价格优惠配置总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕角色终端与合同创建完善PC 价格优惠配置的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-pc_价格优惠配置;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5员工端合同创建总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕角色终端与合同创建完善员工端合同创建的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-员工端合同创建;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5员工端额外折扣申请总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕角色终端与合同创建完善员工端额外折扣申请的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-员工端额外折扣申请;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5可用优惠规则总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕优惠价格治理完善可用优惠规则的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-可用优惠规则;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5员工端报价确认总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕优惠价格治理完善员工端报价确认的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-员工端报价确认;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5家长合同查看总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕签署支付与企业盖章完善家长合同查看的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-家长合同查看;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5手写签字总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕签署支付与企业盖章完善手写签字的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-手写签字;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5企业电子公章总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕签署支付与企业盖章完善企业电子公章的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-企业电子公章;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5合同归档总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕签署支付与企业盖章完善合同归档的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-合同归档;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5合同详情总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕合同变更完善合同详情的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-合同详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5补充协议总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕合同变更完善补充协议的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-补充协议;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web 管理端/迪诺学堂教师端 App/小程序/家长端小程序/H5转课测算总部/区域/校区管理人员/课程顾问/销售人员/市场人员/家长/财务围绕合同变更完善转课测算的入口、字段、状态、异常提示、处理进度和验收反馈合同页采用左侧学员与课程信息,中部报价/协议/退款主流程,右侧展示优惠分摊、审批流、签署和监管回执。优惠试算、生成报价、发起审批、生成合同、发起签署、收款、监管备案、作废重签学员、课程组合、原合同、优惠规则、应收/应退、补差退差、签署状态、监管状态、学员姓名、合同模板优惠冲突、班级容量不足、补差未支付、签署失败、监管备案失败、权益重算失败需覆盖多科联报、组合缴费、优惠互斥、补充协议、转班转课权益测算、退款冲销和监管回执。 建议 Figma Frame:CON-转课测算;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。

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

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

设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。
原型页面关键接口关联对象状态流审批/权限触发消息/待办触达原型验收要求
课程价格管理POST/GET /api/v1/contracts/price-policiesCoursePricePolicy草稿 -> 待审批 -> 已启用 -> 已停用 -> 已过期 -> 已驳回价格优惠规则发布审批:课程价格、组合价格、可用优惠或叠加互斥规则新增、调价、停用或扩范围额外折扣审批结果 -> 课程顾问/销售人员/市场人员原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
组合价格管理POST/GET /api/v1/contracts/price-policiesCoursePricePolicy草稿 -> 待审批 -> 已启用 -> 已停用 -> 已过期 -> 已驳回价格优惠规则发布审批:课程价格、组合价格、可用优惠或叠加互斥规则新增、调价、停用或扩范围额外折扣审批结果 -> 课程顾问/销售人员/市场人员原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
可用优惠规则管理POST/GET /api/v1/contracts/discount-rulesDiscountRule草稿 -> 待审批 -> 已启用 -> 已停用 -> 已过期 -> 已驳回价格优惠规则发布审批:课程价格、组合价格、可用优惠或叠加互斥规则新增、调价、停用或扩范围额外折扣审批结果 -> 课程顾问/销售人员/市场人员原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
合同模板管理POST/GET /api/v1/contracts/templatesContractTemplate草稿 -> 待审批 -> 已启用 -> 已停用 -> 已过期 -> 已驳回价格优惠规则发布审批:课程价格、组合价格、可用优惠或叠加互斥规则新增、调价、停用或扩范围企业盖章失败待处理 -> 管理人员/财务/法务原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
额外折扣审批POST/GET /api/v1/contracts/extra-discount-appliesExtraDiscountApply员工端草稿 -> 待额外折扣审批 -> 折扣审批驳回 -> 待推送家长 -> 已推送家长 -> 已作废额外折扣审批:员工端合同报价超过可用优惠范围或申请额外折扣额外折扣审批提醒 -> 销售主管/校区负责人/财务原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
合同异常处理POST /api/v1/contracts/{id}/enterprise-sealEnterpriseSealTask未触发 -> 盖章中 -> 已盖章 -> 盖章失败 -> 已归档 -> 人工处理合同异常人工处理审批:支付成功但企业盖章失败、监管回执失败或合同文件归档异常企业盖章失败待处理 -> 管理人员/财务/法务原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
合同创建POST/GET /api/v1/contracts/mobile/draftsContract/Order/Payment员工端草稿 -> 待额外折扣审批 -> 折扣审批驳回 -> 待推送家长 -> 已推送家长 -> 已作废额外折扣审批:员工端合同报价超过可用优惠范围或申请额外折扣合同草稿创建提醒 -> 课程顾问/销售人员/市场人员原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
合同报价确认POST/GET /api/v1/contracts/mobile/draftsContract/Order/Payment员工端草稿 -> 待额外折扣审批 -> 折扣审批驳回 -> 待推送家长 -> 已推送家长 -> 已作废额外折扣审批:员工端合同报价超过可用优惠范围或申请额外折扣合同草稿创建提醒 -> 课程顾问/销售人员/市场人员原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
额外折扣申请POST/GET /api/v1/contracts/mobile/draftsContract/Order/Payment员工端草稿 -> 待额外折扣审批 -> 折扣审批驳回 -> 待推送家长 -> 已推送家长 -> 已作废额外折扣审批:员工端合同报价超过可用优惠范围或申请额外折扣合同草稿创建提醒 -> 课程顾问/销售人员/市场人员原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
推送家长签署POST /api/v1/contracts/{id}/push-to-parentContract/Order/Payment员工端草稿 -> 待额外折扣审批 -> 折扣审批驳回 -> 待推送家长 -> 已推送家长 -> 已作废价格优惠规则发布审批:课程价格、组合价格、可用优惠或叠加互斥规则新增、调价、停用或扩范围合同待手写签字提醒 -> 家长原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
合同查看与手写签字POST /api/v1/contracts/{id}/guardian-hand-signGuardianHandSignature待家长查看 -> 待手写签字 -> 已手写签字 -> 待支付 -> 支付中 -> 支付成功 -> 支付失败 -> 已关闭额外折扣审批:员工端合同报价超过可用优惠范围或申请额外折扣合同支付提醒 -> 家长原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
合同支付POST /api/v1/contracts/{id}/paymentContract/Order/Payment待家长查看 -> 待手写签字 -> 已手写签字 -> 待支付 -> 支付中 -> 支付成功 -> 支付失败 -> 已关闭合同作废重签审批:合同已推送、已签字、已支付或已盖章后需要作废重签企业盖章完成通知 -> 家长/课程顾问/销售人员/市场人员原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口

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

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

本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。
能力域功能补充要求原型交付要求UI 交互要求研发实现要求测试验收要求
角色终端与合同创建明确管理人员在 PC Web 维护课程价格、组合价格、可用优惠和审批规则;销售/市场/课程顾问通过迪诺学堂教师端 App/小程序创建合同、申请额外折扣并推送家长签署。PC 价格优惠配置、员工端合同创建、员工端额外折扣申请、推送家长签署 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;PC Web 无一线销售制单入口,员工端只能操作本人授权学员和授权优惠。
优惠价格治理补齐价格规则、组合价格、优惠试算器、规则冲突提示、额外折扣审批、合同项分摊和退款反算;额外折扣须审批通过后才进入最终报价。课程价格管理、组合价格管理、可用优惠规则、额外折扣审批、员工端报价确认 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;合同、订单、支付、优惠分摊和退款测算金额一致。
签署支付与企业盖章家长端必须先完成合同手写签字,系统才开放支付;支付成功后自动触发企业电子公章并归档合同文件。家长合同查看、手写签字、合同支付、企业电子公章、合同归档 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;未手写签字不可支付;支付成功后企业电子公章、合同归档和状态回写自动完成。
合同变更补充合同变更类型、补充协议签署、权益重算、收退差、监管重报和财务凭证调整。合同详情、补充协议、转课测算、退款审批 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;合同变更后课表、课消、应收、监管备案和凭证同步更新。
监管支付增加监管回执失败重试、人工处理、回执归档和状态提示。监管报送日志、合同详情、付款单 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;每笔监管相关资金动作均有报送状态、回执和失败处理入口。

11 · 数据对象与字段字典

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

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

核心对象

对象说明
ContractTemplate统一电子合同模板;落地表:con_contract_template
CoursePricePolicy课程价格、组合价格和校区价格策略;落地表:con_price_policy
DiscountRule优惠、组合缴费和联报规则;落地表:con_discount_rule
DiscountSimulation优惠试算与权益拆分;落地表:con_discount_simulation
ExtraDiscountApply员工端额外折扣申请;落地表:con_extra_discount_apply
Contract合同主表;落地表:con_contract
GuardianHandSignature家长手写签字记录;落地表:con_guardian_hand_signature
EnterpriseSealTask企业电子公章盖章任务;落地表:con_enterprise_seal_task
Order订单和应收;落地表:ord_order
Payment收款单;落地表:ord_payment
SupervisionAccount合同、收款、课消、退费监管报送;落地表:con_supervision_report
Refund退款单;落地表:ord_refund
ClassCourseTransfer转班转课权益变更;落地表:con_class_course_transfer

关联引用对象

对象说明
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
CustomerFamily客户家庭档案;引用来源:CRM / crm_customer_family
Guardian监护人/家长资料;引用来源:CRM / crm_guardian
Student学员基础档案;引用来源:CRM / stu_student
Course/Product课程产品;引用来源:EDU / edu_course
Class班级;引用来源:EDU / edu_class
Consumption课消记录;引用来源:EDU / edu_consumption
LegalEntity法人主体、税务主体和收款主体;引用来源:FND / sys_legal_entity
FinanceVoucher会计凭证;引用来源:FIN / fin_voucher

完整字段字典

对象字段类型必填规则数据级别
ContractTemplateidBIGINT主键,雪花或号段生成,禁止复用普通
ContractTemplatetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ContractTemplateorg_idBIGINT所属组织,集团级或公共配置为空普通
ContractTemplatecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ContractTemplatecreated_byBIGINT创建人账号 ID普通
ContractTemplatecreated_atDATETIME创建时间普通
ContractTemplateupdated_byBIGINT最后更新人账号 ID普通
ContractTemplateupdated_atDATETIME最后更新时间普通
ContractTemplateis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ContractTemplatedeleted_atDATETIME删除时间,未删除为空普通
ContractTemplatedeleted_byBIGINT删除人账号 ID,未删除为空普通
ContractTemplateversionINT乐观锁版本号,写操作必须校验普通
ContractTemplatetemplate_codeVARCHAR(64)模板编码,唯一普通
ContractTemplatetemplate_nameVARCHAR(128)模板名称普通
ContractTemplatecontract_typeVARCHAR(32)课程/续费/转课/补充协议普通
ContractTemplatetemplate_bodyLONGTEXT合同正文模板普通
ContractTemplatevariable_schemaJSON变量定义普通
ContractTemplateversion_noINT模板版本普通
ContractTemplatereview_statusVARCHAR(32)草稿/审核中/已通过/已停用普通
CoursePricePolicyidBIGINT主键,雪花或号段生成,禁止复用普通
CoursePricePolicytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
CoursePricePolicyorg_idBIGINT所属组织,集团级或公共配置为空普通
CoursePricePolicycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
CoursePricePolicycreated_byBIGINT创建人账号 ID普通
CoursePricePolicycreated_atDATETIME创建时间普通
CoursePricePolicyupdated_byBIGINT最后更新人账号 ID普通
CoursePricePolicyupdated_atDATETIME最后更新时间普通
CoursePricePolicyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
CoursePricePolicydeleted_atDATETIME删除时间,未删除为空普通
CoursePricePolicydeleted_byBIGINT删除人账号 ID,未删除为空普通
CoursePricePolicyversionINT乐观锁版本号,写操作必须校验普通
CoursePricePolicypolicy_codeVARCHAR(64)价格策略编码,唯一普通
CoursePricePolicypolicy_nameVARCHAR(128)价格策略名称普通
CoursePricePolicycourse_idBIGINT适用课程 ID,组合价格可为空普通
CoursePricePolicycourse_combo_jsonJSON组合课程、多科联报或课包价格明细普通
CoursePricePolicyprice_typeVARCHAR(32)标准价/校区价/组合价/多科联报价普通
CoursePricePolicyprice_amountDECIMAL(18,2)价格金额普通
CoursePricePolicycampus_scopeJSON适用校区范围普通
CoursePricePolicyeffective_start_atDATETIME生效开始时间普通
CoursePricePolicyeffective_end_atDATETIME生效结束时间普通
CoursePricePolicyapproval_statusVARCHAR(32)审批状态,未发起为空普通
CoursePricePolicyapproval_instance_idBIGINT关联审批实例 ID普通
CoursePricePolicybiz_statusVARCHAR(32)业务状态,取值来自状态机字典普通
CoursePricePolicyremarkVARCHAR(512)业务备注,敏感内容按权限脱敏普通
DiscountRuleidBIGINT主键,雪花或号段生成,禁止复用普通
DiscountRuletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
DiscountRuleorg_idBIGINT所属组织,集团级或公共配置为空普通
DiscountRulecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
DiscountRulecreated_byBIGINT创建人账号 ID普通
DiscountRulecreated_atDATETIME创建时间普通
DiscountRuleupdated_byBIGINT最后更新人账号 ID普通
DiscountRuleupdated_atDATETIME最后更新时间普通
DiscountRuleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
DiscountRuledeleted_atDATETIME删除时间,未删除为空普通
DiscountRuledeleted_byBIGINT删除人账号 ID,未删除为空普通
DiscountRuleversionINT乐观锁版本号,写操作必须校验普通
DiscountRulerule_codeVARCHAR(64)优惠规则编码,唯一普通
DiscountRulerule_nameVARCHAR(128)优惠规则名称普通
DiscountRulerule_typeVARCHAR(32)满减/折扣/赠课/多科联报/组合缴费普通
DiscountRulecourse_scopeJSON适用课程/班型/课包范围普通
DiscountRulecampus_scopeJSON适用校区范围普通
DiscountRulestack_policyVARCHAR(32)可叠加/互斥/需审批普通
DiscountRulediscount_valueDECIMAL(18,2)优惠值,金额、折扣或赠课按 rule_type 解释普通
DiscountRuleapproval_thresholdDECIMAL(18,2)超过阈值触发审批普通
DiscountRuleeffective_start_atDATETIME生效开始时间普通
DiscountRuleeffective_end_atDATETIME生效结束时间普通
DiscountRuleapproval_statusVARCHAR(32)审批状态,未发起为空普通
DiscountRuleapproval_instance_idBIGINT关联审批实例 ID普通
DiscountRulebiz_statusVARCHAR(32)业务状态,取值来自状态机字典普通
DiscountRuleremarkVARCHAR(512)业务备注,敏感内容按权限脱敏普通
DiscountSimulationidBIGINT主键,雪花或号段生成,禁止复用普通
DiscountSimulationtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
DiscountSimulationorg_idBIGINT所属组织,集团级或公共配置为空普通
DiscountSimulationcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
DiscountSimulationcreated_byBIGINT创建人账号 ID普通
DiscountSimulationcreated_atDATETIME创建时间普通
DiscountSimulationupdated_byBIGINT最后更新人账号 ID普通
DiscountSimulationupdated_atDATETIME最后更新时间普通
DiscountSimulationis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
DiscountSimulationdeleted_atDATETIME删除时间,未删除为空普通
DiscountSimulationdeleted_byBIGINT删除人账号 ID,未删除为空普通
DiscountSimulationversionINT乐观锁版本号,写操作必须校验普通
DiscountSimulationsimulation_noVARCHAR(64)试算编号,唯一普通
DiscountSimulationstudent_idBIGINT学员 ID普通
DiscountSimulationemployee_idBIGINT发起报价的员工 ID普通
DiscountSimulationprice_policy_idsJSON引用的价格策略 ID 列表普通
DiscountSimulationcourse_combo_jsonJSON组合购买课程明细普通
DiscountSimulationdiscount_detail_jsonJSON优惠计算明细普通
DiscountSimulationbenefit_allocation_jsonJSON权益和金额分摊结果普通
DiscountSimulationextra_discount_apply_idBIGINT关联额外折扣申请 ID普通
DiscountSimulationpayable_amountDECIMAL(18,2)最终应付金额普通
DiscountSimulationsimulation_statusVARCHAR(32)有效/失效/已转订单普通
ExtraDiscountApplyidBIGINT主键,雪花或号段生成,禁止复用普通
ExtraDiscountApplytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ExtraDiscountApplyorg_idBIGINT所属组织,集团级或公共配置为空普通
ExtraDiscountApplycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ExtraDiscountApplycreated_byBIGINT创建人账号 ID普通
ExtraDiscountApplycreated_atDATETIME创建时间普通
ExtraDiscountApplyupdated_byBIGINT最后更新人账号 ID普通
ExtraDiscountApplyupdated_atDATETIME最后更新时间普通
ExtraDiscountApplyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ExtraDiscountApplydeleted_atDATETIME删除时间,未删除为空普通
ExtraDiscountApplydeleted_byBIGINT删除人账号 ID,未删除为空普通
ExtraDiscountApplyversionINT乐观锁版本号,写操作必须校验普通
ExtraDiscountApplyapply_noVARCHAR(64)额外折扣申请编号,唯一普通
ExtraDiscountApplycontract_draft_idBIGINT关联合同草稿 ID普通
ExtraDiscountApplystudent_idBIGINT学员 ID普通
ExtraDiscountApplyemployee_idBIGINT申请员工 ID普通
ExtraDiscountApplyapply_amountDECIMAL(18,2)申请额外折扣金额普通
ExtraDiscountApplyapply_reasonVARCHAR(512)申请原因普通
ExtraDiscountApplyprofit_impact_jsonJSON利润影响、课程项分摊和审批参考数据普通
ExtraDiscountApplyeffective_discount_amountDECIMAL(18,2)审批通过后实际生效折扣普通
ExtraDiscountApplyfile_idsJSON附件文件 ID 列表,文件中心统一管理普通
ExtraDiscountApplyevidence_snapshotJSON关键凭据快照,提交后不可直接覆盖普通
ExtraDiscountApplyapproval_statusVARCHAR(32)审批状态,未发起为空普通
ExtraDiscountApplyapproval_instance_idBIGINT关联审批实例 ID普通
ContractidBIGINT主键,雪花或号段生成,禁止复用普通
Contracttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
Contractorg_idBIGINT所属组织,集团级或公共配置为空普通
Contractcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
Contractcreated_byBIGINT创建人账号 ID普通
Contractcreated_atDATETIME创建时间普通
Contractupdated_byBIGINT最后更新人账号 ID普通
Contractupdated_atDATETIME最后更新时间普通
Contractis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
Contractdeleted_atDATETIME删除时间,未删除为空普通
Contractdeleted_byBIGINT删除人账号 ID,未删除为空普通
ContractversionINT乐观锁版本号,写操作必须校验普通
Contractcontract_noVARCHAR(64)合同编号,唯一普通
Contractstudent_idBIGINT学员 ID普通
Contractfamily_idBIGINT客户家庭 ID普通
Contracttemplate_idBIGINT合同模板 ID普通
Contractemployee_idBIGINT创建合同的销售/市场/课程顾问员工 ID普通
Contractsource_terminalVARCHAR(32)来源终端,教师端 App/小程序或 PC 管理端普通
Contractsimulation_idBIGINT关联优惠试算 ID普通
Contractextra_discount_apply_idBIGINT关联额外折扣申请 ID普通
Contracthand_sign_statusVARCHAR(32)待手写签字/已手写签字/签字作废普通
Contractsign_statusVARCHAR(32)待家长签署/已手写签字/已作废普通
Contractpayment_statusVARCHAR(32)待支付/支付中/支付成功/支付失败/已关闭普通
Contractenterprise_seal_statusVARCHAR(32)未触发/盖章中/已盖章/盖章失败/已归档普通
Contractcontract_statusVARCHAR(32)草稿/生效/履约中/已终止/已退费普通
Contractsupervision_statusVARCHAR(32)监管报送状态普通
ContractcurrencyVARCHAR(8)币种,默认 CNY普通
ContractamountDECIMAL(18,2)含税金额,必须大于等于 0普通
Contracttax_amountDECIMAL(18,2)税额,按发票或税率计算普通
Contractapproval_statusVARCHAR(32)审批状态,未发起为空普通
Contractapproval_instance_idBIGINT关联审批实例 ID普通
GuardianHandSignatureidBIGINT主键,雪花或号段生成,禁止复用普通
GuardianHandSignaturetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
GuardianHandSignatureorg_idBIGINT所属组织,集团级或公共配置为空普通
GuardianHandSignaturecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
GuardianHandSignaturecreated_byBIGINT创建人账号 ID普通
GuardianHandSignaturecreated_atDATETIME创建时间普通
GuardianHandSignatureupdated_byBIGINT最后更新人账号 ID普通
GuardianHandSignatureupdated_atDATETIME最后更新时间普通
GuardianHandSignatureis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
GuardianHandSignaturedeleted_atDATETIME删除时间,未删除为空普通
GuardianHandSignaturedeleted_byBIGINT删除人账号 ID,未删除为空普通
GuardianHandSignatureversionINT乐观锁版本号,写操作必须校验普通
GuardianHandSignaturesignature_noVARCHAR(64)手写签字记录编号,唯一普通
GuardianHandSignaturecontract_idBIGINT合同 ID普通
GuardianHandSignatureguardian_idBIGINT签字家长 ID普通
GuardianHandSignaturesignature_file_idBIGINT手写签字图片文件 ID普通
GuardianHandSignaturesign_trace_jsonJSON签字轨迹、设备、IP 和时间戳普通
GuardianHandSignaturesigned_atDATETIME手写签字完成时间普通
GuardianHandSignaturesignature_statusVARCHAR(32)有效/作废/重签普通
EnterpriseSealTaskidBIGINT主键,雪花或号段生成,禁止复用普通
EnterpriseSealTasktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
EnterpriseSealTaskorg_idBIGINT所属组织,集团级或公共配置为空普通
EnterpriseSealTaskcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
EnterpriseSealTaskcreated_byBIGINT创建人账号 ID普通
EnterpriseSealTaskcreated_atDATETIME创建时间普通
EnterpriseSealTaskupdated_byBIGINT最后更新人账号 ID普通
EnterpriseSealTaskupdated_atDATETIME最后更新时间普通
EnterpriseSealTaskis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
EnterpriseSealTaskdeleted_atDATETIME删除时间,未删除为空普通
EnterpriseSealTaskdeleted_byBIGINT删除人账号 ID,未删除为空普通
EnterpriseSealTaskversionINT乐观锁版本号,写操作必须校验普通
EnterpriseSealTaskseal_task_noVARCHAR(64)盖章任务编号,唯一普通
EnterpriseSealTaskcontract_idBIGINT合同 ID普通
EnterpriseSealTaskpayment_idBIGINT触发盖章的支付 ID普通
EnterpriseSealTasklegal_entity_idBIGINT企业电子公章所属法人主体 ID普通
EnterpriseSealTaskseal_rule_codeVARCHAR(64)盖章规则编码普通
EnterpriseSealTasksealed_file_idBIGINT已盖章合同文件 ID普通
EnterpriseSealTaskseal_statusVARCHAR(32)未触发/盖章中/已盖章/失败/已归档普通
EnterpriseSealTaskfailure_reasonVARCHAR(512)盖章失败原因普通
EnterpriseSealTaskretry_countINT重试次数普通
EnterpriseSealTasksealed_atDATETIME盖章完成时间普通
OrderidBIGINT主键,雪花或号段生成,禁止复用普通
Ordertenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
Orderorg_idBIGINT所属组织,集团级或公共配置为空普通
Ordercampus_idBIGINT所属校区,跨校区或总部级数据为空普通
Ordercreated_byBIGINT创建人账号 ID普通
Ordercreated_atDATETIME创建时间普通
Orderupdated_byBIGINT最后更新人账号 ID普通
Orderupdated_atDATETIME最后更新时间普通
Orderis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
Orderdeleted_atDATETIME删除时间,未删除为空普通
Orderdeleted_byBIGINT删除人账号 ID,未删除为空普通
OrderversionINT乐观锁版本号,写操作必须校验普通
Orderorder_noVARCHAR(64)订单编号,唯一普通
Ordercontract_idBIGINT合同 ID普通
Orderstudent_idBIGINT学员 ID普通
Orderreceivable_amountDECIMAL(18,2)应收金额普通
Orderdiscount_amountDECIMAL(18,2)优惠金额普通
Orderpaid_amountDECIMAL(18,2)已收金额普通
Orderorder_statusVARCHAR(32)待支付/支付中/已支付/已关闭普通
PaymentidBIGINT主键,雪花或号段生成,禁止复用普通
Paymenttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
Paymentorg_idBIGINT所属组织,集团级或公共配置为空普通
Paymentcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
Paymentcreated_byBIGINT创建人账号 ID普通
Paymentcreated_atDATETIME创建时间普通
Paymentupdated_byBIGINT最后更新人账号 ID普通
Paymentupdated_atDATETIME最后更新时间普通
Paymentis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
Paymentdeleted_atDATETIME删除时间,未删除为空普通
Paymentdeleted_byBIGINT删除人账号 ID,未删除为空普通
PaymentversionINT乐观锁版本号,写操作必须校验普通
Paymentpayment_noVARCHAR(64)收款单号,唯一普通
Paymentorder_idBIGINT订单 ID普通
Paymentpay_channelVARCHAR(32)微信/支付宝/银行卡/现金/监管账户普通
Paymentpaid_amountDECIMAL(18,2)实收金额普通
Paymentpaid_atDATETIME支付完成时间普通
Paymentchannel_trade_noVARCHAR(128)渠道流水号普通
Paymentsupervision_account_idBIGINT资金监管账户 ID普通
Paymentreceipt_statusVARCHAR(32)待确认/已确认/异常普通
SupervisionAccountidBIGINT主键,雪花或号段生成,禁止复用普通
SupervisionAccounttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
SupervisionAccountorg_idBIGINT所属组织,集团级或公共配置为空普通
SupervisionAccountcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
SupervisionAccountcreated_byBIGINT创建人账号 ID普通
SupervisionAccountcreated_atDATETIME创建时间普通
SupervisionAccountupdated_byBIGINT最后更新人账号 ID普通
SupervisionAccountupdated_atDATETIME最后更新时间普通
SupervisionAccountis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
SupervisionAccountdeleted_atDATETIME删除时间,未删除为空普通
SupervisionAccountdeleted_byBIGINT删除人账号 ID,未删除为空普通
SupervisionAccountversionINT乐观锁版本号,写操作必须校验普通
SupervisionAccountreport_noVARCHAR(64)报送编号,唯一普通
SupervisionAccountbiz_typeVARCHAR(64)合同/收款/课消/退费普通
SupervisionAccountbiz_idBIGINT业务 ID普通
SupervisionAccountplatform_codeVARCHAR(64)监管平台编码普通
SupervisionAccountpayload_jsonJSON报送报文普通
SupervisionAccountreceipt_jsonJSON回执报文普通
SupervisionAccountreport_statusVARCHAR(32)待报送/成功/失败/重试中普通
RefundidBIGINT主键,雪花或号段生成,禁止复用普通
Refundtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
Refundorg_idBIGINT所属组织,集团级或公共配置为空普通
Refundcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
Refundcreated_byBIGINT创建人账号 ID普通
Refundcreated_atDATETIME创建时间普通
Refundupdated_byBIGINT最后更新人账号 ID普通
Refundupdated_atDATETIME最后更新时间普通
Refundis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
Refunddeleted_atDATETIME删除时间,未删除为空普通
Refunddeleted_byBIGINT删除人账号 ID,未删除为空普通
RefundversionINT乐观锁版本号,写操作必须校验普通
Refundrefund_noVARCHAR(64)退款编号,唯一普通
Refundcontract_idBIGINT合同 ID普通
Refundstudent_idBIGINT学员 ID普通
Refundrefund_amountDECIMAL(18,2)退款金额普通
Refundcalculate_detailJSON退款计算明细普通
Refundrefund_statusVARCHAR(32)待审批/待退款/已退款/已驳回/失败普通
Refundapproval_statusVARCHAR(32)审批状态,未发起为空普通
Refundapproval_instance_idBIGINT关联审批实例 ID普通
ClassCourseTransferidBIGINT主键,雪花或号段生成,禁止复用普通
ClassCourseTransfertenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ClassCourseTransferorg_idBIGINT所属组织,集团级或公共配置为空普通
ClassCourseTransfercampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ClassCourseTransfercreated_byBIGINT创建人账号 ID普通
ClassCourseTransfercreated_atDATETIME创建时间普通
ClassCourseTransferupdated_byBIGINT最后更新人账号 ID普通
ClassCourseTransferupdated_atDATETIME最后更新时间普通
ClassCourseTransferis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ClassCourseTransferdeleted_atDATETIME删除时间,未删除为空普通
ClassCourseTransferdeleted_byBIGINT删除人账号 ID,未删除为空普通
ClassCourseTransferversionINT乐观锁版本号,写操作必须校验普通
ClassCourseTransfertransfer_noVARCHAR(64)转班转课编号,唯一普通
ClassCourseTransferstudent_idBIGINT学员 ID普通
ClassCourseTransferfrom_class_idBIGINT原班级 ID普通
ClassCourseTransferto_class_idBIGINT目标班级 ID普通
ClassCourseTransferfrom_course_idBIGINT原课程 ID普通
ClassCourseTransferto_course_idBIGINT目标课程 ID普通
ClassCourseTransferrights_snapshotJSON权益变更快照普通
ClassCourseTransfertransfer_statusVARCHAR(32)待确认/已生效/已取消普通
ClassCourseTransferapproval_statusVARCHAR(32)审批状态,未发起为空普通
ClassCourseTransferapproval_instance_idBIGINT关联审批实例 ID普通

引用对象字段字典

引用表对象字段类型必填规则数据级别
sys_organizationOrganizationidBIGINT主键,雪花或号段生成,禁止复用普通
sys_organizationOrganizationtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_organizationOrganizationorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_organizationOrganizationcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_organizationOrganizationcreated_byBIGINT创建人账号 ID普通
sys_organizationOrganizationcreated_atDATETIME创建时间普通
sys_organizationOrganizationupdated_byBIGINT最后更新人账号 ID普通
sys_organizationOrganizationupdated_atDATETIME最后更新时间普通
sys_organizationOrganizationis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_organizationOrganizationdeleted_atDATETIME删除时间,未删除为空普通
sys_organizationOrganizationdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_organizationOrganizationversionINT乐观锁版本号,写操作必须校验普通
sys_organizationOrganizationorg_codeVARCHAR(64)组织编码,租户内唯一普通
sys_organizationOrganizationorg_nameVARCHAR(128)组织名称普通
sys_organizationOrganizationorg_typeVARCHAR(32)集团/区域/校区/部门/法人主体普通
sys_organizationOrganizationparent_idBIGINT上级组织 ID,根节点为空普通
sys_organizationOrganizationsort_noINT同级排序普通
sys_organizationOrganizationenabledTINYINT是否启用普通
sys_userUser/EmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_userUser/Employeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_userUser/Employeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_userUser/Employeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_userUser/Employeecreated_byBIGINT创建人账号 ID普通
sys_userUser/Employeecreated_atDATETIME创建时间普通
sys_userUser/Employeeupdated_byBIGINT最后更新人账号 ID普通
sys_userUser/Employeeupdated_atDATETIME最后更新时间普通
sys_userUser/Employeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_userUser/Employeedeleted_atDATETIME删除时间,未删除为空普通
sys_userUser/Employeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_userUser/EmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_userUser/Employeeuser_noVARCHAR(64)账号编号,唯一普通
sys_userUser/Employeelogin_nameVARCHAR(64)登录名,唯一普通
sys_userUser/EmployeemobileVARCHAR(32)手机号,敏感脱敏展示敏感
sys_userUser/Employeepassword_hashVARCHAR(255)密码哈希,禁止前端返回高敏
sys_userUser/Employeeuser_typeVARCHAR(32)员工/学员/家长/外部账号普通
sys_userUser/Employeelogin_statusVARCHAR(32)正常/锁定/停用/待激活普通
sys_employeeEmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_employeeEmployeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_employeeEmployeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_employeeEmployeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_employeeEmployeecreated_byBIGINT创建人账号 ID普通
sys_employeeEmployeecreated_atDATETIME创建时间普通
sys_employeeEmployeeupdated_byBIGINT最后更新人账号 ID普通
sys_employeeEmployeeupdated_atDATETIME最后更新时间普通
sys_employeeEmployeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_employeeEmployeedeleted_atDATETIME删除时间,未删除为空普通
sys_employeeEmployeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_employeeEmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_employeeEmployeeemployee_noVARCHAR(64)工号,唯一普通
sys_employeeEmployeeuser_idBIGINT关联账号 ID普通
sys_employeeEmployeeemployee_nameVARCHAR(64)员工姓名普通
sys_employeeEmployeeprimary_campus_idBIGINT主校区 ID普通
sys_employeeEmployeejob_titleVARCHAR(64)岗位名称普通
sys_employeeEmployeehire_statusVARCHAR(32)在职/试用/离职/停用普通
sys_roleRoleidBIGINT主键,雪花或号段生成,禁止复用普通
sys_roleRoletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_roleRoleorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_roleRolecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_roleRolecreated_byBIGINT创建人账号 ID普通
sys_roleRolecreated_atDATETIME创建时间普通
sys_roleRoleupdated_byBIGINT最后更新人账号 ID普通
sys_roleRoleupdated_atDATETIME最后更新时间普通
sys_roleRoleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_roleRoledeleted_atDATETIME删除时间,未删除为空普通
sys_roleRoledeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_roleRoleversionINT乐观锁版本号,写操作必须校验普通
sys_roleRolerole_codeVARCHAR(64)角色编码,唯一普通
sys_roleRolerole_nameVARCHAR(128)角色名称普通
sys_roleRolerole_levelVARCHAR(32)总部/区域/校区/个人普通
sys_roleRoledata_scope_typeVARCHAR(32)数据范围类型普通
sys_roleRoleenabledTINYINT是否启用普通
sys_approval_flowApprovalFlowidBIGINT主键,雪花或号段生成,禁止复用普通
sys_approval_flowApprovalFlowtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_approval_flowApprovalFloworg_idBIGINT所属组织,集团级或公共配置为空普通
sys_approval_flowApprovalFlowcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_approval_flowApprovalFlowcreated_byBIGINT创建人账号 ID普通
sys_approval_flowApprovalFlowcreated_atDATETIME创建时间普通
sys_approval_flowApprovalFlowupdated_byBIGINT最后更新人账号 ID普通
sys_approval_flowApprovalFlowupdated_atDATETIME最后更新时间普通
sys_approval_flowApprovalFlowis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_approval_flowApprovalFlowdeleted_atDATETIME删除时间,未删除为空普通
sys_approval_flowApprovalFlowdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_approval_flowApprovalFlowversionINT乐观锁版本号,写操作必须校验普通
sys_approval_flowApprovalFlowflow_codeVARCHAR(64)审批流编码,唯一普通
sys_approval_flowApprovalFlowbiz_typeVARCHAR(64)业务类型普通
sys_approval_flowApprovalFlowflow_nameVARCHAR(128)审批流名称普通
sys_approval_flowApprovalFlowcondition_jsonJSON触发条件普通
sys_approval_flowApprovalFlownode_jsonJSON节点、审批人和超时规则普通
sys_approval_flowApprovalFlowversion_noINT审批流版本号普通
sys_approval_flowApprovalFlowenabledTINYINT是否启用普通
sys_message_templateMessageTemplateidBIGINT主键,雪花或号段生成,禁止复用普通
sys_message_templateMessageTemplatetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_message_templateMessageTemplateorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_message_templateMessageTemplatecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_message_templateMessageTemplatecreated_byBIGINT创建人账号 ID普通
sys_message_templateMessageTemplatecreated_atDATETIME创建时间普通
sys_message_templateMessageTemplateupdated_byBIGINT最后更新人账号 ID普通
sys_message_templateMessageTemplateupdated_atDATETIME最后更新时间普通
sys_message_templateMessageTemplateis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_message_templateMessageTemplatedeleted_atDATETIME删除时间,未删除为空普通
sys_message_templateMessageTemplatedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_message_templateMessageTemplateversionINT乐观锁版本号,写操作必须校验普通
sys_message_templateMessageTemplatetemplate_codeVARCHAR(64)模板编码,唯一普通
sys_message_templateMessageTemplatetemplate_nameVARCHAR(128)模板名称普通
sys_message_templateMessageTemplatechannelVARCHAR(32)站内信/短信/微信小程序/企微/Push普通
sys_message_templateMessageTemplatereceiver_ruleJSON接收人规则普通
sys_message_templateMessageTemplatecontent_templateTEXT模板内容普通
sys_message_templateMessageTemplateenabledTINYINT是否启用普通
sys_audit_logAuditLogidBIGINT主键,雪花或号段生成,禁止复用普通
sys_audit_logAuditLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_audit_logAuditLogorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_audit_logAuditLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_audit_logAuditLogcreated_byBIGINT创建人账号 ID普通
sys_audit_logAuditLogcreated_atDATETIME创建时间普通
sys_audit_logAuditLogupdated_byBIGINT最后更新人账号 ID普通
sys_audit_logAuditLogupdated_atDATETIME最后更新时间普通
sys_audit_logAuditLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_audit_logAuditLogdeleted_atDATETIME删除时间,未删除为空普通
sys_audit_logAuditLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_audit_logAuditLogversionINT乐观锁版本号,写操作必须校验普通
sys_audit_logAuditLogoperator_idBIGINT操作人 ID普通
sys_audit_logAuditLogbiz_typeVARCHAR(64)业务类型普通
sys_audit_logAuditLogbiz_idBIGINT业务主键 ID普通
sys_audit_logAuditLogaction_codeVARCHAR(64)操作编码普通
sys_audit_logAuditLogbefore_snapshotJSON变更前快照普通
sys_audit_logAuditLogafter_snapshotJSON变更后快照普通
sys_audit_logAuditLogip_addressVARCHAR(64)操作 IP普通
int_integration_logIntegrationLogidBIGINT主键,雪花或号段生成,禁止复用普通
int_integration_logIntegrationLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
int_integration_logIntegrationLogorg_idBIGINT所属组织,集团级或公共配置为空普通
int_integration_logIntegrationLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
int_integration_logIntegrationLogcreated_byBIGINT创建人账号 ID普通
int_integration_logIntegrationLogcreated_atDATETIME创建时间普通
int_integration_logIntegrationLogupdated_byBIGINT最后更新人账号 ID普通
int_integration_logIntegrationLogupdated_atDATETIME最后更新时间普通
int_integration_logIntegrationLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
int_integration_logIntegrationLogdeleted_atDATETIME删除时间,未删除为空普通
int_integration_logIntegrationLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
int_integration_logIntegrationLogversionINT乐观锁版本号,写操作必须校验普通
int_integration_logIntegrationLogrequest_idVARCHAR(128)请求 ID,幂等键普通
int_integration_logIntegrationLogsystem_codeVARCHAR(64)外部系统编码普通
int_integration_logIntegrationLogapi_pathVARCHAR(512)接口路径普通
int_integration_logIntegrationLogbiz_typeVARCHAR(64)业务类型普通
int_integration_logIntegrationLogbiz_idBIGINT业务 ID普通
int_integration_logIntegrationLogrequest_payloadJSON请求报文,敏感字段脱敏敏感
int_integration_logIntegrationLogresponse_payloadJSON响应报文普通
int_integration_logIntegrationLogcall_statusVARCHAR(32)成功/失败/超时/重试中普通
sec_sensitive_field_policySensitiveFieldPolicyidBIGINT主键,雪花或号段生成,禁止复用普通
sec_sensitive_field_policySensitiveFieldPolicytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sec_sensitive_field_policySensitiveFieldPolicyorg_idBIGINT所属组织,集团级或公共配置为空普通
sec_sensitive_field_policySensitiveFieldPolicycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sec_sensitive_field_policySensitiveFieldPolicycreated_byBIGINT创建人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicycreated_atDATETIME创建时间普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_byBIGINT最后更新人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_atDATETIME最后更新时间普通
sec_sensitive_field_policySensitiveFieldPolicyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_atDATETIME删除时间,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_byBIGINT删除人账号 ID,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicyversionINT乐观锁版本号,写操作必须校验普通
sec_sensitive_field_policySensitiveFieldPolicyfield_codeVARCHAR(128)字段编码,唯一普通
sec_sensitive_field_policySensitiveFieldPolicybiz_typeVARCHAR(64)业务类型普通
sec_sensitive_field_policySensitiveFieldPolicymask_ruleVARCHAR(64)脱敏规则普通
sec_sensitive_field_policySensitiveFieldPolicyview_requires_approvalTINYINT明文查看是否需审批普通
sec_sensitive_field_policySensitiveFieldPolicywatermark_requiredTINYINT是否加水印普通
crm_customer_familyCustomerFamilyidBIGINT主键,雪花或号段生成,禁止复用普通
crm_customer_familyCustomerFamilytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
crm_customer_familyCustomerFamilyorg_idBIGINT所属组织,集团级或公共配置为空普通
crm_customer_familyCustomerFamilycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
crm_customer_familyCustomerFamilycreated_byBIGINT创建人账号 ID普通
crm_customer_familyCustomerFamilycreated_atDATETIME创建时间普通
crm_customer_familyCustomerFamilyupdated_byBIGINT最后更新人账号 ID普通
crm_customer_familyCustomerFamilyupdated_atDATETIME最后更新时间普通
crm_customer_familyCustomerFamilyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
crm_customer_familyCustomerFamilydeleted_atDATETIME删除时间,未删除为空普通
crm_customer_familyCustomerFamilydeleted_byBIGINT删除人账号 ID,未删除为空普通
crm_customer_familyCustomerFamilyversionINT乐观锁版本号,写操作必须校验普通
crm_customer_familyCustomerFamilyfamily_noVARCHAR(64)家庭编号,唯一普通
crm_customer_familyCustomerFamilyprimary_guardian_idBIGINT主监护人 ID普通
crm_customer_familyCustomerFamilystudent_idBIGINT主学员 ID普通
crm_customer_familyCustomerFamilyowner_idBIGINT客户归属人普通
crm_customer_familyCustomerFamilyrisk_levelVARCHAR(32)风险等级普通
crm_customer_familyCustomerFamilylast_follow_atDATETIME最近跟进时间普通
crm_customer_familyCustomerFamilybiz_statusVARCHAR(32)业务状态,取值来自状态机字典普通
crm_customer_familyCustomerFamilyremarkVARCHAR(512)业务备注,敏感内容按权限脱敏普通
crm_guardianGuardianidBIGINT主键,雪花或号段生成,禁止复用普通
crm_guardianGuardiantenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
crm_guardianGuardianorg_idBIGINT所属组织,集团级或公共配置为空普通
crm_guardianGuardiancampus_idBIGINT所属校区,跨校区或总部级数据为空普通
crm_guardianGuardiancreated_byBIGINT创建人账号 ID普通
crm_guardianGuardiancreated_atDATETIME创建时间普通
crm_guardianGuardianupdated_byBIGINT最后更新人账号 ID普通
crm_guardianGuardianupdated_atDATETIME最后更新时间普通
crm_guardianGuardianis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
crm_guardianGuardiandeleted_atDATETIME删除时间,未删除为空普通
crm_guardianGuardiandeleted_byBIGINT删除人账号 ID,未删除为空普通
crm_guardianGuardianversionINT乐观锁版本号,写操作必须校验普通
crm_guardianGuardianfamily_idBIGINT家庭 ID普通
crm_guardianGuardianguardian_nameVARCHAR(64)监护人姓名普通
crm_guardianGuardianmobileVARCHAR(32)手机号,敏感敏感
crm_guardianGuardianrelationshipVARCHAR(32)与学员关系普通
crm_guardianGuardianwechat_openidVARCHAR(128)微信 OpenID,敏感敏感
crm_guardianGuardianverify_statusVARCHAR(32)未验证/已验证/已解绑普通
stu_studentStudentidBIGINT主键,雪花或号段生成,禁止复用普通
stu_studentStudenttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
stu_studentStudentorg_idBIGINT所属组织,集团级或公共配置为空普通
stu_studentStudentcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
stu_studentStudentcreated_byBIGINT创建人账号 ID普通
stu_studentStudentcreated_atDATETIME创建时间普通
stu_studentStudentupdated_byBIGINT最后更新人账号 ID普通
stu_studentStudentupdated_atDATETIME最后更新时间普通
stu_studentStudentis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
stu_studentStudentdeleted_atDATETIME删除时间,未删除为空普通
stu_studentStudentdeleted_byBIGINT删除人账号 ID,未删除为空普通
stu_studentStudentversionINT乐观锁版本号,写操作必须校验普通
stu_studentStudentstudent_noVARCHAR(64)学员编号,唯一普通
stu_studentStudentfamily_idBIGINT家庭 ID普通
stu_studentStudentstudent_nameVARCHAR(64)学员姓名普通
stu_studentStudentgenderVARCHAR(16)性别普通
stu_studentStudentbirthdayDATE出生日期普通
stu_studentStudentgradeVARCHAR(32)年级普通
stu_studentStudentschool_nameVARCHAR(128)学校名称普通
stu_studentStudentbiz_statusVARCHAR(32)业务状态,取值来自状态机字典普通
stu_studentStudentremarkVARCHAR(512)业务备注,敏感内容按权限脱敏普通
edu_courseCourse/ProductidBIGINT主键,雪花或号段生成,禁止复用普通
edu_courseCourse/Producttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
edu_courseCourse/Productorg_idBIGINT所属组织,集团级或公共配置为空普通
edu_courseCourse/Productcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
edu_courseCourse/Productcreated_byBIGINT创建人账号 ID普通
edu_courseCourse/Productcreated_atDATETIME创建时间普通
edu_courseCourse/Productupdated_byBIGINT最后更新人账号 ID普通
edu_courseCourse/Productupdated_atDATETIME最后更新时间普通
edu_courseCourse/Productis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
edu_courseCourse/Productdeleted_atDATETIME删除时间,未删除为空普通
edu_courseCourse/Productdeleted_byBIGINT删除人账号 ID,未删除为空普通
edu_courseCourse/ProductversionINT乐观锁版本号,写操作必须校验普通
edu_courseCourse/Productcourse_codeVARCHAR(64)课程编码,唯一普通
edu_courseCourse/Productcourse_nameVARCHAR(128)课程名称普通
edu_courseCourse/ProductsubjectVARCHAR(32)学科普通
edu_courseCourse/Productcourse_typeVARCHAR(32)班课/一对一/直播/录播普通
edu_courseCourse/Productgrade_scopeJSON适用年级普通
edu_courseCourse/ProductenabledTINYINT是否启用普通
edu_classClassidBIGINT主键,雪花或号段生成,禁止复用普通
edu_classClasstenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
edu_classClassorg_idBIGINT所属组织,集团级或公共配置为空普通
edu_classClasscampus_idBIGINT所属校区,跨校区或总部级数据为空普通
edu_classClasscreated_byBIGINT创建人账号 ID普通
edu_classClasscreated_atDATETIME创建时间普通
edu_classClassupdated_byBIGINT最后更新人账号 ID普通
edu_classClassupdated_atDATETIME最后更新时间普通
edu_classClassis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
edu_classClassdeleted_atDATETIME删除时间,未删除为空普通
edu_classClassdeleted_byBIGINT删除人账号 ID,未删除为空普通
edu_classClassversionINT乐观锁版本号,写操作必须校验普通
edu_classClassclass_noVARCHAR(64)班级编号,唯一普通
edu_classClasscourse_idBIGINT课程 ID普通
edu_classClassteacher_idBIGINT主讲教师 ID普通
edu_classClassclassroom_idBIGINT默认教室 ID普通
edu_classClasscapacityINT班级容量普通
edu_classClassclass_statusVARCHAR(32)筹备中/开班/结课/停课普通
edu_consumptionConsumptionidBIGINT主键,雪花或号段生成,禁止复用普通
edu_consumptionConsumptiontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
edu_consumptionConsumptionorg_idBIGINT所属组织,集团级或公共配置为空普通
edu_consumptionConsumptioncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
edu_consumptionConsumptioncreated_byBIGINT创建人账号 ID普通
edu_consumptionConsumptioncreated_atDATETIME创建时间普通
edu_consumptionConsumptionupdated_byBIGINT最后更新人账号 ID普通
edu_consumptionConsumptionupdated_atDATETIME最后更新时间普通
edu_consumptionConsumptionis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
edu_consumptionConsumptiondeleted_atDATETIME删除时间,未删除为空普通
edu_consumptionConsumptiondeleted_byBIGINT删除人账号 ID,未删除为空普通
edu_consumptionConsumptionversionINT乐观锁版本号,写操作必须校验普通
edu_consumptionConsumptionlesson_idBIGINT课次 ID普通
edu_consumptionConsumptionstudent_idBIGINT学员 ID普通
edu_consumptionConsumptioncontract_idBIGINT合同 ID普通
edu_consumptionConsumptionconsumed_hoursDECIMAL(8,2)消耗课时普通
edu_consumptionConsumptionconsume_amountDECIMAL(18,2)课消金额普通
edu_consumptionConsumptionconsume_statusVARCHAR(32)待确认/已课消/已冲销/异常普通
sys_legal_entityLegalEntityidBIGINT主键,雪花或号段生成,禁止复用普通
sys_legal_entityLegalEntitytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_legal_entityLegalEntityorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_legal_entityLegalEntitycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_legal_entityLegalEntitycreated_byBIGINT创建人账号 ID普通
sys_legal_entityLegalEntitycreated_atDATETIME创建时间普通
sys_legal_entityLegalEntityupdated_byBIGINT最后更新人账号 ID普通
sys_legal_entityLegalEntityupdated_atDATETIME最后更新时间普通
sys_legal_entityLegalEntityis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_legal_entityLegalEntitydeleted_atDATETIME删除时间,未删除为空普通
sys_legal_entityLegalEntitydeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_legal_entityLegalEntityversionINT乐观锁版本号,写操作必须校验普通
sys_legal_entityLegalEntityentity_codeVARCHAR(64)主体编码,唯一普通
sys_legal_entityLegalEntityentity_nameVARCHAR(128)主体名称普通
sys_legal_entityLegalEntitytaxpayer_noVARCHAR(64)纳税人识别号敏感
sys_legal_entityLegalEntitybank_account_noVARCHAR(64)银行账号,展示需脱敏敏感
sys_legal_entityLegalEntityinvoice_ruleJSON开票与核验规则普通
sys_legal_entityLegalEntityenabledTINYINT是否启用普通
fin_voucherFinanceVoucheridBIGINT主键,雪花或号段生成,禁止复用普通
fin_voucherFinanceVouchertenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
fin_voucherFinanceVoucherorg_idBIGINT所属组织,集团级或公共配置为空普通
fin_voucherFinanceVouchercampus_idBIGINT所属校区,跨校区或总部级数据为空普通
fin_voucherFinanceVouchercreated_byBIGINT创建人账号 ID普通
fin_voucherFinanceVouchercreated_atDATETIME创建时间普通
fin_voucherFinanceVoucherupdated_byBIGINT最后更新人账号 ID普通
fin_voucherFinanceVoucherupdated_atDATETIME最后更新时间普通
fin_voucherFinanceVoucheris_deletedTINYINT是否已删除,0 未删除,1 已删除普通
fin_voucherFinanceVoucherdeleted_atDATETIME删除时间,未删除为空普通
fin_voucherFinanceVoucherdeleted_byBIGINT删除人账号 ID,未删除为空普通
fin_voucherFinanceVoucherversionINT乐观锁版本号,写操作必须校验普通
fin_voucherFinanceVouchervoucher_noVARCHAR(64)凭证编号,账套期间内唯一普通
fin_voucherFinanceVoucheraccount_set_idBIGINT账套 ID普通
fin_voucherFinanceVoucherperiod_codeVARCHAR(32)会计期间普通
fin_voucherFinanceVouchersource_biz_typeVARCHAR(64)来源业务类型普通
fin_voucherFinanceVouchersource_biz_noVARCHAR(64)来源业务编号普通
fin_voucherFinanceVouchervoucher_statusVARCHAR(32)草稿/待审核/已审核/已过账/已红冲普通
fin_voucherFinanceVoucherapproval_statusVARCHAR(32)审批状态,未发起为空普通
fin_voucherFinanceVoucherapproval_instance_idBIGINT关联审批实例 ID普通

JSON 字段结构与校验

表名对象字段结构编码结构定义校验规则示例
con_contract_templateContractTemplatevariable_schemaGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
con_price_policyCoursePricePolicycourse_combo_jsonGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
con_price_policyCoursePricePolicycampus_scopeORG_SCOPE{scopeType:string, orgIds:number[], campusIds:number[], includeChildren:boolean}组织和校区必须在当前租户授权范围内{"scopeType":"CAMPUS","campusIds":[101,102],"includeChildren":false}
con_discount_ruleDiscountRulecourse_scopeGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
con_discount_ruleDiscountRulecampus_scopeORG_SCOPE{scopeType:string, orgIds:number[], campusIds:number[], includeChildren:boolean}组织和校区必须在当前租户授权范围内{"scopeType":"CAMPUS","campusIds":[101,102],"includeChildren":false}
con_discount_simulationDiscountSimulationprice_policy_idsGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
con_discount_simulationDiscountSimulationcourse_combo_jsonGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
con_discount_simulationDiscountSimulationdiscount_detail_jsonDISCOUNT_DETAIL{rules:[{ruleId:number, type:string, amount:number}], conflicts:string[], approvalRequired:boolean}优惠金额不得大于应收金额;互斥规则必须给出冲突原因{"rules":[{"ruleId":8,"type":"MULTI_SUBJECT","amount":300}],"approvalRequired":false}
con_discount_simulationDiscountSimulationbenefit_allocation_jsonBENEFIT_ALLOCATION{items:[{courseId:number, hours:number, amount:number, giftHours:number}], validUntil:string}课程、课时、金额分摊总和必须与合同订单一致{"items":[{"courseId":1,"hours":40,"amount":6800,"giftHours":4}]}
con_extra_discount_applyExtraDiscountApplyprofit_impact_jsonGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
con_extra_discount_applyExtraDiscountApplyfile_idsID_LISTarray<number>数组长度 1-500;元素必须为已存在且未逻辑删除的业务 ID[10001,10002]
con_extra_discount_applyExtraDiscountApplyevidence_snapshotAUDIT_SNAPSHOT{before?:object, after?:object, changedFields:string[], maskPolicy:string}敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥{"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"}
con_guardian_hand_signatureGuardianHandSignaturesign_trace_jsonGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
con_supervision_reportSupervisionAccountpayload_jsonSUPERVISION_PAYLOAD{bizType:string, contractNo:string, amount:number, student:object, attachments:number[]}报送字段必须满足教育局/监管账户配置的必填规则{"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800}
con_supervision_reportSupervisionAccountreceipt_jsonSUPERVISION_RECEIPT{receiptNo:string, status:string, receivedAt:string, rawFileId?:number, errorCode?:string}回执不可覆盖,重报生成新版本{"receiptNo":"REG20260628001","status":"SUCCESS"}
ord_refundRefundcalculate_detailGENERICobject | array必须符合字段说明中的业务结构;保存前进行 JSON Schema 校验并记录版本{"version":1,"items":[]}
con_class_course_transferClassCourseTransferrights_snapshotAUDIT_SNAPSHOT{before?:object, after?:object, changedFields:string[], maskPolicy:string}敏感字段必须按脱敏策略写入,不允许存储明文密码或密钥{"changedFields":["owner_id"],"maskPolicy":"MOBILE_MASK"}

状态/枚举标准字典

表名对象字段枚举编码取值终态/流转规则字段说明
con_contract_templateContractTemplatetenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_contract_templateContractTemplateis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_contract_templateContractTemplatecontract_typeCONTRACT_TYPE课程、续费、转课、补充协议非终态,可按状态机或字典规则流转课程/续费/转课/补充协议
con_contract_templateContractTemplatereview_statusREVIEW_STATUSDRAFT 草稿、PENDING 审核中、APPROVED 已通过、REJECTED 已驳回、DISABLED 已停用包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程草稿/审核中/已通过/已停用
con_price_policyCoursePricePolicytenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_price_policyCoursePricePolicyis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_price_policyCoursePricePolicyprice_typePRICE_TYPE标准价、校区价、组合价、多科联报价非终态,可按状态机或字典规则流转标准价/校区价/组合价/多科联报价
con_price_policyCoursePricePolicycampus_scopeCAMPUS_SCOPEALL_CAMPUS 全部校区、REGION_CAMPUS 区域校区、SELECTED_CAMPUS 指定校区、CURRENT_CAMPUS 当前校区、NONE 不限定校区非终态,可按状态机或字典规则流转适用校区范围
con_price_policyCoursePricePolicyapproval_statusAPPROVAL_STATUSNOT_STARTED 未发起、PENDING 审批中、APPROVED 已通过、REJECTED 已驳回、REVOKED 已撤回非终态,可按状态机或字典规则流转审批状态,未发起为空
con_price_policyCoursePricePolicybiz_statusBIZ_STATUSDRAFT 草稿、SUBMITTED 已提交、PROCESSING 处理中、ACTIVE 生效中、SUSPENDED 已暂停、CLOSED 已关闭、CANCELLED 已取消包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程业务状态,取值来自状态机字典
con_discount_ruleDiscountRuletenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_discount_ruleDiscountRuleis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_discount_ruleDiscountRulerule_typeRULE_TYPE满减、折扣、赠课、多科联报、组合缴费非终态,可按状态机或字典规则流转满减/折扣/赠课/多科联报/组合缴费
con_discount_ruleDiscountRulecourse_scopeCOURSE_SCOPE适用课程、班型、课包非终态,可按状态机或字典规则流转适用课程/班型/课包范围
con_discount_ruleDiscountRulecampus_scopeCAMPUS_SCOPEALL_CAMPUS 全部校区、REGION_CAMPUS 区域校区、SELECTED_CAMPUS 指定校区、CURRENT_CAMPUS 当前校区、NONE 不限定校区非终态,可按状态机或字典规则流转适用校区范围
con_discount_ruleDiscountRulestack_policySTACK_POLICY可叠加、互斥、需审批非终态,可按状态机或字典规则流转可叠加/互斥/需审批
con_discount_ruleDiscountRuleapproval_statusAPPROVAL_STATUSNOT_STARTED 未发起、PENDING 审批中、APPROVED 已通过、REJECTED 已驳回、REVOKED 已撤回非终态,可按状态机或字典规则流转审批状态,未发起为空
con_discount_ruleDiscountRulebiz_statusBIZ_STATUSDRAFT 草稿、SUBMITTED 已提交、PROCESSING 处理中、ACTIVE 生效中、SUSPENDED 已暂停、CLOSED 已关闭、CANCELLED 已取消包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程业务状态,取值来自状态机字典
con_discount_simulationDiscountSimulationtenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_discount_simulationDiscountSimulationis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_discount_simulationDiscountSimulationsimulation_statusSIMULATION_STATUS有效、失效、已转订单非终态,可按状态机或字典规则流转有效/失效/已转订单
con_extra_discount_applyExtraDiscountApplytenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_extra_discount_applyExtraDiscountApplyis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_extra_discount_applyExtraDiscountApplyapproval_statusAPPROVAL_STATUSNOT_STARTED 未发起、PENDING 审批中、APPROVED 已通过、REJECTED 已驳回、REVOKED 已撤回非终态,可按状态机或字典规则流转审批状态,未发起为空
con_contractContracttenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_contractContractis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_contractContractemployee_idEMPLOYEE_ID创建合同的销售、市场、课程顾问员工 ID非终态,可按状态机或字典规则流转创建合同的销售/市场/课程顾问员工 ID
con_contractContractsource_terminalSOURCE_TERMINAL教师端 App、小程序或 PC 管理端非终态,可按状态机或字典规则流转来源终端,教师端 App/小程序或 PC 管理端
con_contractContracthand_sign_statusHAND_SIGN_STATUS待手写签字、已手写签字、签字作废非终态,可按状态机或字典规则流转待手写签字/已手写签字/签字作废
con_contractContractsign_statusSIGN_STATUSUNSIGNED 未签到、SIGNED 已签到、LATE 迟到签到、LEAVE 请假、ABSENT 缺席非终态,可按状态机或字典规则流转待家长签署/已手写签字/已作废
con_contractContractpayment_statusPAYMENT_STATUSPENDING 待支付/待付款、PROCESSING 处理中、SUCCESS 成功、FAILED 失败、CLOSED 已关闭包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程待支付/支付中/支付成功/支付失败/已关闭
con_contractContractenterprise_seal_statusENTERPRISE_SEAL_STATUS未触发、盖章中、已盖章、盖章失败、已归档包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程未触发/盖章中/已盖章/盖章失败/已归档
con_contractContractcontract_statusCONTRACT_STATUS草稿、生效、履约中、已终止、已退费非终态,可按状态机或字典规则流转草稿/生效/履约中/已终止/已退费
con_contractContractsupervision_statusSUPERVISION_STATUSNOT_REQUIRED 无需报送、PENDING 待报送、SUCCESS 报送成功、FAILED 报送失败、RETRYING 重试中、MANUAL_REVIEW 人工复核包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程监管报送状态
con_contractContractcurrencyCURRENCYCNY 人民币非终态,可按状态机或字典规则流转币种,默认 CNY
con_contractContractapproval_statusAPPROVAL_STATUSNOT_STARTED 未发起、PENDING 审批中、APPROVED 已通过、REJECTED 已驳回、REVOKED 已撤回非终态,可按状态机或字典规则流转审批状态,未发起为空
con_guardian_hand_signatureGuardianHandSignaturetenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_guardian_hand_signatureGuardianHandSignatureis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_guardian_hand_signatureGuardianHandSignaturesignature_statusSIGNATURE_STATUS有效、作废、重签非终态,可按状态机或字典规则流转有效/作废/重签
con_enterprise_seal_taskEnterpriseSealTasktenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_enterprise_seal_taskEnterpriseSealTaskis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_enterprise_seal_taskEnterpriseSealTaskseal_statusSEAL_STATUS未触发、盖章中、已盖章、失败、已归档包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程未触发/盖章中/已盖章/失败/已归档
ord_orderOrdertenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
ord_orderOrderis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
ord_orderOrderorder_statusORDER_STATUSDRAFT 草稿、PENDING 待处理、PARTIAL 部分完成、COMPLETED 已完成、CANCELLED 已取消、AFTER_SALES 售后中包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程待支付/支付中/已支付/已关闭
ord_paymentPaymenttenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
ord_paymentPaymentis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
ord_paymentPaymentpay_channelPAY_CHANNEL微信、支付宝、银行卡、现金、监管账户非终态,可按状态机或字典规则流转微信/支付宝/银行卡/现金/监管账户
ord_paymentPaymentreceipt_statusRECEIPT_STATUS待确认、已确认、异常非终态,可按状态机或字典规则流转待确认/已确认/异常
con_supervision_reportSupervisionAccounttenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_supervision_reportSupervisionAccountis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_supervision_reportSupervisionAccountbiz_typeBIZ_TYPELEAD 线索、CUSTOMER 客户、CONTRACT 合同、ORDER 订单、PAYMENT 收款、REFUND 退费、LESSON 课次、CONSUMPTION 课消、EXPENSE 报销、VOUCHER 凭证、INVOICE 发票、LIVE 直播、PATROL 巡课、DEVICE 设备、MATERIAL 物料、PAYROLL 工资非终态,可按状态机或字典规则流转合同/收款/课消/退费
con_supervision_reportSupervisionAccountreport_statusREPORT_STATUSPENDING 待报送、SUCCESS 成功、FAILED 失败、RETRYING 重试中包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程待报送/成功/失败/重试中
ord_refundRefundtenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
ord_refundRefundis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
ord_refundRefundrefund_statusREFUND_STATUS待审批、待退款、已退款、已驳回、失败包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程待审批/待退款/已退款/已驳回/失败
ord_refundRefundapproval_statusAPPROVAL_STATUSNOT_STARTED 未发起、PENDING 审批中、APPROVED 已通过、REJECTED 已驳回、REVOKED 已撤回非终态,可按状态机或字典规则流转审批状态,未发起为空
con_class_course_transferClassCourseTransfertenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
con_class_course_transferClassCourseTransferis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
con_class_course_transferClassCourseTransfertransfer_statusTRANSFER_STATUS待确认、已生效、已取消包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程待确认/已生效/已取消
con_class_course_transferClassCourseTransferapproval_statusAPPROVAL_STATUSNOT_STARTED 未发起、PENDING 审批中、APPROVED 已通过、REJECTED 已驳回、REVOKED 已撤回非终态,可按状态机或字典规则流转审批状态,未发起为空

敏感字段与数据安全策略

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

核心数据表完整字段

表名对象字段类型必填规则数据级别
con_contract_templateContractTemplateidBIGINT主键,雪花或号段生成,禁止复用普通
con_contract_templateContractTemplatetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_contract_templateContractTemplateorg_idBIGINT所属组织,集团级或公共配置为空普通
con_contract_templateContractTemplatecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_contract_templateContractTemplatecreated_byBIGINT创建人账号 ID普通
con_contract_templateContractTemplatecreated_atDATETIME创建时间普通
con_contract_templateContractTemplateupdated_byBIGINT最后更新人账号 ID普通
con_contract_templateContractTemplateupdated_atDATETIME最后更新时间普通
con_contract_templateContractTemplateis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_contract_templateContractTemplatedeleted_atDATETIME删除时间,未删除为空普通
con_contract_templateContractTemplatedeleted_byBIGINT删除人账号 ID,未删除为空普通
con_contract_templateContractTemplateversionINT乐观锁版本号,写操作必须校验普通
con_contract_templateContractTemplatetemplate_codeVARCHAR(64)模板编码,唯一普通
con_contract_templateContractTemplatetemplate_nameVARCHAR(128)模板名称普通
con_contract_templateContractTemplatecontract_typeVARCHAR(32)课程/续费/转课/补充协议普通
con_contract_templateContractTemplatetemplate_bodyLONGTEXT合同正文模板普通
con_contract_templateContractTemplatevariable_schemaJSON变量定义普通
con_contract_templateContractTemplateversion_noINT模板版本普通
con_contract_templateContractTemplatereview_statusVARCHAR(32)草稿/审核中/已通过/已停用普通
con_price_policyCoursePricePolicyidBIGINT主键,雪花或号段生成,禁止复用普通
con_price_policyCoursePricePolicytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_price_policyCoursePricePolicyorg_idBIGINT所属组织,集团级或公共配置为空普通
con_price_policyCoursePricePolicycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_price_policyCoursePricePolicycreated_byBIGINT创建人账号 ID普通
con_price_policyCoursePricePolicycreated_atDATETIME创建时间普通
con_price_policyCoursePricePolicyupdated_byBIGINT最后更新人账号 ID普通
con_price_policyCoursePricePolicyupdated_atDATETIME最后更新时间普通
con_price_policyCoursePricePolicyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_price_policyCoursePricePolicydeleted_atDATETIME删除时间,未删除为空普通
con_price_policyCoursePricePolicydeleted_byBIGINT删除人账号 ID,未删除为空普通
con_price_policyCoursePricePolicyversionINT乐观锁版本号,写操作必须校验普通
con_price_policyCoursePricePolicypolicy_codeVARCHAR(64)价格策略编码,唯一普通
con_price_policyCoursePricePolicypolicy_nameVARCHAR(128)价格策略名称普通
con_price_policyCoursePricePolicycourse_idBIGINT适用课程 ID,组合价格可为空普通
con_price_policyCoursePricePolicycourse_combo_jsonJSON组合课程、多科联报或课包价格明细普通
con_price_policyCoursePricePolicyprice_typeVARCHAR(32)标准价/校区价/组合价/多科联报价普通
con_price_policyCoursePricePolicyprice_amountDECIMAL(18,2)价格金额普通
con_price_policyCoursePricePolicycampus_scopeJSON适用校区范围普通
con_price_policyCoursePricePolicyeffective_start_atDATETIME生效开始时间普通
con_price_policyCoursePricePolicyeffective_end_atDATETIME生效结束时间普通
con_price_policyCoursePricePolicyapproval_statusVARCHAR(32)审批状态,未发起为空普通
con_price_policyCoursePricePolicyapproval_instance_idBIGINT关联审批实例 ID普通
con_price_policyCoursePricePolicybiz_statusVARCHAR(32)业务状态,取值来自状态机字典普通
con_price_policyCoursePricePolicyremarkVARCHAR(512)业务备注,敏感内容按权限脱敏普通
con_discount_ruleDiscountRuleidBIGINT主键,雪花或号段生成,禁止复用普通
con_discount_ruleDiscountRuletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_discount_ruleDiscountRuleorg_idBIGINT所属组织,集团级或公共配置为空普通
con_discount_ruleDiscountRulecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_discount_ruleDiscountRulecreated_byBIGINT创建人账号 ID普通
con_discount_ruleDiscountRulecreated_atDATETIME创建时间普通
con_discount_ruleDiscountRuleupdated_byBIGINT最后更新人账号 ID普通
con_discount_ruleDiscountRuleupdated_atDATETIME最后更新时间普通
con_discount_ruleDiscountRuleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_discount_ruleDiscountRuledeleted_atDATETIME删除时间,未删除为空普通
con_discount_ruleDiscountRuledeleted_byBIGINT删除人账号 ID,未删除为空普通
con_discount_ruleDiscountRuleversionINT乐观锁版本号,写操作必须校验普通
con_discount_ruleDiscountRulerule_codeVARCHAR(64)优惠规则编码,唯一普通
con_discount_ruleDiscountRulerule_nameVARCHAR(128)优惠规则名称普通
con_discount_ruleDiscountRulerule_typeVARCHAR(32)满减/折扣/赠课/多科联报/组合缴费普通
con_discount_ruleDiscountRulecourse_scopeJSON适用课程/班型/课包范围普通
con_discount_ruleDiscountRulecampus_scopeJSON适用校区范围普通
con_discount_ruleDiscountRulestack_policyVARCHAR(32)可叠加/互斥/需审批普通
con_discount_ruleDiscountRulediscount_valueDECIMAL(18,2)优惠值,金额、折扣或赠课按 rule_type 解释普通
con_discount_ruleDiscountRuleapproval_thresholdDECIMAL(18,2)超过阈值触发审批普通
con_discount_ruleDiscountRuleeffective_start_atDATETIME生效开始时间普通
con_discount_ruleDiscountRuleeffective_end_atDATETIME生效结束时间普通
con_discount_ruleDiscountRuleapproval_statusVARCHAR(32)审批状态,未发起为空普通
con_discount_ruleDiscountRuleapproval_instance_idBIGINT关联审批实例 ID普通
con_discount_ruleDiscountRulebiz_statusVARCHAR(32)业务状态,取值来自状态机字典普通
con_discount_ruleDiscountRuleremarkVARCHAR(512)业务备注,敏感内容按权限脱敏普通
con_discount_simulationDiscountSimulationidBIGINT主键,雪花或号段生成,禁止复用普通
con_discount_simulationDiscountSimulationtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_discount_simulationDiscountSimulationorg_idBIGINT所属组织,集团级或公共配置为空普通
con_discount_simulationDiscountSimulationcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_discount_simulationDiscountSimulationcreated_byBIGINT创建人账号 ID普通
con_discount_simulationDiscountSimulationcreated_atDATETIME创建时间普通
con_discount_simulationDiscountSimulationupdated_byBIGINT最后更新人账号 ID普通
con_discount_simulationDiscountSimulationupdated_atDATETIME最后更新时间普通
con_discount_simulationDiscountSimulationis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_discount_simulationDiscountSimulationdeleted_atDATETIME删除时间,未删除为空普通
con_discount_simulationDiscountSimulationdeleted_byBIGINT删除人账号 ID,未删除为空普通
con_discount_simulationDiscountSimulationversionINT乐观锁版本号,写操作必须校验普通
con_discount_simulationDiscountSimulationsimulation_noVARCHAR(64)试算编号,唯一普通
con_discount_simulationDiscountSimulationstudent_idBIGINT学员 ID普通
con_discount_simulationDiscountSimulationemployee_idBIGINT发起报价的员工 ID普通
con_discount_simulationDiscountSimulationprice_policy_idsJSON引用的价格策略 ID 列表普通
con_discount_simulationDiscountSimulationcourse_combo_jsonJSON组合购买课程明细普通
con_discount_simulationDiscountSimulationdiscount_detail_jsonJSON优惠计算明细普通
con_discount_simulationDiscountSimulationbenefit_allocation_jsonJSON权益和金额分摊结果普通
con_discount_simulationDiscountSimulationextra_discount_apply_idBIGINT关联额外折扣申请 ID普通
con_discount_simulationDiscountSimulationpayable_amountDECIMAL(18,2)最终应付金额普通
con_discount_simulationDiscountSimulationsimulation_statusVARCHAR(32)有效/失效/已转订单普通
con_extra_discount_applyExtraDiscountApplyidBIGINT主键,雪花或号段生成,禁止复用普通
con_extra_discount_applyExtraDiscountApplytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_extra_discount_applyExtraDiscountApplyorg_idBIGINT所属组织,集团级或公共配置为空普通
con_extra_discount_applyExtraDiscountApplycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_extra_discount_applyExtraDiscountApplycreated_byBIGINT创建人账号 ID普通
con_extra_discount_applyExtraDiscountApplycreated_atDATETIME创建时间普通
con_extra_discount_applyExtraDiscountApplyupdated_byBIGINT最后更新人账号 ID普通
con_extra_discount_applyExtraDiscountApplyupdated_atDATETIME最后更新时间普通
con_extra_discount_applyExtraDiscountApplyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_extra_discount_applyExtraDiscountApplydeleted_atDATETIME删除时间,未删除为空普通
con_extra_discount_applyExtraDiscountApplydeleted_byBIGINT删除人账号 ID,未删除为空普通
con_extra_discount_applyExtraDiscountApplyversionINT乐观锁版本号,写操作必须校验普通
con_extra_discount_applyExtraDiscountApplyapply_noVARCHAR(64)额外折扣申请编号,唯一普通
con_extra_discount_applyExtraDiscountApplycontract_draft_idBIGINT关联合同草稿 ID普通
con_extra_discount_applyExtraDiscountApplystudent_idBIGINT学员 ID普通
con_extra_discount_applyExtraDiscountApplyemployee_idBIGINT申请员工 ID普通
con_extra_discount_applyExtraDiscountApplyapply_amountDECIMAL(18,2)申请额外折扣金额普通
con_extra_discount_applyExtraDiscountApplyapply_reasonVARCHAR(512)申请原因普通
con_extra_discount_applyExtraDiscountApplyprofit_impact_jsonJSON利润影响、课程项分摊和审批参考数据普通
con_extra_discount_applyExtraDiscountApplyeffective_discount_amountDECIMAL(18,2)审批通过后实际生效折扣普通
con_extra_discount_applyExtraDiscountApplyfile_idsJSON附件文件 ID 列表,文件中心统一管理普通
con_extra_discount_applyExtraDiscountApplyevidence_snapshotJSON关键凭据快照,提交后不可直接覆盖普通
con_extra_discount_applyExtraDiscountApplyapproval_statusVARCHAR(32)审批状态,未发起为空普通
con_extra_discount_applyExtraDiscountApplyapproval_instance_idBIGINT关联审批实例 ID普通
con_contractContractidBIGINT主键,雪花或号段生成,禁止复用普通
con_contractContracttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_contractContractorg_idBIGINT所属组织,集团级或公共配置为空普通
con_contractContractcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_contractContractcreated_byBIGINT创建人账号 ID普通
con_contractContractcreated_atDATETIME创建时间普通
con_contractContractupdated_byBIGINT最后更新人账号 ID普通
con_contractContractupdated_atDATETIME最后更新时间普通
con_contractContractis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_contractContractdeleted_atDATETIME删除时间,未删除为空普通
con_contractContractdeleted_byBIGINT删除人账号 ID,未删除为空普通
con_contractContractversionINT乐观锁版本号,写操作必须校验普通
con_contractContractcontract_noVARCHAR(64)合同编号,唯一普通
con_contractContractstudent_idBIGINT学员 ID普通
con_contractContractfamily_idBIGINT客户家庭 ID普通
con_contractContracttemplate_idBIGINT合同模板 ID普通
con_contractContractemployee_idBIGINT创建合同的销售/市场/课程顾问员工 ID普通
con_contractContractsource_terminalVARCHAR(32)来源终端,教师端 App/小程序或 PC 管理端普通
con_contractContractsimulation_idBIGINT关联优惠试算 ID普通
con_contractContractextra_discount_apply_idBIGINT关联额外折扣申请 ID普通
con_contractContracthand_sign_statusVARCHAR(32)待手写签字/已手写签字/签字作废普通
con_contractContractsign_statusVARCHAR(32)待家长签署/已手写签字/已作废普通
con_contractContractpayment_statusVARCHAR(32)待支付/支付中/支付成功/支付失败/已关闭普通
con_contractContractenterprise_seal_statusVARCHAR(32)未触发/盖章中/已盖章/盖章失败/已归档普通
con_contractContractcontract_statusVARCHAR(32)草稿/生效/履约中/已终止/已退费普通
con_contractContractsupervision_statusVARCHAR(32)监管报送状态普通
con_contractContractcurrencyVARCHAR(8)币种,默认 CNY普通
con_contractContractamountDECIMAL(18,2)含税金额,必须大于等于 0普通
con_contractContracttax_amountDECIMAL(18,2)税额,按发票或税率计算普通
con_contractContractapproval_statusVARCHAR(32)审批状态,未发起为空普通
con_contractContractapproval_instance_idBIGINT关联审批实例 ID普通
con_guardian_hand_signatureGuardianHandSignatureidBIGINT主键,雪花或号段生成,禁止复用普通
con_guardian_hand_signatureGuardianHandSignaturetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_guardian_hand_signatureGuardianHandSignatureorg_idBIGINT所属组织,集团级或公共配置为空普通
con_guardian_hand_signatureGuardianHandSignaturecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_guardian_hand_signatureGuardianHandSignaturecreated_byBIGINT创建人账号 ID普通
con_guardian_hand_signatureGuardianHandSignaturecreated_atDATETIME创建时间普通
con_guardian_hand_signatureGuardianHandSignatureupdated_byBIGINT最后更新人账号 ID普通
con_guardian_hand_signatureGuardianHandSignatureupdated_atDATETIME最后更新时间普通
con_guardian_hand_signatureGuardianHandSignatureis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_guardian_hand_signatureGuardianHandSignaturedeleted_atDATETIME删除时间,未删除为空普通
con_guardian_hand_signatureGuardianHandSignaturedeleted_byBIGINT删除人账号 ID,未删除为空普通
con_guardian_hand_signatureGuardianHandSignatureversionINT乐观锁版本号,写操作必须校验普通
con_guardian_hand_signatureGuardianHandSignaturesignature_noVARCHAR(64)手写签字记录编号,唯一普通
con_guardian_hand_signatureGuardianHandSignaturecontract_idBIGINT合同 ID普通
con_guardian_hand_signatureGuardianHandSignatureguardian_idBIGINT签字家长 ID普通
con_guardian_hand_signatureGuardianHandSignaturesignature_file_idBIGINT手写签字图片文件 ID普通
con_guardian_hand_signatureGuardianHandSignaturesign_trace_jsonJSON签字轨迹、设备、IP 和时间戳普通
con_guardian_hand_signatureGuardianHandSignaturesigned_atDATETIME手写签字完成时间普通
con_guardian_hand_signatureGuardianHandSignaturesignature_statusVARCHAR(32)有效/作废/重签普通
con_enterprise_seal_taskEnterpriseSealTaskidBIGINT主键,雪花或号段生成,禁止复用普通
con_enterprise_seal_taskEnterpriseSealTasktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_enterprise_seal_taskEnterpriseSealTaskorg_idBIGINT所属组织,集团级或公共配置为空普通
con_enterprise_seal_taskEnterpriseSealTaskcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_enterprise_seal_taskEnterpriseSealTaskcreated_byBIGINT创建人账号 ID普通
con_enterprise_seal_taskEnterpriseSealTaskcreated_atDATETIME创建时间普通
con_enterprise_seal_taskEnterpriseSealTaskupdated_byBIGINT最后更新人账号 ID普通
con_enterprise_seal_taskEnterpriseSealTaskupdated_atDATETIME最后更新时间普通
con_enterprise_seal_taskEnterpriseSealTaskis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_enterprise_seal_taskEnterpriseSealTaskdeleted_atDATETIME删除时间,未删除为空普通
con_enterprise_seal_taskEnterpriseSealTaskdeleted_byBIGINT删除人账号 ID,未删除为空普通
con_enterprise_seal_taskEnterpriseSealTaskversionINT乐观锁版本号,写操作必须校验普通
con_enterprise_seal_taskEnterpriseSealTaskseal_task_noVARCHAR(64)盖章任务编号,唯一普通
con_enterprise_seal_taskEnterpriseSealTaskcontract_idBIGINT合同 ID普通
con_enterprise_seal_taskEnterpriseSealTaskpayment_idBIGINT触发盖章的支付 ID普通
con_enterprise_seal_taskEnterpriseSealTasklegal_entity_idBIGINT企业电子公章所属法人主体 ID普通
con_enterprise_seal_taskEnterpriseSealTaskseal_rule_codeVARCHAR(64)盖章规则编码普通
con_enterprise_seal_taskEnterpriseSealTasksealed_file_idBIGINT已盖章合同文件 ID普通
con_enterprise_seal_taskEnterpriseSealTaskseal_statusVARCHAR(32)未触发/盖章中/已盖章/失败/已归档普通
con_enterprise_seal_taskEnterpriseSealTaskfailure_reasonVARCHAR(512)盖章失败原因普通
con_enterprise_seal_taskEnterpriseSealTaskretry_countINT重试次数普通
con_enterprise_seal_taskEnterpriseSealTasksealed_atDATETIME盖章完成时间普通
ord_orderOrderidBIGINT主键,雪花或号段生成,禁止复用普通
ord_orderOrdertenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ord_orderOrderorg_idBIGINT所属组织,集团级或公共配置为空普通
ord_orderOrdercampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ord_orderOrdercreated_byBIGINT创建人账号 ID普通
ord_orderOrdercreated_atDATETIME创建时间普通
ord_orderOrderupdated_byBIGINT最后更新人账号 ID普通
ord_orderOrderupdated_atDATETIME最后更新时间普通
ord_orderOrderis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ord_orderOrderdeleted_atDATETIME删除时间,未删除为空普通
ord_orderOrderdeleted_byBIGINT删除人账号 ID,未删除为空普通
ord_orderOrderversionINT乐观锁版本号,写操作必须校验普通
ord_orderOrderorder_noVARCHAR(64)订单编号,唯一普通
ord_orderOrdercontract_idBIGINT合同 ID普通
ord_orderOrderstudent_idBIGINT学员 ID普通
ord_orderOrderreceivable_amountDECIMAL(18,2)应收金额普通
ord_orderOrderdiscount_amountDECIMAL(18,2)优惠金额普通
ord_orderOrderpaid_amountDECIMAL(18,2)已收金额普通
ord_orderOrderorder_statusVARCHAR(32)待支付/支付中/已支付/已关闭普通
ord_paymentPaymentidBIGINT主键,雪花或号段生成,禁止复用普通
ord_paymentPaymenttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ord_paymentPaymentorg_idBIGINT所属组织,集团级或公共配置为空普通
ord_paymentPaymentcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ord_paymentPaymentcreated_byBIGINT创建人账号 ID普通
ord_paymentPaymentcreated_atDATETIME创建时间普通
ord_paymentPaymentupdated_byBIGINT最后更新人账号 ID普通
ord_paymentPaymentupdated_atDATETIME最后更新时间普通
ord_paymentPaymentis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ord_paymentPaymentdeleted_atDATETIME删除时间,未删除为空普通
ord_paymentPaymentdeleted_byBIGINT删除人账号 ID,未删除为空普通
ord_paymentPaymentversionINT乐观锁版本号,写操作必须校验普通
ord_paymentPaymentpayment_noVARCHAR(64)收款单号,唯一普通
ord_paymentPaymentorder_idBIGINT订单 ID普通
ord_paymentPaymentpay_channelVARCHAR(32)微信/支付宝/银行卡/现金/监管账户普通
ord_paymentPaymentpaid_amountDECIMAL(18,2)实收金额普通
ord_paymentPaymentpaid_atDATETIME支付完成时间普通
ord_paymentPaymentchannel_trade_noVARCHAR(128)渠道流水号普通
ord_paymentPaymentsupervision_account_idBIGINT资金监管账户 ID普通
ord_paymentPaymentreceipt_statusVARCHAR(32)待确认/已确认/异常普通
con_supervision_reportSupervisionAccountidBIGINT主键,雪花或号段生成,禁止复用普通
con_supervision_reportSupervisionAccounttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_supervision_reportSupervisionAccountorg_idBIGINT所属组织,集团级或公共配置为空普通
con_supervision_reportSupervisionAccountcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_supervision_reportSupervisionAccountcreated_byBIGINT创建人账号 ID普通
con_supervision_reportSupervisionAccountcreated_atDATETIME创建时间普通
con_supervision_reportSupervisionAccountupdated_byBIGINT最后更新人账号 ID普通
con_supervision_reportSupervisionAccountupdated_atDATETIME最后更新时间普通
con_supervision_reportSupervisionAccountis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_supervision_reportSupervisionAccountdeleted_atDATETIME删除时间,未删除为空普通
con_supervision_reportSupervisionAccountdeleted_byBIGINT删除人账号 ID,未删除为空普通
con_supervision_reportSupervisionAccountversionINT乐观锁版本号,写操作必须校验普通
con_supervision_reportSupervisionAccountreport_noVARCHAR(64)报送编号,唯一普通
con_supervision_reportSupervisionAccountbiz_typeVARCHAR(64)合同/收款/课消/退费普通
con_supervision_reportSupervisionAccountbiz_idBIGINT业务 ID普通
con_supervision_reportSupervisionAccountplatform_codeVARCHAR(64)监管平台编码普通
con_supervision_reportSupervisionAccountpayload_jsonJSON报送报文普通
con_supervision_reportSupervisionAccountreceipt_jsonJSON回执报文普通
con_supervision_reportSupervisionAccountreport_statusVARCHAR(32)待报送/成功/失败/重试中普通
ord_refundRefundidBIGINT主键,雪花或号段生成,禁止复用普通
ord_refundRefundtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ord_refundRefundorg_idBIGINT所属组织,集团级或公共配置为空普通
ord_refundRefundcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ord_refundRefundcreated_byBIGINT创建人账号 ID普通
ord_refundRefundcreated_atDATETIME创建时间普通
ord_refundRefundupdated_byBIGINT最后更新人账号 ID普通
ord_refundRefundupdated_atDATETIME最后更新时间普通
ord_refundRefundis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ord_refundRefunddeleted_atDATETIME删除时间,未删除为空普通
ord_refundRefunddeleted_byBIGINT删除人账号 ID,未删除为空普通
ord_refundRefundversionINT乐观锁版本号,写操作必须校验普通
ord_refundRefundrefund_noVARCHAR(64)退款编号,唯一普通
ord_refundRefundcontract_idBIGINT合同 ID普通
ord_refundRefundstudent_idBIGINT学员 ID普通
ord_refundRefundrefund_amountDECIMAL(18,2)退款金额普通
ord_refundRefundcalculate_detailJSON退款计算明细普通
ord_refundRefundrefund_statusVARCHAR(32)待审批/待退款/已退款/已驳回/失败普通
ord_refundRefundapproval_statusVARCHAR(32)审批状态,未发起为空普通
ord_refundRefundapproval_instance_idBIGINT关联审批实例 ID普通
con_class_course_transferClassCourseTransferidBIGINT主键,雪花或号段生成,禁止复用普通
con_class_course_transferClassCourseTransfertenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
con_class_course_transferClassCourseTransferorg_idBIGINT所属组织,集团级或公共配置为空普通
con_class_course_transferClassCourseTransfercampus_idBIGINT所属校区,跨校区或总部级数据为空普通
con_class_course_transferClassCourseTransfercreated_byBIGINT创建人账号 ID普通
con_class_course_transferClassCourseTransfercreated_atDATETIME创建时间普通
con_class_course_transferClassCourseTransferupdated_byBIGINT最后更新人账号 ID普通
con_class_course_transferClassCourseTransferupdated_atDATETIME最后更新时间普通
con_class_course_transferClassCourseTransferis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
con_class_course_transferClassCourseTransferdeleted_atDATETIME删除时间,未删除为空普通
con_class_course_transferClassCourseTransferdeleted_byBIGINT删除人账号 ID,未删除为空普通
con_class_course_transferClassCourseTransferversionINT乐观锁版本号,写操作必须校验普通
con_class_course_transferClassCourseTransfertransfer_noVARCHAR(64)转班转课编号,唯一普通
con_class_course_transferClassCourseTransferstudent_idBIGINT学员 ID普通
con_class_course_transferClassCourseTransferfrom_class_idBIGINT原班级 ID普通
con_class_course_transferClassCourseTransferto_class_idBIGINT目标班级 ID普通
con_class_course_transferClassCourseTransferfrom_course_idBIGINT原课程 ID普通
con_class_course_transferClassCourseTransferto_course_idBIGINT目标课程 ID普通
con_class_course_transferClassCourseTransferrights_snapshotJSON权益变更快照普通
con_class_course_transferClassCourseTransfertransfer_statusVARCHAR(32)待确认/已生效/已取消普通
con_class_course_transferClassCourseTransferapproval_statusVARCHAR(32)审批状态,未发起为空普通
con_class_course_transferClassCourseTransferapproval_instance_idBIGINT关联审批实例 ID普通

数据表与对象映射

表名对象用途完整字段索引建议
con_contract_templateContractTemplate统一电子合同模板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),必填)、contract_type(VARCHAR(32),必填)、template_body(LONGTEXT,必填)、variable_schema(JSON,必填)、version_no(INT,必填)、review_status(VARCHAR(32),必填)uk_template_version、idx_type_status
con_price_policyCoursePricePolicy课程价格、组合价格和校区价格策略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,必填)、policy_code(VARCHAR(64),必填)、policy_name(VARCHAR(128),必填)、course_id(BIGINT)、course_combo_json(JSON)、price_type(VARCHAR(32),必填)、price_amount(DECIMAL(18,2),必填)、campus_scope(JSON,必填)、effective_start_at(DATETIME,必填)、effective_end_at(DATETIME)、approval_status(VARCHAR(32))、approval_instance_id(BIGINT)、biz_status(VARCHAR(32),必填)、remark(VARCHAR(512))uk_policy_code、idx_course_type、idx_effective_status
con_discount_ruleDiscountRule优惠、组合缴费和联报规则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,必填)、rule_code(VARCHAR(64),必填)、rule_name(VARCHAR(128),必填)、rule_type(VARCHAR(32),必填)、course_scope(JSON,必填)、campus_scope(JSON,必填)、stack_policy(VARCHAR(32),必填)、discount_value(DECIMAL(18,2))、approval_threshold(DECIMAL(18,2))、effective_start_at(DATETIME,必填)、effective_end_at(DATETIME)、approval_status(VARCHAR(32))、approval_instance_id(BIGINT)、biz_status(VARCHAR(32),必填)、remark(VARCHAR(512))uk_rule_code、idx_type_status
con_discount_simulationDiscountSimulation优惠试算与权益拆分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,必填)、simulation_no(VARCHAR(64),必填)、student_id(BIGINT,必填)、employee_id(BIGINT)、price_policy_ids(JSON,必填)、course_combo_json(JSON,必填)、discount_detail_json(JSON,必填)、benefit_allocation_json(JSON,必填)、extra_discount_apply_id(BIGINT)、payable_amount(DECIMAL(18,2),必填)、simulation_status(VARCHAR(32),必填)uk_simulation_no、idx_student_status
con_extra_discount_applyExtraDiscountApply员工端额外折扣申请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,必填)、apply_no(VARCHAR(64),必填)、contract_draft_id(BIGINT)、student_id(BIGINT,必填)、employee_id(BIGINT,必填)、apply_amount(DECIMAL(18,2),必填)、apply_reason(VARCHAR(512),必填)、profit_impact_json(JSON)、effective_discount_amount(DECIMAL(18,2))、file_ids(JSON)、evidence_snapshot(JSON)、approval_status(VARCHAR(32))、approval_instance_id(BIGINT)uk_apply_no、idx_employee_status、idx_student_status
con_contractContract合同主表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,必填)、contract_no(VARCHAR(64),必填)、student_id(BIGINT,必填)、family_id(BIGINT)、template_id(BIGINT,必填)、employee_id(BIGINT)、source_terminal(VARCHAR(32),必填)、simulation_id(BIGINT)、extra_discount_apply_id(BIGINT)、hand_sign_status(VARCHAR(32),必填)、sign_status(VARCHAR(32),必填)、payment_status(VARCHAR(32),必填)、enterprise_seal_status(VARCHAR(32),必填)、contract_status(VARCHAR(32),必填)、supervision_status(VARCHAR(32))、currency(VARCHAR(8),必填)、amount(DECIMAL(18,2),必填)、tax_amount(DECIMAL(18,2))、approval_status(VARCHAR(32))、approval_instance_id(BIGINT)uk_contract_no、idx_student_status
con_guardian_hand_signatureGuardianHandSignature家长手写签字记录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,必填)、signature_no(VARCHAR(64),必填)、contract_id(BIGINT,必填)、guardian_id(BIGINT,必填)、signature_file_id(BIGINT,必填)、sign_trace_json(JSON)、signed_at(DATETIME,必填)、signature_status(VARCHAR(32),必填)uk_signature_no、idx_contract_guardian
con_enterprise_seal_taskEnterpriseSealTask企业电子公章盖章任务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,必填)、seal_task_no(VARCHAR(64),必填)、contract_id(BIGINT,必填)、payment_id(BIGINT,必填)、legal_entity_id(BIGINT,必填)、seal_rule_code(VARCHAR(64),必填)、sealed_file_id(BIGINT)、seal_status(VARCHAR(32),必填)、failure_reason(VARCHAR(512))、retry_count(INT,必填)、sealed_at(DATETIME)uk_seal_task_no、idx_contract_status、idx_payment
ord_orderOrder订单和应收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,必填)、order_no(VARCHAR(64),必填)、contract_id(BIGINT,必填)、student_id(BIGINT,必填)、receivable_amount(DECIMAL(18,2),必填)、discount_amount(DECIMAL(18,2))、paid_amount(DECIMAL(18,2),必填)、order_status(VARCHAR(32),必填)uk_order_no、idx_contract_status
ord_paymentPayment收款单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,必填)、payment_no(VARCHAR(64),必填)、order_id(BIGINT,必填)、pay_channel(VARCHAR(32),必填)、paid_amount(DECIMAL(18,2),必填)、paid_at(DATETIME)、channel_trade_no(VARCHAR(128))、supervision_account_id(BIGINT)、receipt_status(VARCHAR(32),必填)uk_payment_no、idx_order、idx_trade_no
con_supervision_reportSupervisionAccount合同、收款、课消、退费监管报送id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、report_no(VARCHAR(64),必填)、biz_type(VARCHAR(64),必填)、biz_id(BIGINT,必填)、platform_code(VARCHAR(64),必填)、payload_json(JSON,必填)、receipt_json(JSON)、report_status(VARCHAR(32),必填)uk_report_no、idx_biz、idx_status
ord_refundRefund退款单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,必填)、refund_no(VARCHAR(64),必填)、contract_id(BIGINT,必填)、student_id(BIGINT,必填)、refund_amount(DECIMAL(18,2),必填)、calculate_detail(JSON,必填)、refund_status(VARCHAR(32),必填)、approval_status(VARCHAR(32))、approval_instance_id(BIGINT)uk_refund_no、idx_contract_status
con_class_course_transferClassCourseTransfer转班转课权益变更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,必填)、transfer_no(VARCHAR(64),必填)、student_id(BIGINT,必填)、from_class_id(BIGINT)、to_class_id(BIGINT)、from_course_id(BIGINT)、to_course_id(BIGINT)、rights_snapshot(JSON,必填)、transfer_status(VARCHAR(32),必填)、approval_status(VARCHAR(32))、approval_instance_id(BIGINT)uk_transfer_no、idx_student_status

12 · 状态机与业务规则

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

原型需要把状态标签、可操作按钮和禁用原因展示清楚。
对象状态触发与说明
合同草稿员工端草稿 -> 待额外折扣审批 -> 折扣审批驳回 -> 待推送家长 -> 已推送家长 -> 已作废员工端创建合同草稿,额外折扣审批通过后才可推送家长
价格优惠规则草稿 -> 待审批 -> 已启用 -> 已停用 -> 已过期 -> 已驳回PC 管理端维护课程价格、组合价格和可用优惠规则,员工端只引用启用版本
家长签署支付待家长查看 -> 待手写签字 -> 已手写签字 -> 待支付 -> 支付中 -> 支付成功 -> 支付失败 -> 已关闭家长手写签字完成后才开放支付,支付状态回写合同和订单
企业电子公章未触发 -> 盖章中 -> 已盖章 -> 盖章失败 -> 已归档 -> 人工处理支付成功后自动触发企业电子公章,失败进入合同异常处理
合同履约已签字 -> 已支付 -> 已盖章 -> 监管报送中 -> 履约中 -> 变更中 -> 已终止 -> 已退费签署、支付、盖章、监管、课消、变更和退款联动
额外折扣审批未申请 -> 草稿 -> 待审批 -> 已通过 -> 已驳回 -> 已撤回 -> 已失效员工端申请,PC 管理端审批,通过后折扣才进入最终报价
唯一性校验

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

跨校区数据隔离

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

敏感操作留痕

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

外部接口幂等

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

批量失败明细

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

状态回退审批

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

13 · 权限、审批与消息

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

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

动作权限

  • PC 配置价格:需映射菜单、按钮、接口和字段权限
  • PC 配置优惠:需映射菜单、按钮、接口和字段权限
  • 员工端创建合同:需映射菜单、按钮、接口和字段权限
  • 优惠试算:需映射菜单、按钮、接口和字段权限
  • 申请额外折扣:需映射菜单、按钮、接口和字段权限
  • 推送家长签署:需映射菜单、按钮、接口和字段权限
  • 家长手写签字:需映射菜单、按钮、接口和字段权限
  • 家长支付:需映射菜单、按钮、接口和字段权限
  • 支付后盖章:需映射菜单、按钮、接口和字段权限
  • 转班转课测算:需映射菜单、按钮、接口和字段权限
  • 退款转课:需映射菜单、按钮、接口和字段权限

数据范围

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

审批配置

审批名称触发条件流程结果留痕
价格优惠规则发布审批课程价格、组合价格、可用优惠或叠加互斥规则新增、调价、停用或扩范围管理人员 -> 校区负责人/区域负责人 -> 财务负责人可选通过后生成启用版本,员工端新合同只引用启用版本保留规则版本、影响课程、适用校区、审批意见和生效时间
额外折扣审批员工端合同报价超过可用优惠范围或申请额外折扣课程顾问/销售/市场 -> 销售主管 -> 校区负责人/财务可选通过后折扣写入合同草稿并允许推送家长,驳回后员工端需重新调整报价保留申请金额、原因、附件、利润影响、审批意见和生效折扣
合同作废重签审批合同已推送、已签字、已支付或已盖章后需要作废重签申请人 -> 校区负责人 -> 财务/法务可选通过后关闭原合同并生成重签草稿,原合同不允许继续支付或课消保留原合同、作废原因、新合同、签署文件和审计记录
合同异常人工处理审批支付成功但企业盖章失败、监管回执失败或合同文件归档异常处理人 -> 财务/法务/系统管理员通过后可重试盖章、重报监管、替换归档或关闭异常保留失败原因、重试次数、处理动作、回执和结果

消息模板

消息接收人触发渠道变量
合同草稿创建提醒课程顾问/销售人员/市场人员员工端创建合同草稿或报价发生变化迪诺学堂教师端 App/小程序、站内信学员、课程组合、应收金额、可推送状态
额外折扣审批提醒销售主管/校区负责人/财务员工端提交额外折扣申请PC Web 待办、站内信申请人、学员、折扣金额、利润影响、审批入口
额外折扣审批结果课程顾问/销售人员/市场人员额外折扣审批通过、驳回或要求补充材料迪诺学堂教师端 App/小程序合同草稿、审批结果、可推送状态、驳回原因
合同待手写签字提醒家长员工端推送合同到家长端家长端小程序/H5、短信可选、站内信合同编号、课程权益、应付金额、签署入口、有效期
合同支付提醒家长家长完成手写签字后待支付或支付失败家长端小程序/H5、站内信合同编号、应付金额、支付入口、失败原因
企业盖章完成通知家长/课程顾问/销售人员/市场人员支付成功且企业电子公章完成家长端小程序/H5、迪诺学堂教师端 App/小程序合同编号、盖章文件、下载入口、后续服务入口
企业盖章失败待处理管理人员/财务/法务支付成功后企业电子公章失败或归档失败PC Web 待办、站内信合同编号、失败原因、重试入口、人工处理入口

14 · 接口与技术细节

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

每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。
接口方法方向请求字段响应字段幂等/权限
/api/v1/contracts/price-policiesPOST/GETPC Web 管理端到合同中心courseId, campusScope, priceType, priceAmount, effectiveAt, enabled, requestIdpolicyId, approvalStatus, enabled仅管理人员可维护课程价格和组合价格
/api/v1/contracts/discount-rulesPOST/GETPC Web 管理端到合同中心ruleType, stackPolicy, courseScope, campusScope, discountValue, approvalThreshold, enabled, requestIdruleId, ruleStatus, versionNo仅管理人员可维护可用优惠
/api/v1/contracts/templatesPOST/GETPC Web 管理端到合同中心templateCode, templateName, contractType, variableSchema, versionNo, enabled, requestIdtemplateId, reviewStatus, versionNo仅管理人员可维护合同模板
/api/v1/contracts/mobile/draftsPOST/GET迪诺学堂教师端 App/小程序到合同中心studentId, courseItems, selectedDiscountRuleIds, extraDiscountApplyId, requestIdcontractDraftId, quoteResult, visibleActions销售/市场/课程顾问仅能为本人授权学员创建合同草稿
/api/v1/contracts/discount-simulationsPOST迪诺学堂教师端 App/小程序到合同中心studentId, courseItems, selectedDiscountRuleIds, extraDiscountContext, transferContext, requestIdsimulationId, payableAmount, conflictItems, approvalRequired, allocationResult同报价 requestId 幂等;冲突规则返回原因
/api/v1/contracts/extra-discount-appliesPOST/GET迪诺学堂教师端 App/小程序到审批服务contractDraftId, employeeId, applyAmount, applyReason, attachments, requestIdapplyId, approvalStatus, effectiveDiscount审批通过后才可进入最终合同报价
/api/v1/contracts/{id}/push-to-parentPOST迪诺学堂教师端 App/小程序到合同中心contractId, guardianId, pushChannel, expireAt, requestIdpushStatus, signUrl, parentNotifyStatus合同需为待家长签署状态且员工有授权
/api/v1/contracts/{id}/guardian-hand-signPOST家长端小程序/H5到合同中心contractId, guardianId, handSignFileId, signTrace, requestIdhandSignStatus, nextAction家长手写签字完成后才开放支付
/api/v1/contracts/{id}/paymentPOST家长端小程序/H5到支付服务contractId, guardianId, payChannel, amount, requestIdpaymentId, paymentStatus, sealTaskStatus支付前必须校验手写签字已完成
/api/v1/contracts/{id}/enterprise-sealPOST合同中心到签章服务contractId, paymentId, sealRuleCode, requestIdsealStatus, sealedFileId, archiveStatus支付成功后自动触发企业电子公章
/api/v1/regulator/contractsPOST平台到监管contractNo, studentInfo, amount, templateCodereportNo, reportStatus, receiptFile合同编号幂等报送
/api/v1/refundsPOSTPC Web 到平台contractId, refundItems, reason, requestIdrefundId, auditStatus, estimatedAmountrequestId 幂等
/api/v1/edu/transfersPOST/GETPC Web 到教务合同studentId, sourceClassId, targetClassId, transferType, requestIdtransferId, rightsRecalculateResult, transferStatusrequestId 幂等

前端约束

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

后端约束

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

集成约束

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

15 · 数据库与存储设计

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

详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。
表名用途核心字段索引建议
con_contract_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、contract_type、template_body、variable_schema、version_no、review_statusuk_template_version、idx_type_status
con_price_policy课程价格、组合价格和校区价格策略id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、policy_code、policy_name、course_id、course_combo_json、price_type、price_amount、campus_scope、effective_start_at、effective_end_at、approval_status、approval_instance_id、biz_status、remarkuk_policy_code、idx_course_type、idx_effective_status
con_discount_rule优惠、组合缴费和联报规则id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、rule_code、rule_name、rule_type、course_scope、campus_scope、stack_policy、discount_value、approval_threshold、effective_start_at、effective_end_at、approval_status、approval_instance_id、biz_status、remarkuk_rule_code、idx_type_status
con_discount_simulation优惠试算与权益拆分id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、simulation_no、student_id、employee_id、price_policy_ids、course_combo_json、discount_detail_json、benefit_allocation_json、extra_discount_apply_id、payable_amount、simulation_statusuk_simulation_no、idx_student_status
con_extra_discount_apply员工端额外折扣申请id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、apply_no、contract_draft_id、student_id、employee_id、apply_amount、apply_reason、profit_impact_json、effective_discount_amount、file_ids、evidence_snapshot、approval_status、approval_instance_iduk_apply_no、idx_employee_status、idx_student_status
con_contract合同主表id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、contract_no、student_id、family_id、template_id、employee_id、source_terminal、simulation_id、extra_discount_apply_id、hand_sign_status、sign_status、payment_status、enterprise_seal_status、contract_status、supervision_status、currency、amount、tax_amount、approval_status、approval_instance_iduk_contract_no、idx_student_status
con_guardian_hand_signature家长手写签字记录id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、signature_no、contract_id、guardian_id、signature_file_id、sign_trace_json、signed_at、signature_statusuk_signature_no、idx_contract_guardian
con_enterprise_seal_task企业电子公章盖章任务id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、seal_task_no、contract_id、payment_id、legal_entity_id、seal_rule_code、sealed_file_id、seal_status、failure_reason、retry_count、sealed_atuk_seal_task_no、idx_contract_status、idx_payment
ord_order订单和应收id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、order_no、contract_id、student_id、receivable_amount、discount_amount、paid_amount、order_statusuk_order_no、idx_contract_status
ord_payment收款单id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、payment_no、order_id、pay_channel、paid_amount、paid_at、channel_trade_no、supervision_account_id、receipt_statusuk_payment_no、idx_order、idx_trade_no
con_supervision_report合同、收款、课消、退费监管报送id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、report_no、biz_type、biz_id、platform_code、payload_json、receipt_json、report_statusuk_report_no、idx_biz、idx_status
ord_refund退款单id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、refund_no、contract_id、student_id、refund_amount、calculate_detail、refund_status、approval_status、approval_instance_iduk_refund_no、idx_contract_status
con_class_course_transfer转班转课权益变更id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、transfer_no、student_id、from_class_id、to_class_id、from_course_id、to_course_id、rights_snapshot、transfer_status、approval_status、approval_instance_iduk_transfer_no、idx_student_status

DDL 草案

con_contract_templateContractTemplate
CREATE TABLE `con_contract_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 '模板名称;数据级别:普通',
  `contract_type` VARCHAR(32) NOT NULL COMMENT '课程/续费/转课/补充协议;数据级别:普通',
  `template_body` LONGTEXT NOT NULL COMMENT '合同正文模板;数据级别:普通',
  `variable_schema` JSON NOT NULL COMMENT '变量定义;数据级别:普通',
  `version_no` INT NOT NULL COMMENT '模板版本;数据级别:普通',
  `review_status` VARCHAR(32) NOT NULL COMMENT '草稿/审核中/已通过/已停用;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_template_version` (`template_code`, `version`),
  KEY `idx_type_status` (`contract_type`, `review_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ContractTemplate:统一电子合同模板';
con_price_policyCoursePricePolicy
CREATE TABLE `con_price_policy` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `policy_code` VARCHAR(64) NOT NULL COMMENT '价格策略编码,唯一;数据级别:普通',
  `policy_name` VARCHAR(128) NOT NULL COMMENT '价格策略名称;数据级别:普通',
  `course_id` BIGINT NULL COMMENT '适用课程 ID,组合价格可为空;数据级别:普通',
  `course_combo_json` JSON NULL COMMENT '组合课程、多科联报或课包价格明细;数据级别:普通',
  `price_type` VARCHAR(32) NOT NULL COMMENT '标准价/校区价/组合价/多科联报价;数据级别:普通',
  `price_amount` DECIMAL(18,2) NOT NULL COMMENT '价格金额;数据级别:普通',
  `campus_scope` JSON NOT NULL COMMENT '适用校区范围;数据级别:普通',
  `effective_start_at` DATETIME NOT NULL COMMENT '生效开始时间;数据级别:普通',
  `effective_end_at` DATETIME NULL COMMENT '生效结束时间;数据级别:普通',
  `approval_status` VARCHAR(32) NULL COMMENT '审批状态,未发起为空;数据级别:普通',
  `approval_instance_id` BIGINT NULL COMMENT '关联审批实例 ID;数据级别:普通',
  `biz_status` VARCHAR(32) NOT NULL COMMENT '业务状态,取值来自状态机字典;数据级别:普通',
  `remark` VARCHAR(512) NULL COMMENT '业务备注,敏感内容按权限脱敏;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_policy_code` (`policy_code`),
  KEY `idx_course_type` (`course_id`, `price_type`),
  KEY `idx_effective_status` (`effective_start_at`, `approval_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='CoursePricePolicy:课程价格、组合价格和校区价格策略';
con_discount_ruleDiscountRule
CREATE TABLE `con_discount_rule` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `rule_code` VARCHAR(64) NOT NULL COMMENT '优惠规则编码,唯一;数据级别:普通',
  `rule_name` VARCHAR(128) NOT NULL COMMENT '优惠规则名称;数据级别:普通',
  `rule_type` VARCHAR(32) NOT NULL COMMENT '满减/折扣/赠课/多科联报/组合缴费;数据级别:普通',
  `course_scope` JSON NOT NULL COMMENT '适用课程/班型/课包范围;数据级别:普通',
  `campus_scope` JSON NOT NULL COMMENT '适用校区范围;数据级别:普通',
  `stack_policy` VARCHAR(32) NOT NULL COMMENT '可叠加/互斥/需审批;数据级别:普通',
  `discount_value` DECIMAL(18,2) NULL COMMENT '优惠值,金额、折扣或赠课按 rule_type 解释;数据级别:普通',
  `approval_threshold` DECIMAL(18,2) NULL COMMENT '超过阈值触发审批;数据级别:普通',
  `effective_start_at` DATETIME NOT NULL COMMENT '生效开始时间;数据级别:普通',
  `effective_end_at` DATETIME NULL COMMENT '生效结束时间;数据级别:普通',
  `approval_status` VARCHAR(32) NULL COMMENT '审批状态,未发起为空;数据级别:普通',
  `approval_instance_id` BIGINT NULL COMMENT '关联审批实例 ID;数据级别:普通',
  `biz_status` VARCHAR(32) NOT NULL COMMENT '业务状态,取值来自状态机字典;数据级别:普通',
  `remark` VARCHAR(512) NULL COMMENT '业务备注,敏感内容按权限脱敏;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_rule_code` (`rule_code`),
  KEY `idx_type_status` (`rule_type`, `approval_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='DiscountRule:优惠、组合缴费和联报规则';
con_discount_simulationDiscountSimulation
CREATE TABLE `con_discount_simulation` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `simulation_no` VARCHAR(64) NOT NULL COMMENT '试算编号,唯一;数据级别:普通',
  `student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
  `employee_id` BIGINT NULL COMMENT '发起报价的员工 ID;数据级别:普通',
  `price_policy_ids` JSON NOT NULL COMMENT '引用的价格策略 ID 列表;数据级别:普通',
  `course_combo_json` JSON NOT NULL COMMENT '组合购买课程明细;数据级别:普通',
  `discount_detail_json` JSON NOT NULL COMMENT '优惠计算明细;数据级别:普通',
  `benefit_allocation_json` JSON NOT NULL COMMENT '权益和金额分摊结果;数据级别:普通',
  `extra_discount_apply_id` BIGINT NULL COMMENT '关联额外折扣申请 ID;数据级别:普通',
  `payable_amount` DECIMAL(18,2) NOT NULL COMMENT '最终应付金额;数据级别:普通',
  `simulation_status` VARCHAR(32) NOT NULL COMMENT '有效/失效/已转订单;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_simulation_no` (`simulation_no`),
  KEY `idx_student_status` (`student_id`, `simulation_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='DiscountSimulation:优惠试算与权益拆分';
con_extra_discount_applyExtraDiscountApply
CREATE TABLE `con_extra_discount_apply` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `apply_no` VARCHAR(64) NOT NULL COMMENT '额外折扣申请编号,唯一;数据级别:普通',
  `contract_draft_id` BIGINT NULL COMMENT '关联合同草稿 ID;数据级别:普通',
  `student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
  `employee_id` BIGINT NOT NULL COMMENT '申请员工 ID;数据级别:普通',
  `apply_amount` DECIMAL(18,2) NOT NULL COMMENT '申请额外折扣金额;数据级别:普通',
  `apply_reason` VARCHAR(512) NOT NULL COMMENT '申请原因;数据级别:普通',
  `profit_impact_json` JSON NULL COMMENT '利润影响、课程项分摊和审批参考数据;数据级别:普通',
  `effective_discount_amount` DECIMAL(18,2) NULL COMMENT '审批通过后实际生效折扣;数据级别:普通',
  `file_ids` JSON NULL COMMENT '附件文件 ID 列表,文件中心统一管理;数据级别:普通',
  `evidence_snapshot` JSON NULL COMMENT '关键凭据快照,提交后不可直接覆盖;数据级别:普通',
  `approval_status` VARCHAR(32) NULL COMMENT '审批状态,未发起为空;数据级别:普通',
  `approval_instance_id` BIGINT NULL COMMENT '关联审批实例 ID;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_apply_no` (`apply_no`),
  KEY `idx_employee_status` (`employee_id`, `approval_status`),
  KEY `idx_student_status` (`student_id`, `approval_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ExtraDiscountApply:员工端额外折扣申请';
con_contractContract
CREATE TABLE `con_contract` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `contract_no` VARCHAR(64) NOT NULL COMMENT '合同编号,唯一;数据级别:普通',
  `student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
  `family_id` BIGINT NULL COMMENT '客户家庭 ID;数据级别:普通',
  `template_id` BIGINT NOT NULL COMMENT '合同模板 ID;数据级别:普通',
  `employee_id` BIGINT NULL COMMENT '创建合同的销售/市场/课程顾问员工 ID;数据级别:普通',
  `source_terminal` VARCHAR(32) NOT NULL COMMENT '来源终端,教师端 App/小程序或 PC 管理端;数据级别:普通',
  `simulation_id` BIGINT NULL COMMENT '关联优惠试算 ID;数据级别:普通',
  `extra_discount_apply_id` BIGINT NULL COMMENT '关联额外折扣申请 ID;数据级别:普通',
  `hand_sign_status` VARCHAR(32) NOT NULL COMMENT '待手写签字/已手写签字/签字作废;数据级别:普通',
  `sign_status` VARCHAR(32) NOT NULL COMMENT '待家长签署/已手写签字/已作废;数据级别:普通',
  `payment_status` VARCHAR(32) NOT NULL COMMENT '待支付/支付中/支付成功/支付失败/已关闭;数据级别:普通',
  `enterprise_seal_status` VARCHAR(32) NOT NULL COMMENT '未触发/盖章中/已盖章/盖章失败/已归档;数据级别:普通',
  `contract_status` VARCHAR(32) NOT NULL COMMENT '草稿/生效/履约中/已终止/已退费;数据级别:普通',
  `supervision_status` VARCHAR(32) NULL COMMENT '监管报送状态;数据级别:普通',
  `currency` VARCHAR(8) NOT NULL DEFAULT 'CNY' COMMENT '币种,默认 CNY;数据级别:普通',
  `amount` DECIMAL(18,2) NOT NULL COMMENT '含税金额,必须大于等于 0;数据级别:普通',
  `tax_amount` DECIMAL(18,2) NULL COMMENT '税额,按发票或税率计算;数据级别:普通',
  `approval_status` VARCHAR(32) NULL COMMENT '审批状态,未发起为空;数据级别:普通',
  `approval_instance_id` BIGINT NULL COMMENT '关联审批实例 ID;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_contract_no` (`contract_no`),
  KEY `idx_student_status` (`student_id`, `hand_sign_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Contract:合同主表';
con_guardian_hand_signatureGuardianHandSignature
CREATE TABLE `con_guardian_hand_signature` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `signature_no` VARCHAR(64) NOT NULL COMMENT '手写签字记录编号,唯一;数据级别:普通',
  `contract_id` BIGINT NOT NULL COMMENT '合同 ID;数据级别:普通',
  `guardian_id` BIGINT NOT NULL COMMENT '签字家长 ID;数据级别:普通',
  `signature_file_id` BIGINT NOT NULL COMMENT '手写签字图片文件 ID;数据级别:普通',
  `sign_trace_json` JSON NULL COMMENT '签字轨迹、设备、IP 和时间戳;数据级别:普通',
  `signed_at` DATETIME NOT NULL COMMENT '手写签字完成时间;数据级别:普通',
  `signature_status` VARCHAR(32) NOT NULL COMMENT '有效/作废/重签;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_signature_no` (`signature_no`),
  KEY `idx_contract_guardian` (`contract_id`, `guardian_id`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='GuardianHandSignature:家长手写签字记录';
con_enterprise_seal_taskEnterpriseSealTask
CREATE TABLE `con_enterprise_seal_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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `seal_task_no` VARCHAR(64) NOT NULL COMMENT '盖章任务编号,唯一;数据级别:普通',
  `contract_id` BIGINT NOT NULL COMMENT '合同 ID;数据级别:普通',
  `payment_id` BIGINT NOT NULL COMMENT '触发盖章的支付 ID;数据级别:普通',
  `legal_entity_id` BIGINT NOT NULL COMMENT '企业电子公章所属法人主体 ID;数据级别:普通',
  `seal_rule_code` VARCHAR(64) NOT NULL COMMENT '盖章规则编码;数据级别:普通',
  `sealed_file_id` BIGINT NULL COMMENT '已盖章合同文件 ID;数据级别:普通',
  `seal_status` VARCHAR(32) NOT NULL COMMENT '未触发/盖章中/已盖章/失败/已归档;数据级别:普通',
  `failure_reason` VARCHAR(512) NULL COMMENT '盖章失败原因;数据级别:普通',
  `retry_count` INT NOT NULL DEFAULT 0 COMMENT '重试次数;数据级别:普通',
  `sealed_at` DATETIME NULL COMMENT '盖章完成时间;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_seal_task_no` (`seal_task_no`),
  KEY `idx_contract_status` (`contract_id`, `seal_status`),
  KEY `idx_payment` (`payment_id`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='EnterpriseSealTask:企业电子公章盖章任务';
ord_orderOrder
CREATE TABLE `ord_order` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `order_no` VARCHAR(64) NOT NULL COMMENT '订单编号,唯一;数据级别:普通',
  `contract_id` BIGINT NOT NULL COMMENT '合同 ID;数据级别:普通',
  `student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
  `receivable_amount` DECIMAL(18,2) NOT NULL COMMENT '应收金额;数据级别:普通',
  `discount_amount` DECIMAL(18,2) NULL COMMENT '优惠金额;数据级别:普通',
  `paid_amount` DECIMAL(18,2) NOT NULL COMMENT '已收金额;数据级别:普通',
  `order_status` VARCHAR(32) NOT NULL COMMENT '待支付/支付中/已支付/已关闭;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_order_no` (`order_no`),
  KEY `idx_contract_status` (`contract_id`, `order_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Order:订单和应收';
ord_paymentPayment
CREATE TABLE `ord_payment` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `payment_no` VARCHAR(64) NOT NULL COMMENT '收款单号,唯一;数据级别:普通',
  `order_id` BIGINT NOT NULL COMMENT '订单 ID;数据级别:普通',
  `pay_channel` VARCHAR(32) NOT NULL COMMENT '微信/支付宝/银行卡/现金/监管账户;数据级别:普通',
  `paid_amount` DECIMAL(18,2) NOT NULL COMMENT '实收金额;数据级别:普通',
  `paid_at` DATETIME NULL COMMENT '支付完成时间;数据级别:普通',
  `channel_trade_no` VARCHAR(128) NULL COMMENT '渠道流水号;数据级别:普通',
  `supervision_account_id` BIGINT NULL COMMENT '资金监管账户 ID;数据级别:普通',
  `receipt_status` VARCHAR(32) NOT NULL COMMENT '待确认/已确认/异常;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_payment_no` (`payment_no`),
  KEY `idx_order` (`order_id`),
  KEY `idx_trade_no` (`channel_trade_no`, `payment_no`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Payment:收款单';
con_supervision_reportSupervisionAccount
CREATE TABLE `con_supervision_report` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `report_no` VARCHAR(64) NOT NULL COMMENT '报送编号,唯一;数据级别:普通',
  `biz_type` VARCHAR(64) NOT NULL COMMENT '合同/收款/课消/退费;数据级别:普通',
  `biz_id` BIGINT NOT NULL COMMENT '业务 ID;数据级别:普通',
  `platform_code` VARCHAR(64) NOT NULL COMMENT '监管平台编码;数据级别:普通',
  `payload_json` JSON NOT NULL COMMENT '报送报文;数据级别:普通',
  `receipt_json` JSON NULL COMMENT '回执报文;数据级别:普通',
  `report_status` VARCHAR(32) NOT NULL COMMENT '待报送/成功/失败/重试中;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_report_no` (`report_no`),
  KEY `idx_biz` (`biz_type`),
  KEY `idx_status` (`report_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='SupervisionAccount:合同、收款、课消、退费监管报送';
ord_refundRefund
CREATE TABLE `ord_refund` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `refund_no` VARCHAR(64) NOT NULL COMMENT '退款编号,唯一;数据级别:普通',
  `contract_id` BIGINT NOT NULL COMMENT '合同 ID;数据级别:普通',
  `student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
  `refund_amount` DECIMAL(18,2) NOT NULL COMMENT '退款金额;数据级别:普通',
  `calculate_detail` JSON NOT NULL COMMENT '退款计算明细;数据级别:普通',
  `refund_status` VARCHAR(32) NOT NULL COMMENT '待审批/待退款/已退款/已驳回/失败;数据级别:普通',
  `approval_status` VARCHAR(32) NULL COMMENT '审批状态,未发起为空;数据级别:普通',
  `approval_instance_id` BIGINT NULL COMMENT '关联审批实例 ID;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_refund_no` (`refund_no`),
  KEY `idx_contract_status` (`contract_id`, `refund_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Refund:退款单';
con_class_course_transferClassCourseTransfer
CREATE TABLE `con_class_course_transfer` (
  `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 '乐观锁版本号,写操作必须校验;数据级别:普通',
  `transfer_no` VARCHAR(64) NOT NULL COMMENT '转班转课编号,唯一;数据级别:普通',
  `student_id` BIGINT NOT NULL COMMENT '学员 ID;数据级别:普通',
  `from_class_id` BIGINT NULL COMMENT '原班级 ID;数据级别:普通',
  `to_class_id` BIGINT NULL COMMENT '目标班级 ID;数据级别:普通',
  `from_course_id` BIGINT NULL COMMENT '原课程 ID;数据级别:普通',
  `to_course_id` BIGINT NULL COMMENT '目标课程 ID;数据级别:普通',
  `rights_snapshot` JSON NOT NULL COMMENT '权益变更快照;数据级别:普通',
  `transfer_status` VARCHAR(32) NOT NULL COMMENT '待确认/已生效/已取消;数据级别:普通',
  `approval_status` VARCHAR(32) NULL COMMENT '审批状态,未发起为空;数据级别:普通',
  `approval_instance_id` BIGINT NULL COMMENT '关联审批实例 ID;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_transfer_no` (`transfer_no`),
  KEY `idx_student_status` (`student_id`, `transfer_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ClassCourseTransfer:转班转课权益变更';

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

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

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

异常状态

优惠互斥冲突收款不一致合同备案失败优惠规则冲突优惠需审批补差未支付退差待审核权益重算失败监管重报失败作废重签权益回滚失败无可用价格额外折扣审批未通过未手写签字不可支付支付成功但盖章失败销售人员误入 PC 合同创建被拦截额外折扣未审批不可推送家长支付成功但企业盖章失败

指标埋点

合同签署率组合缴费占比优惠使用率监管报送成功率退款审批时长

测试用例

编号场景前置步骤预期优先级
TC-CON-ROLE-001员工端创建合同并推送家长课程顾问/销售/市场账号拥有本人授权学员,PC 管理端已启用价格、优惠和合同模板在迪诺学堂教师端 App/小程序创建合同草稿、选择课程和优惠、确认报价并推送家长员工端 100% 只展示本人授权学员;合同草稿可生成;家长端 30 秒内收到待签署合同
TC-CON-ROLE-002一线销售无 PC 制单入口账号角色为课程顾问、销售人员或市场人员登录 PC Web 管理端并访问合同创建、价格维护、优惠维护或直接访问相关链接不展示合同制单和价格优惠维护菜单;直连返回无权限并提示使用迪诺学堂教师端 App/小程序;越权写审计
TC-CON-PRICE-001管理人员维护价格优惠管理人员拥有 PC Web 合同配置权限新增课程价格、组合价格、优惠规则并提交审批,通过后员工端刷新报价审批通过前员工端不可引用;通过后 30 秒内可见;停用后新合同不可再选
TC-CON-DISCOUNT-001额外折扣审批后生效员工端报价需要申请额外折扣,审批流已配置员工提交额外折扣申请,管理员在 PC Web 审批通过或驳回审批通过前不可推送家长;通过后最终应收金额更新;驳回后员工端展示原因并保留原报价
TC-CON-SIGN-001未手写签字禁止支付员工端已推送合同到家长端,家长未完成手写签字家长进入合同支付页并尝试支付支付按钮置灰或接口拒绝;提示需先完成手写签字;完成手写签字后支付入口立即开放
TC-CON-SEAL-001支付成功自动企业盖章家长已完成手写签字并成功支付支付回调成功后触发企业电子公章任务并查看家长端合同支付状态 10 秒内回写;盖章任务自动创建;盖章成功后家长端可查看已盖章文件;失败进入 PC 异常处理
TC-CON-REG-001支付盖章后监管备案合同已手写签字、支付成功且企业盖章完成,监管配置启用系统发起合同备案和收款报送,模拟回执成功与失败成功回执归档;失败可重试或人工处理;合同、订单、监管状态一致
TC-CON-AMEND-001合同变更作废重签合同已支付并盖章,需要变更课程或金额发起合同变更或作废重签审批,家长重新签署相关协议原合同、新合同、补充协议、权益重算、财务凭证和监管状态可追溯
TC-CON-ENH-001角色终端与合同创建交付闭环验收PC 价格优惠配置、员工端合同创建、员工端额外折扣申请、推送家长签署相关基础数据、权限、审批流、消息模板和接口配置已初始化按明确管理人员在 PC Web 维护课程价格、组合价格、可用优惠和审批规则;销售/市场/课程顾问通过迪诺学堂教师端 App/小程序创建合同、申请额外折扣并推送家长签署。执行前端提交、后端处理、状态流转、异常重试和消息触达PC Web 无一线销售制单入口,员工端只能操作本人授权学员和授权优惠。;同时产生审计日志、指标埋点和必要的补偿任务
TC-CON-ENH-002优惠价格治理交付闭环验收课程价格管理、组合价格管理、可用优惠规则、额外折扣审批、员工端报价确认相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐价格规则、组合价格、优惠试算器、规则冲突提示、额外折扣审批、合同项分摊和退款反算;额外折扣须审批通过后才进入最终报价。执行前端提交、后端处理、状态流转、异常重试和消息触达合同、订单、支付、优惠分摊和退款测算金额一致。;同时产生审计日志、指标埋点和必要的补偿任务
TC-CON-ENH-003签署支付与企业盖章交付闭环验收家长合同查看、手写签字、合同支付、企业电子公章、合同归档相关基础数据、权限、审批流、消息模板和接口配置已初始化按家长端必须先完成合同手写签字,系统才开放支付;支付成功后自动触发企业电子公章并归档合同文件。执行前端提交、后端处理、状态流转、异常重试和消息触达未手写签字不可支付;支付成功后企业电子公章、合同归档和状态回写自动完成。;同时产生审计日志、指标埋点和必要的补偿任务
TC-CON-ENH-004合同变更交付闭环验收合同详情、补充协议、转课测算、退款审批相关基础数据、权限、审批流、消息模板和接口配置已初始化按补充合同变更类型、补充协议签署、权益重算、收退差、监管重报和财务凭证调整。执行前端提交、后端处理、状态流转、异常重试和消息触达合同变更后课表、课消、应收、监管备案和凭证同步更新。;同时产生审计日志、指标埋点和必要的补偿任务
TC-CON-ENH-005监管支付交付闭环验收监管报送日志、合同详情、付款单相关基础数据、权限、审批流、消息模板和接口配置已初始化按增加监管回执失败重试、人工处理、回执归档和状态提示。执行前端提交、后端处理、状态流转、异常重试和消息触达每笔监管相关资金动作均有报送状态、回执和失败处理入口。;同时产生审计日志、指标埋点和必要的补偿任务

上线初始化

初始化项动作数据验收
合同角色终端权限初始化合同模块管理人员、课程顾问、销售人员、市场人员、家长和财务的端侧菜单、按钮、字段和接口权限;一线员工关闭 PC Web 合同制单入口roleCode、terminalScope、menuCodes、buttonCodes、fieldPolicy、apiPolicy、dataScope管理人员在 PC 管理端维护价格优惠和审批;员工端只处理本人授权学员合同
课程价格与组合价格初始化课程标准价、校区价、组合价、多科联报价格、有效期、适用校区、启停状态和审批流courseId、campusScope、priceType、priceAmount、effectiveAt、approvalFlow、enabled员工端报价只能引用已审批启用的价格版本
可用优惠规则初始化满减、折扣、赠课、老带新、多科联报、叠加互斥、择优、审批阈值和停用规则ruleType、stackPolicy、courseScope、discountValue、approvalThreshold、exclusiveGroup、enabled员工端只能选择适用优惠,冲突时展示原因和替代方案
额外折扣审批流初始化员工端额外折扣申请入口、审批节点、金额阈值、利润影响展示和审批结果消息模板applyFlow、discountLimit、profitImpactRule、notifyTemplate、effectiveRule额外折扣审批通过后才进入最终报价并允许推送家长
家长手写签字与支付前置校验初始化家长端合同查看、手写签字采集、签字轨迹、签字文件、支付按钮启用条件和支付失败提示handSignRequired=true、signFileBucket、signTraceRule、paymentGuard、failureTips未手写签字时家长端不可支付,接口层也阻断支付
企业电子公章初始化企业电子公章规则、印章主体、盖章位置、自动触发条件、失败重试、归档策略和异常处理入口sealRuleCode、legalEntityId、sealPosition、trigger=PAYMENT_SUCCESS、retryPolicy、archivePolicy支付成功后自动盖章,失败进入 PC 合同异常处理
合同监管与归档初始化合同备案、收款报送、回执归档、失败重试、人工处理和合同文件下载权限regulatorRule、reportRetry、receiptArchive、manualHandleFlow、downloadPolicy签字、支付、盖章、监管和归档状态可相互追溯
角色终端与合同创建交付配置初始化明确管理人员在 PC Web 维护课程价格、组合价格、可用优惠和审批规则;销售/市场/课程顾问通过迪诺学堂教师端 App/小程序创建合同、申请额外折扣并推送家长签署。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限PC 价格优惠配置、员工端合同创建、员工端额外折扣申请、推送家长签署PC Web 无一线销售制单入口,员工端只能操作本人授权学员和授权优惠。
优惠价格治理交付配置初始化补齐价格规则、组合价格、优惠试算器、规则冲突提示、额外折扣审批、合同项分摊和退款反算;额外折扣须审批通过后才进入最终报价。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限课程价格管理、组合价格管理、可用优惠规则、额外折扣审批、员工端报价确认合同、订单、支付、优惠分摊和退款测算金额一致。
签署支付与企业盖章交付配置初始化家长端必须先完成合同手写签字,系统才开放支付;支付成功后自动触发企业电子公章并归档合同文件。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限家长合同查看、手写签字、合同支付、企业电子公章、合同归档未手写签字不可支付;支付成功后企业电子公章、合同归档和状态回写自动完成。
合同变更交付配置初始化补充合同变更类型、补充协议签署、权益重算、收退差、监管重报和财务凭证调整。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限合同详情、补充协议、转课测算、退款审批合同变更后课表、课消、应收、监管备案和凭证同步更新。
监管支付交付配置初始化增加监管回执失败重试、人工处理、回执归档和状态提示。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限监管报送日志、合同详情、付款单每笔监管相关资金动作均有报送状态、回执和失败处理入口。