# 分佣逻辑正确与否验证
> **说明**:内容依旧基于「分佣需要确认逻辑」中的假定方案,目标是向需求方展示目前的理解,并请对“是否满足预期”给出反馈;所有表达均属于待确认状态。
## 1. 文档定位与假设
1. 面向运营、产品与研发,讨论“梯度配置 → 佣金生成 → 冻结/解冻 → 提现”全链路。
2. 最小颗粒度仍假定为 ICCID,系统每日巡检是否满足冻结条件。
3. 返佣梯度模板只提供初始值,真正起效的是写入“代理商-套餐-返佣规则”的快照。
4. 梯度条目新增字段:返佣条件(累计充值/一次充值)、返佣条件目标值、是否三无校验、长期终止方式等,均由需求方补充。
## 2. 佣金记录状态(当前理解)
| 状态 | 拟定定义 | 关键属性(供确认) |
| ------------ | ---------------------------------------------------------------- | -------------------------------------------------------------- |
| 已冻结 | 佣金记录已写入但暂不可提现,等待巡检与运营凭证 | 送彩金需人工解冻;凭证来自运营商/上游;需解冻密码 |
| 正常 | 认为条件已满足,可进入提现申请 | 允许发起提现;等待审批 |
| 无效佣金 | 核验发现不满足返佣规则 | 永久不可提现;记录无效原因 |
| 提取申请中 | 用户提交提现,尚在审批 | 资金冻结;需跟踪审批结果 |
| 提取驳回 | 审批未通过 | 记录驳回原因,处理完后可再次申请 |
| 已提取 | 提现审批完成并发放 | 记录支付流水与时间 |
> 如还需“部分解冻”“自动解冻”等扩展状态,可继续在此表补充。
## 3. 状态切换说明
1. **已冻结 → 正常**:运营导入 ICCID + 凭证(含三无校验结果),输入解冻密码;若上游也确认,则解冻。
2. **已冻结 → 无效佣金**:巡检或上游发现条件不成立(充值不足/未产生流量语音短信等)。
3. **正常 → 提取申请中 → 已提取/提取驳回**:提现走审批链条,记录审批结论。
4. **提取驳回 → 正常**:问题解决后回到可申请状态。
## 4. 冻结与解冻(示例流程)
### 4.1 冻结触发
- ICCID 在某月首次充值,卡状态正常。
- 每日巡检检查:
1. 当前卡状态是否正常;
2. 返佣条件类型(累计充值或一次充值)对应的金额是否达标;
3. 若“是否三无=是”,需确认流量/语音/短信任一指标产生;
4. 判断类型(销售数量或销售金额)是否命中梯度目标值。
- 满足上述组合后写入“已冻结”佣金。
### 4.2 解冻动作
- 运营通过 Web/Excel 导入需解冻的 ICCID 列表。
- 操作人输入解冻密码(可拓展为双人校验)。
- 系统对比运营商/上游凭证,符合即批量解冻;不符则继续冻结或转为无效。
### 4.3 数据来源
- 运营商官方结算单。
- 上游渠道对账单。
- 其他可信来源(需要在系统内记录来源,以便审计追溯)。
### 4.4 结果
- 凭证齐全 → 状态切到“正常”。
- 不满足条件 → “无效佣金”。
- 信息不足 → 维持“已冻结”。
## 5. 返佣梯度字段(含新增项)
1. **判断类型**:套餐销售数量 / 套餐销售金额。
2. **判断目标值**:对应的数量或金额门槛。
3. **返佣属性**:比例金额 / 固定金额。
4. **返佣假定值**:如 10% / 10 元等。
5. **返佣时效**:即可返佣 / 延迟返佣。
6. **是否长期**:是(每月重复)/ 否(仅一次)。
- 若选择“是”,需额外配置终止方式:
- 指定持续月数(例:36 个月内有效)。
- 或指定终止日期(例:截至 2026-11-20)。
7. **返佣条件类型**:累计充值 / 一次充值。
8. **返佣条件目标值**:具体金额门槛(例:累计 100 元或一次 100 元)。
9. **是否三无**:是 → 必须满足流量/语音/短信任一用量;否 → 默认无需此校验。
### 5.1 示例条目(即时返佣 + 长期到期日)
- 判断类型:套餐销售金额
- 返佣时效:即可返佣
- 返佣条件:累计充值 ≥ 100 元
- 是否三无:否
- 是否长期:是,终止日期 2026-11-20
| 套餐类型 | 判断目标值 | 返佣属性 | 返佣假定值 |
| :----------: | :--------: | :------: | :--------: |
| 套餐销售金额 | 2000 元 | 固定金额 | 10 元 |
| 套餐销售金额 | 4000 元 | 固定金额 | 15 元 |
| 套餐销售金额 | 10000 元 | 比例金额 | 10% |
| 套餐销售金额 | 50000 元 | 比例金额 | 20% |
### 5.2 示例条目(延迟返佣 + 长期月数 + 三无)
- 判断类型:销售套餐数量
- 返佣时效:延迟返佣(冻结)
- 返佣条件:一次性充值 ≥ 100 元
- 是否三无:是(需满足流量/语音/短信任一用量)
- 是否长期:是,持续 36 个月
| 套餐类型 | 判断目标值 | 返佣属性 | 返佣假定值 |
| :----------: | :--------: | :------: | :--------: |
| 销售套餐数量 | 20 个 | 固定金额 | 10 元 |
| 销售套餐数量 | 40 个 | 固定金额 | 15 元 |
| 销售套餐数量 | 60 个 | 固定金额 | 20 元 |
| 销售套餐数量 | 120 个 | 比例金额 | 10% |
| 销售套餐数量 | 130 个 | 比例金额 | 20% |
### 5.3 模板与快照玩法
1. 预设多套梯度模板(包含全部字段)。
2. 给代理分销套餐时选择模板,写入“代理商-套餐-返佣规则”,这一刻生成快照。
3. 若模板不合适,可即时调参,结果仅作用于该代理的快照,不影响原模板。
## 6. 分佣类型与时效/长期标记
1. **立即返佣**:命中梯度且“返佣时效=即可”,直接生成“正常”佣金,可发起提现。
2. **延迟返佣**:命中梯度但“返佣时效=延迟”,生成“已冻结”佣金,等巡检+凭证后解冻。
3. **长期 vs 一次性**:若标记“长期=是”,每月满足条件都重复以上流程,直至达到配置的终止月份或日期;若“否”,仅首次写入。
## 7. 返佣金额计算
### 7.1 比例返佣
- 按成本价乘以返佣比例。
- 示例:成本 100 元,返佣 10%,代理得 10 元,上级留存 90 元。
### 7.2 固定金额返佣
- 从成本价中拆出固定金额。
- 示例:成本 100 元,固定返佣 10 元,代理每卖一份获得 10 元。
> 若需要多级代理差额分摊,可在后续补充案例。
## 8. 参考流程图(覆盖新字段)
```mermaid
flowchart TD
A["预设返佣梯度模板
(含判断类型/目标值/时效/条件/三无等)"] --> B[分销套餐选择模板]
B --> C{需要调整模板值?}
C -->|否| D[直接写入代理-套餐-返佣规则快照]
C -->|是| E[按协商修改目标/比例/条件/时效]
E --> D
D --> F[代理销售套餐]
F --> G{达到梯度判断目标?}
G -->|否| G1[不生成佣金记录]
G -->|是| H["写入佣金记录
(含时效/长期/条件/三无标记)"]
H --> I{返佣时效}
I -->|即可返佣| J["生成正常佣金 → 可发起提现"]
I -->|延迟返佣| K[生成冻结佣金]
K --> L["每日巡检
1. 卡状态
2. 返佣条件金额
3. 三无校验"]
L --> M{巡检结果}
M -->|不满足| N[标记无效佣金]
M -->|满足| O[运营提交解冻名单 + 解冻密码]
O --> P{上游/运营商凭证匹配?}
P -->|是| Q[状态改为正常]
P -->|否| R[保持冻结或升级为无效]
J --> S[提交提现申请]
Q --> S
S --> T{审批结果}
T -->|通过| U[状态=已提取]
T -->|驳回| V["状态=提取驳回 → 原因记录 → 回到正常"]
```
## 9. 核验清单(滚动更新)
1. **模板即快照**:确认需求方已认可“模板只是初始值,写入后独立”的做法。
2. **字段完整性**:判断类型、目标值、返佣属性/假定值、时效、长期、返佣条件类型与目标值、是否三无,是否还需追加封顶金额、最低到账天数等字段?
3. **巡检周期**:默认每日,是否需要在配置中开放?
4. **三无策略**:仅当“是否三无=是”时才校验流量/语音/短信是否产生,逻辑是否符合需求?
5. **审批链路**:提现审批角色、SLA、驳回原因记录是否需要更细化?
6. **审计/导出**:无效佣金与驳回清单是否需要导出或定期复盘?
## 10. 后续讨论点
1. 延迟返佣 + 长期标记时,是否意味着每月都会触发冻结/解冻循环?
2. 运营商提供的结算文档是否为“全量数据”(即包含可返佣与不可返佣的 ICCID),以便我们比对三无和解冻名单?
---
> 如 `docs/优化说明/分佣需要确认逻辑.md` 有新的补充,请继续同步,本文件将保持“假设 → 核验 → 反馈”的循环输出。
---
> 本文档持续依赖 `docs/优化说明/分佣需要确认逻辑.md` 的最新内容,若原始假设变化,请同步更新此文件以便再次生成。