| 文档属性 | 内容 |
|---|---|
| 文档版本 | V1.2 |
| 产品名称 | 直播激励结算中台 |
| 模块名称 | 政策配置(低代码组装) |
| 系统版本 | V10.2 |
| 优先级 | P0(核心功能) |
| 文档状态 | 已按优化版原型更新 |
| 创建日期 | 2026-03-24 |
| 最近更新 | 2026-06-18 |
公司直播业务线涵盖多款游戏(天龙八部手游、FC ONLINE、DNF系列、石器时代、天堂2等),每款游戏的主播激励政策规则各不相同,且会随运营节奏频繁调整。
目前存在以下问题:
构建一套低代码政策配置中台,实现:
| 用户角色 | 使用场景 | 核心诉求 |
|---|---|---|
| 运营人员 | 配置/调整政策规则、导入数据、提交审核、执行核算、导出结算单 | 快速上手、灵活组装、准确高效、异常可追溯、支持修改 |
| 部门负责人 | 审核下属员工提交的活动配置,检查政策规则的合理性 | 快速审批、配置透明、审核可追溯 |
| 技术开发 | 维护算子引擎、扩展新算子 | 数据驱动、模型清晰、易扩展 |
直播激励结算中台 V10.2
├── 📋 活动与政策管理(列表页)
│ ├── 活动列表(草稿/待审核/已驳回/生效中/已结束)
│ ├── 新建活动
│ └── 查看/编辑活动
│
├── ✅ 审核管理(负责人视角)
│ ├── 审核列表(待审核/已通过/已驳回)
│ ├── 审核详情(只读查看配置 + 通过/驳回操作)
│ └── 审核历史记录
│
├── ⚙️ 政策配置器(编辑页,本文核心)
│ ├── 1. 活动基础信息
│ ├── 2. 数据导入与字段标准化
│ └── 3. 政策画布(低代码组装)
│ ├── 政策属性面板
│ └── 算子节点画布(9个已接入算子 + 1个预留算子)
│
└── 📊 结算单系统
├── 结算任务大盘
└── 结算明细对账单
| # | 原则 | 说明 |
|---|---|---|
| 1 | 一切皆条件组 | 所有筛选/准入/分级逻辑统一用「通用条件组」表达 |
| 2 | 运算符全覆盖 | 比较运算符8种(>, >=, <, <=, =, !=, BETWEEN, IN),逻辑运算符3种(AND/OR/NOT) |
| 3 | 无限嵌套 | 条件组支持递归嵌套子条件组,表达任意复杂逻辑 |
| 4 | 一切皆可增删 | 条件行、档位行、政策Tab全部支持动态增删排序 |
| 5 | 数据驱动渲染 | 所有UI由JSON数据模型驱动,改数据即改界面 |
定义当前活动的基本参数,是政策配置的入口。
| 配置项 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 活动名称 | 下拉选择 | 是 | 获取活动列表中正在进行中的活动 |
| 开始时间 | 日期展示 | — | 选择活动后自动获取该活动的开始时间,仅展示不允许修改 |
| 结束时间 | 日期展示 | — | 选择活动后自动获取该活动的结束时间,仅展示不允许修改 |
| 所属年月 | 月份选择 | 是 | 选择当前结算所属的年月(格式:YYYY-MM) |
| 付款方式 | 下拉选择 | 是 | 当前版本仅开放「个人直发」。表格直发是政策画布中的算子能力,不再改写活动付款方式 |
| 达人确认 | 开关(Switch) | 否 | 默认关闭。开启后,上级审核通过需先由达人在小程序确认金额后再推送财务内审;关闭则上级审核通过后直接推送财务内审 |
| 确认/票据截止时间 | 日期选择 | 条件必填 | 仅在"达人确认"开启时显示且必填。达人需在此时间前完成金额确认和票据上传,超时系统自动提醒 |
活动全生命周期根据「达人确认」开关的状态分为两条流程分支:
流程A:开启达人确认
草稿 → 提交审核 → 待上级审核 → 上级审核通过 → 待达人确认 → 达人确认完成 → 财务内审 → 内审通过 → 待上传票据 → 票据齐全 → 推送FPP → 已完成
│ │
└── 上级驳回 → 已驳回(退回修改) └── 财务驳回 → 已驳回(退回修改)
流程B:关闭达人确认(默认)
草稿 → 提交审核 → 待上级审核 → 上级审核通过 → 财务内审 → 内审通过 → 待上传票据 → 票据齐全 → 推送FPP → 已完成
│ │
└── 上级驳回 → 已驳回 └── 财务驳回 → 已驳回(退回修改)
状态说明
| 状态 | 可见角色 | 可执行操作 |
|---|---|---|
| 草稿 | 创建者 | 编辑、保存、提交审核 |
| 待上级审核 | 创建者(只读) + 审核人 | 审核人:通过 / 驳回 |
| 已驳回 | 创建者 | 查看驳回原因、修改配置、重新提交审核 |
| 待达人确认 | 创建者(只读) + 达人(小程序) | 达人:确认金额 |
| 财务内审中 | 创建者(只读) + 财务 | 财务:通过 / 驳回 |
| 待上传票据 | 创建者(只读) + 达人(小程序) | 达人:上传发票、完税证明 |
| 已推送FPP | 所有人 | 查看结算单、票据 |
| 已完成 | 所有人 | 只读查看 |
上传结算数据表(支持含多个平台子表的Excel),系统自动完成数据解析、平台子表识别、数据预览和异常检测,为后续引擎核算提供标准化数据源。
上传数据文件 → 解析表头 → 识别平台子表(抖音/快手/B站) → 数据预览 → 异常检测 → 完成
| 功能点 | 说明 |
|---|---|
| 文件上传 | 支持 .xlsx / .csv 格式 |
| 平台子表识别 | 自动识别Excel中的多个Sheet为不同平台子表(抖音、快手、B站),支持切换查看 |
| 数据预览 | 展示导入数据预览,默认展示全部50行样例数据;表格支持横向滚动查看所有字段 |
| 异常检测 | 检测空值、类型错误(数值列含非数字)、负数、供应商ID/合同编号缺失或不一致等异常;若数据有问题,在预览下方展示具体异常行、字段和原因 |
| 统计摘要 | 展示在数据预览表格下方,包含数据行数、字段数、标准字段数、本平台独有字段数、自定义字段数、异常行数 |
系统内置标准字段,按以下分组组织(对齐《三平台字段标准化映射表 V5》):
| 分组 | 包含字段 |
|---|---|
| 🔵 基础信息 | 真实姓名、身份证号、供应商ID、合同编号 |
| ✅ 看板标准 | 账号ID、账号名称、账号粉丝数、直播总时长(min)、峰值在线人数、平均在线人数ACU(min)、有效播放量、弹幕量、总观看人数、直播间点击次数、点赞量、评论量 |
| ⚠️ 非看板跨平台 | 主播身份、运营经纪人、招募经纪人、入会时间、总流水、电台流水、虚拟流水、新增粉丝数、PK次数、PK流水、上次开播时间、开播有效时长、主播标签、备注 |
| ⬜ B站独有 | 房间号、开播分区、TOPSTAR等级、主播等级分数、娱乐流水、网游流水、手游流水、大航海人数、付费人数、付费率、人均观看时长、曝光人数、直播经验、直播类型 |
| ⬜ 快手独有 | 合约到期时间、续约状态、入会渠道、直播分成比、有效流水、无效流水、开播无效时长、沉默天数、主播工作室 |
| ⬜ 抖音独有 | 抖音号、抖音号(原)、火山号、西瓜号、签约类型、首播时间、直播音浪分成比、礼物音浪、道具音浪、嘉宾音浪、活动音浪、作品数、Feed看播时长、PK胜利次数、PK音浪占比、PK分值、星守护音浪、星守护付费人数、AI分身收获音浪 |
| 📊 流量指标 | 场观UV、进直播间人数、进直播间人数UV、日均UV、月场观UV |
| ⏱ 时长指标 | 直播总时长(h)、有效天数、周时长(h)、累计时长(h)、开播时长(h) |
| 💬 互动指标 | 总互动量、点赞数、转发数、评论数 |
| 💰 商业指标 | 已执行总价、付费金额、流水(元)、CPM |
| 👤 主播属性 | 机构ID、主播等级、是否新主播、招募渠道、签约月份数 |
| 🎮 游戏指标 | 赛季段位、赛季积分、组队完成场次、全服分数、击倒分数、战盟段位 |
| 📈 平均指标 | 平均在线人数ACU、日均ACU、场均UV、单场最高在线 |
| 🧮 计算指标 | 影响力积分、ACU增幅比例、场观溢出比例 |
每个活动可包含N个政策,每个政策由若干算子节点组装而成。政策通过Tab页切换,算子节点在画布区域通过拖拽/点击添加,支持拖拽排序。
位于画布右侧的属性面板,用于配置当前选中政策的全局属性。
| 配置项 | 字段名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 政策名称 | name |
文本 | 是 | — | 政策标签页上显示的名称 |
| 活动时间 | activityTimeStart / activityTimeEnd |
日期 | 否 | 继承活动时间 | 每个政策可独立设定考核时间范围,留空则使用活动整体时间 |
| 合并关系 | relation |
下拉 | 是 | add |
决定该政策与其他政策金额的合并方式 |
| 互斥组成员 | mutexGroup |
多选 | 条件 | — | 当合并关系为"互斥"时显示,勾选哪些政策与当前政策互斥 |
| 有效天数定义 | validDayHours |
数字 | 否 | 1 | N小时=1个有效天,留空/0使用全局默认(1小时=1天) |
| 适用平台 | platformScope |
多选/快捷标签 | 是 | 全平台 | 选择当前政策适用的平台范围,支持抖音、快手、B站、全平台。选择全平台时,所有节点都可引用跨平台字段 |
| 全平台计算方式 | platformCalcMode |
下拉 | 条件 | 独立 | 仅适用平台为全平台时显示。选项:最高、最低、合并、独立;按节点字段自动比较平台数据 |
| 全局计算字段 | globalComputedFields |
右侧卡片 + 弹窗 | 否 | 空 | 政策域字段,所有节点均可引用。仅允许新增和修改,不允许删除;配置项包含字段名、计算公式、说明、值类型、启用状态、排序 |
| 值 | 名称 | 说明 |
|---|---|---|
add |
叠加 | 各政策金额累加(默认) |
max |
取最高 | 多政策取最高金额,只发最多的那个 |
mutex |
互斥多选一 | 与指定政策组互斥,取最低金额发放 |
add)| 操作 | 说明 |
|---|---|
| 添加政策 | 点击标签栏的"+ 加政策"按钮 |
| 复制政策 | 右侧属性面板底部的"复制政策"按钮,完整复制所有算子配置 |
| 删除政策 | 右侧属性面板底部的"删除政策"按钮;点击后弹出二次确认弹窗,确认后执行删除(至少保留一个政策) |
| 切换政策 | 点击Tab标签页切换 |
| 操作 | 说明 |
|---|---|
| 拖拽添加 | 从左侧算子面板拖拽到画布区域添加算子节点 |
| 点击添加 | 直接点击左侧算子面板中的算子 |
| 拖拽排序 | 在画布中拖拽节点卡片调整算子执行顺序 |
| 删除算子 | 点击节点右上角的 × 按钮 |
| 收起/展开面板 | 左侧算子面板和右侧属性面板均可独立收起 |
| 工具 | 说明 |
|---|---|
| 试算 | 基于当前导入数据和政策配置执行本地试算,生成试算结果预览 |
| 试算溯源 | 展示每条政策的算子链路、适用平台、节点执行摘要,便于审核前检查配置口径 |
| 导出试算结果 | 导出当前试算结果文件,用于提交前自查或线下沟通 |
通用条件组是政策配置中最核心的基础组件,被多个算子复用:准入/筛选条件、排名每档准入条件、固定金额准入条件、奖池平分达标条件等。
条件组支持三种逻辑运算符,通过下拉选择框切换(默认 AND)。当前UI为浅青色条件块,头部从左到右依次为逻辑下拉、+ 条件、子组,嵌套子组显示删除入口。
| 逻辑运算符 | 标签 | 说明 | UI样式 |
|---|---|---|---|
AND |
且(全部满足) | 所有子条件都必须为真 | 白底下拉,浅青色条件组容器 |
OR |
或(任一满足) | 任一子条件为真即可 | 白底下拉,浅青色条件组容器 |
NOT |
非(取反) | 通常只包含一个子条件/组 | 白底下拉,浅青色条件组容器 |
条件组内支持两种元素:
| 元素类型 | 说明 |
|---|---|
| 简单条件行 | 字段 + 运算符 + 值,是最小的条件单元 |
| 嵌套子条件组 | 递归嵌套,支持无限层级,可表达任意复杂逻辑 |
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
field |
下拉 | — | 从标准字段库中选择(80+字段)+ "自定义..." |
operator |
下拉 | >= |
比较运算符(8种) |
value |
输入 | — | 比较值。系统根据字段名自动匹配输入组件:数值字段显示数字输入,日期/时间字段显示日期选择,时长字段显示“时/分/秒”组合输入,普通字段显示文本输入 |
value2 |
输入 | — | 仅BETWEEN时显示,作为区间上限 |
| 运算符 | 标签 | 值类型 | UI表现 |
|---|---|---|---|
> |
大于 | 单值 | 单输入框 |
>= |
大于等于 | 单值 | 单输入框 |
< |
小于 | 单值 | 单输入框 |
<= |
小于等于 | 单值 | 单输入框 |
= |
等于 | 单值 | 单输入框 |
!= |
不等于 | 单值 | 单输入框 |
BETWEEN |
区间 | 双值 | 两个输入框(下限~上限) |
IN |
属于列表 | 多值 | 逗号分隔输入 |
系统提供 9个已接入算子 + 1个预留算子,并提供右侧政策域「全局计算字段」能力。全局计算字段不再作为普通画布算子拖入。
| 分类 | 算子 | 用途 |
|---|---|---|
| 前置条件类 | ① 准入/筛选条件 | 数据预处理,决定谁有资格、如何折算 |
| 核心规则类 | ② 阶梯排名发奖、③ 阶梯达标/溢出即发、④ 固定金额即发、⑤ 固定奖池平分、⑥ 流水分成/返点、⑦ 裂变伯乐激励 | 核心奖励计算逻辑 |
| 直发类 | ⑧ 表格直发 | 按名单直接发放 |
| 政策域能力 | ⑨ 全局计算字段 | 在右侧政策属性面板配置,所有节点可引用;仅允许新增和修改 |
| 预留能力 | ⑩ 多周期奖池瓜分 | 已预留数据结构和引擎方向,但当前不接入主画布、不参与线上计算 |
用途: 设置主播参与结算的前置资格条件,并在未达标时配置淘汰或折算分支。该算子支持多条准入条件,每条准入条件可配置多条折算分支。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 名称 | name |
文本 | — | 过滤器名称,如“基准要求”“11月准入条件” |
| 多条准入怎么判定 | admissionLogic |
下拉 | any |
满足任意一条准入 / 满足全部准入 |
| 命中多条时取值 | admissionMatchMode |
下拉 | first |
取第一条命中结果 / 选择最优折扣 |
每条准入条件由“准入名称 + 未达标处理 + 通用条件组 + 折算分支(可选)”构成。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 准入条件名称 | admissionGroups[].name |
文本 | 准入条件1 | 用于排名档位等后续算子绑定引用 |
| 准入条件 | admissionGroups[].conditionGroup |
条件组 | 空条件组 | 复用通用条件组,支持 AND/OR/NOT 和子组嵌套 |
| 未达标 | admissionGroups[].failAction |
下拉 | discount |
折算 / 淘汰 |
| 值 | 名称 | 说明 |
|---|---|---|
eliminate |
淘汰 | 不满足条件的主播直接排除,不参与后续任何排名/瓜分/发奖环节,结算金额为0 |
discount |
折算 | 不满足准入条件时不直接淘汰,而是继续判断折算条件,按命中的折算分支决定最终处理 |
折算分支用于表达“准入未达标后,按哪些补充条件进行折算或兜底”。每条准入条件下可新增多条折算条件。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 命中多条折算条件时 | discountMatchMode |
下拉 | first |
取第一条命中结果 / 选择最优折扣 |
| 都没命中折算条件时 | discountMissAction |
下拉 | zero |
发0元(不结算) / 按原金额发放 / 淘汰 |
| 折算条件名称 | discountBranches[].name |
文本 | 折算条件1 | 展示在折算分支顶部 |
| 折算条件 | discountBranches[].conditionGroup |
条件组 | 空条件组 | 复用通用条件组,可配置多条条件和子组 |
UI要求: 顶部展示“支持多条准入条件;每条准入条件可配置多条折算分支(未达标时生效)”提示。准入条件和折算条件均使用同一套浅青色通用条件组组件。
用途: 用已有字段通过公式计算出新虚拟字段,供后续准入、排名、达标、直发等节点引用。该能力位于右侧政策属性面板,不作为普通画布算子拖入。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 字段名 | fieldName |
文本 | — | 新字段名称 |
| 计算公式 | formula |
文本 | — | 自定义计算公式,支持引用标准字段名和 +、-、×、÷、()。如 点赞数 * 0.2 + 转发数 * 0.5 + 评论数 * 1、付费金额 / 10 |
| 说明 | note |
文本 | — | 业务说明,便于审核人理解字段口径 |
| 值类型 | valueType |
下拉 | number |
数值 / 时长 / 文本 |
| 启用状态 | enabled |
下拉 | 启用 | 停用后保留配置,但不进入可引用字段列表 |
| 排序 | order |
数字 | 自动递增 | 控制右侧字段卡片展示顺序 |
公式输入辅助: - 提供"插入字段"下拉按钮,运营可从标准字段列表中点选插入,避免手动输入字段名拼写错误 - 提供运算符快捷按钮(+、-、*、/、(、)),点击自动插入到公式光标位置 - 实时校验:公式中引用的字段名如果不在标准字段列表中,会显示红色警告提示;全部匹配则显示绿色通过
增删改规则:全局计算字段只允许新增和修改,不允许删除。已有字段通过“编辑”进入弹窗修改;若触发删除动作,系统提示“全局计算字段只允许新增和修改,不能删除”。
用途: 按指标排名分档发放奖励。是使用频率最高的核心算子。支持单指标排名、多维加权排名。每档可设独立准入条件+名额限制。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 排名方式 | sortMethod |
下拉 | single |
single(单指标) / weighted(多维加权)。如需按自定义公式排名,可在右侧「全局计算字段」中生成新字段,再用 single 排名 |
| 排序配置 | sortFields |
数组 | — | 多级排序,每级含字段+排序方向(desc/asc) |
| 空额累积 | quotaOverflow |
开关 | none |
cascade(高档位未满员→名额累积到低一档) / none(不累积) |
| 金额模式 | amountMode |
下拉 | fixed |
fixed(固定总额) / unit_price(单价×时长) |
| 配置项 | 说明 |
|---|---|
| 权重配置 | N个维度字段 + 权重百分比(总和=100%) |
注:若某维度未达标需惩罚(如打折发放),由前置的「准入/筛选条件」算子的折算(discount)功能实现,不在排名算子中配置。
| 属性 | 说明 |
|---|---|
tiers[].name |
档名 |
tiers[].admissionName |
绑定准入条件。下拉选项来自前置「准入/筛选条件」算子中的准入条件名称;无前置准入时默认显示“准入条件1” |
tiers[].amount |
金额(数值) |
tiers[].limit |
该档位名额限制(留空不限) |
tiers[].condGroup |
每档独立准入条件(复用通用条件组)。UI展示为“第X档 准入条件:”并使用浅青色条件组 |
tiers[].condNote |
档位条件备注说明 |
UI要求: 档位表表头为“档名 / 绑定准入条件 / 金额 / 名额 / 操作”。每个档位行下方展开该档的准入条件组,样式需与准入/筛选条件算子的条件组一致。
| 字段 | 说明 |
|---|---|
rankNote |
排名规则说明卡片,展示特殊规则 |
exclusionNote |
互斥排他说明卡片 |
quotaOverflowNote |
空额累积规则备注 |
用途: 按指标阈值分档,达到哪档发哪档金额(不排名,达标即发)。支持绝对值和百分比(相对基线)两种指标形态。每档可设独立准入条件。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 对标字段 | targetField |
下拉 | — | 用于阈值判断的字段(从标准字段库选择),如"月均ACU"、"场观UV" |
| 指标形态 | metricType |
下拉 | absolute |
absolute(绝对值) / percentage(百分比·相对基线) |
| 基线字段 | baseField |
下拉 | — | 百分比模式时的基准字段(metricType=percentage时必填) |
| 基线值 | baseVal |
数字 | — | 百分比模式时的基准值(metricType=percentage时必填) |
| 规则说明 | ruleNote |
文本 | — | 特殊规则备注卡片 |
指标形态说明
| 值 | 说明 | 公式 | 阈值单位 | 正负 |
|---|---|---|---|---|
absolute |
直接用字段原始值判断 | 无 | 与字段原始单位一致 | 仅正值 |
percentage |
相对基线的偏移百分比 | (实际值 - 基线值) / 基线值 × 100% | 百分比(%) | 支持正负(正=超出/增长,负=低于/下降) |
⚠️ 百分比模式的阈值为百分比数值:例如填写
60表示 60%,填写-30表示 -30%。系统在展示时会自动加%后缀。适用于溢出比例、增长率等场景。
档位表(动态增删行)
每档包含:运算符(支持BETWEEN双值)、阈值(百分比模式下为百分比,支持正负值)、金额、条件备注、独立准入条件组。
用途: 满足条件就发固定金额,不排名不瓜分。支持多档配置——不同条件可发不同金额,无需重复添加多个组件。
档位表(动态增删):
每档包含:
| 配置项 | 字段 | 类型 | 说明 |
|---|---|---|---|
| 发放条件 | conditionGroup |
条件组 | 该档位的准入条件,复用通用条件组 |
| 金额 | amount |
数值 | 满足该档条件时发放的金额 |
| 备注 | note |
文本(可选) | 该档位的说明,如"全勤底薪"、"基础底薪" |
💡 匹配逻辑:从上到下依次匹配,命中哪档发哪档金额。若需"只发最高档"则从高到低排列条件即可。
用途: 固定一笔总奖金,由达标人均分或按比例/加权分配,每人不超过封顶值。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 准入条件 | conditionGroup |
条件组 | — | 复用通用条件组,决定哪些人参与瓜分 |
| 总奖池(元) | pool |
数字 | — | 该政策的总奖金金额 |
| 分配方式 | dist |
下拉 | average |
average(平均) / proportional(按比例) / weighted(加权) |
| 单人上限(元) | cap |
数字 | — | 单人最多能分到的金额上限(留空不限) |
分配方式说明
| 值 | 说明 | 额外配置 |
|---|---|---|
average |
所有达标人均分:每人 = 总奖池 ÷ 达标人数 | 无 |
proportional |
按某指标占总量的比例分配:每人 = 奖池 × (该人指标值 / 所有人指标值之和) | proportionalField:选择比例指标(如场观UV、单月总场观) |
weighted |
多维度加权后按权值比例分配:得分 = Σ(各指标占比 × 权重) | weightDims:维度数组,每个维度包含 field(指标) + weight(权重) |
用途: 按绑定变量的阶梯比例计算分成金额。适用于"积分越多分成比例越高"的阶梯返点场景。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 绑定变量 | variable |
下拉 | — | 用于计算分成的指标字段(从标准字段库选择,可引用全局计算字段生成的虚拟字段) |
阶梯分成表(动态增删行):运算符 + 阈值 + 分成比例(%)
用途: 老主播推荐新主播加入的奖励机制。支持按人/笔固定奖金或阶梯表,可设个人封顶、总预算、名额限制。
注意: 本组件不内置准入条件,准入逻辑统一通过前置的「条件筛选」组件(condition-filter)配置。
| 配置项 | 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 奖励发给 | rewardTarget |
下拉 | referrer |
referrer(推荐人) / referee(被推荐人) / both(双方均发) |
| 触发类型 | — | 固定 | headcount |
按推荐的有效新主播人数计算 |
| 奖励模式 | rewardMode |
下拉 | per_unit |
per_unit(按人/笔固定奖金) / tiered(阶梯表) |
| 单人/笔奖(元) | perUnit |
数字 | — | per_unit模式时的每次奖金 |
| 个人封顶(元) | cap |
数字 | — | 单个推荐人最多能获得的奖金上限(留空不限) |
| 总预算封顶(元) | totalBudget |
数字 | — | 所有推荐人奖金总和上限(留空不限) |
| 全局名额 | globalQuota |
数字 | — | 伯乐激励总名额限制(留空不限) |
| 超限排序字段 | overflowSort |
下拉 | — | 超名额时排名依据字段(globalQuota有值时必填) |
| 超限排序方向 | overflowOrder |
下拉 | desc |
desc(降序) / asc(升序) |
用途: 按名单直接发放,不排名不瓜分。适用于审批后直接发放的场景。
注意: 表格直发是画布算子能力,用于按名单字段直接生成发放明细;它不会改写活动基础信息中的「付款方式」,付款方式仍保持「个人直发」。
| 配置项 | 字段 | 类型 | 说明 |
|---|---|---|---|
| 主金额字段 | amountField |
下拉 | 优先取该字段作为发放金额;未配置时按字段列表兜底 |
| 字段列表 | fields[] |
数组 | 配置需要从导入名单读取的字段及字段类型,支持新增字段 |
| 规则说明 | ruleNote |
多行文本 | 说明该直发名单的业务口径,供审核和溯源查看 |
业务逻辑:系统将按导入名单中的基础信息(真实姓名、身份证号、供应商ID、合同编号)匹配发放对象,并按主金额字段/字段列表生成发放明细。
用途: 用于未来支持多周期奖池瓜分场景。当前版本仅在数据结构和算子文档中预留,不接入主画布、不参与线上计算。
Tips: 该算子当前状态为预研预留。引擎文件中已有方向性实现,但未接入算子注册表,线上主引擎默认不会执行该算子。
| 预留字段 | 类型 | 说明 |
|---|---|---|
splitMethod |
equal_share / weighted_share |
瓜分方式 |
periods |
数组 | 考核周期列表,预留结构为 dateStart、dateEnd、conditionGroup、pool、cap |
审核管理模块用于部门负责人审核下属员工配置的活动政策。审核环节处于"配置完成"与"生效执行"之间,确保每个上线的活动政策都经过负责人检查确认,避免配置错误导致的结算问题。
员工保存配置(草稿) → 提交审核 → 负责人收到审核通知 → 查看配置详情 → 通过(生效)/驳回(退回修改)
编辑页顶部操作栏,在"保存"按钮右侧新增「提交审核」按钮。
提交审核时系统自动执行配置完整性校验:
| 校验项 | 规则 | 失败提示 |
|---|---|---|
| 活动名称 | 必须已选择活动 | "请先选择活动名称" |
| 政策配置 | 至少有1个政策包含至少1个算子节点 | "至少配置一条含算子的政策" |
| 数据导入 | 必须已导入数据文件 | "请先导入结算数据" |
| 数据异常 | 存在供应商ID/合同编号缺失、不一致或其他阻断级异常时,不允许提交 | "导入数据存在异常,请先处理异常明细" |
| 全局计算字段 | 若配置了全局计算字段,字段名和公式不能为空,字段名不能重复 | "请完善全局计算字段配置" |
提交数据结构要求:提交审核时,政策画布数据需同时包含 tracks 和 globalComputedFields,保证审核详情页可完整还原政策域字段和每个节点引用关系。
左侧导航新增「审核管理」菜单项(图标:fa-check-circle)。
统计卡片区
| 卡片 | 展示值 |
|---|---|
| 待审核 | 待审核活动数量 |
| 已通过 | 本月已审核通过数量 |
| 已驳回 | 本月已驳回数量 |
审核列表表格
| 列名 | 说明 |
|---|---|
| 活动名称 | 提交审核的活动名称 |
| 提交人 | 提交审核的运营人员姓名 |
| 提交时间 | 提交审核的时间 |
| 政策数量 | 活动包含的政策条数 |
| 算子数量 | 所有政策的算子总数 |
| 审核状态 | 待审核 / 已通过 / 已驳回 |
| 操作 | 查看详情 / 审核 |
审核详情页以只读模式完整展示活动配置内容,负责人可以逐项检查配置的合理性。
顶部信息栏
| 信息项 | 说明 |
|---|---|
| 活动名称 | 被审核的活动名称 |
| 提交人 | 提交审核的运营人员 |
| 提交时间 | 提交审核的时间 |
| 审核状态 | 当前审核状态标签 |
| 提交说明 | 运营人员的提交备注(如有) |
配置详情区域(全部只读展示)
底部审核操作栏(固定在页面底部)
| 按钮 | 样式 | 说明 |
|---|---|---|
| ✅ 审核通过 | 绿色主按钮 | 点击后弹出确认弹窗,根据达人确认开关走不同流程 |
| ❌ 驳回 | 红色按钮 | 点击后展开驳回原因输入框(必填),确认后活动状态变为"已驳回" |
开启达人确认时: - 活动状态变为「待达人确认」 - 系统向相关达人推送小程序确认通知 - 运营人员收到"审核通过,已推送达人确认"通知
关闭达人确认时: - 活动状态变为「财务内审中」 - 系统自动推送财务内审 - 运营人员收到"审核通过,已推送财务内审"通知
每次审核操作都会记录审核日志:
| 字段 | 说明 |
|---|---|
| 操作时间 | 审核操作的时间戳 |
| 操作人 | 执行审核的负责人姓名 |
| 操作类型 | 提交审核 / 上级审核通过 / 上级审核驳回 / 达人确认 / 财务内审通过 / 财务内审驳回 / 票据提交 / 推送FPP |
| 审核意见 | 驳回原因或通过备注 |
审核历史以时间线形式展示在审核详情页侧边栏,支持查看完整审核流程。
| 功能 | 说明 |
|---|---|
| 待执行活动 | 显示当前需要执行引擎核算的活动数量和本月已生成总额 |
| 搜索 | 支持按活动名称/政策规则搜索 |
| 执行核算引擎 | 一键触发引擎计算,生成结算明细 |
| 查看处理明细 | 进入结算明细对账单页面 |
| 信息项 | 说明 |
|---|---|
| 活动ID | 系统生成的唯一标识 |
| 上游订单号 | 关联的上游业务订单 |
| 上游下单金额 | 原始订单金额 |
| 上游验收金额 | 验收后的实际金额 |
| 活动利润 | 验收金额 - 下单金额 |
| 功能 | 说明 |
|---|---|
| 基础信息列 | 主播ID、昵称、平台、身份证号、供应商ID、合同编号 |
| 政策明细列 | 每个政策的档位命中情况 + 金额 |
| 合计发放列 | 所有政策金额汇总 |
| 搜索 | 支持按ID/昵称/身份证号/供应商ID/合同编号/平台搜索,高亮匹配 |
| 排序 | 支持按各政策金额、总金额等列升降序排列 |
| 筛选 | 全部 / 金额>0 / 金额=0 / 命中政策 / 未命中 / 已修改 |
| 要求值对比 | 每个政策下展示要求值vs实际值,通过/不通过标记 |
| 在线编辑 | 点击金额单元格可修改,自动标记修改状态和时间 |
| 修改追踪 | 手动修改(黄色标记)、导入修改(蓝色标记)分别标识 |
| 溯源日志 | 查看每条记录的算子执行链路、条件判断过程、修改历史 |
| 功能 | 说明 |
|---|---|
| 导出CSV | 包含身份证号、活动级信息、修改标记和备注 |
| 导出Excel | 包含身份证号、活动级信息、修改单元格颜色标记 |
| 导入修改版 | 导入外部修改后的CSV/Excel覆盖数据,自动标记为"导入修改" |
当活动「达人确认」开关开启时,上级审核通过后系统自动向达人推送小程序确认通知。达人在小程序中确认结算金额,所有达人确认完成后自动推送财务内审。确认截止时间取活动基础信息中的「确认/票据截止时间」。
复用现有财务审核流程。触发条件: - 开启达人确认的活动:所有达人确认完成后自动推送 - 关闭达人确认的活动:上级审核通过后直接推送
内审通过 → 活动进入「待上传票据」状态,通知达人上传票据。内审驳回 → 活动退回「已驳回」状态,运营修改后重新提交上级审核。
财务内审通过后,达人需通过小程序上传发票和完税证明。票据齐全后系统自动推送 FPP 进行付款。
达人收到小程序消息通知:"您的结算已通过财务审核,请上传票据",点击进入上传页面。
| 信息项 | 说明 |
|---|---|
| 活动名称 | 当前结算的活动名称 |
| 结算金额 | 本次结算金额 |
| 上传截止时间 | 来自活动基础信息中配置的「确认/票据截止时间」 |
| 票据类型 | 说明 | 状态标识 |
|---|---|---|
| 发票 | 支持图片/PDF上传,可拍照或从相册选择 | 未上传 / 已上传 |
| 完税证明 | 支持图片/PDF上传,可拍照或从相册选择 | 未上传 / 已上传 |
在结算明细表中,每行达人新增「票据状态」列:
| 票据状态 | 显示 | 说明 |
|---|---|---|
| 未上传 | 灰色文字"未上传" | 达人尚未上传任何票据 |
| 部分上传 | 黄色标签 | 仅上传了发票或完税证明其中之一 |
| 票据齐全 | 按钮「查看票据」 | 发票和完税证明均已上传,点击可查看 |
当活动下所有达人票据齐全后: 1. 系统自动触发推送 FPP 2. 活动状态变为「已推送FPP」 3. 运营人员收到"票据齐全,已推送FPP"通知 4. 后续付款流程走现有 FPP 逻辑
以下规则为系统固定逻辑,不在配置界面开放,由引擎侧统一处理:
| 规则 | 说明 |
|---|---|
| 有效天数计算 | 默认当天开播时长≥1小时计为1个有效天;可通过政策属性的"有效天数定义"自定义 |
| 取整规则 | 过程中保留小数点后2位(向下截断),最终金额取整数位(向下取整) |