```mermaid
---
title: 0.代理佣金体系设计流程
---
flowchart TD
    开始((开始))
    --> 登录系统[超管或平台账号登录]

    登录系统 --> 权限判断{是否具备套餐和分配权限?}
    权限判断 -->|否| 无权限结束[无权限，流程终止]
    权限判断 -->|是| 进入套餐系列管理[进入套餐系列管理]

    subgraph 第一步_创建可分配的套餐
        进入套餐系列管理 --> 创建套餐系列[创建套餐系列]
        创建套餐系列 --> 一次性规则设置{是否启用一次性佣金规则?}
        一次性规则设置 -->|否| 保存系列[保存系列]
        一次性规则设置 -->|是| 配置一次性规则[配置触发方式和金额规则]
        配置一次性规则 --> 保存系列

        保存系列 --> 进入套餐管理[进入套餐管理]
        进入套餐管理 --> 创建套餐[创建套餐并归属到该系列]
        创建套餐 --> 套餐发布校验{套餐信息是否完整可发布?}
        套餐发布校验 -->|否| 修正套餐信息[修正后重新保存]
        修正套餐信息 --> 创建套餐
        套餐发布校验 -->|是| 进入分配环节[进入分配环节]
    end

    subgraph 第二步_给下级做系列分配
        进入分配环节 --> 选择下级店铺[选择要分配的下级店铺]
        选择下级店铺 --> 下级校验{是否直属下级?}
        下级校验 -->|否| 重选下级[不能跨级分配，返回重选]
        重选下级 --> 选择下级店铺
        下级校验 -->|是| 创建系列分配[创建套餐系列分配]

        创建系列分配 --> 填写系列佣金配置[填写给下级的一次性佣金金额和启停状态]
        填写系列佣金配置 --> 系列分配结果{系列分配是否成功?}
        系列分配结果 -->|否| 调整系列配置[调整后重试]
        调整系列配置 --> 填写系列佣金配置
        系列分配结果 -->|是| 进入套餐分配
    end

    subgraph 第三步_给下级做套餐分配
        进入套餐分配[进入套餐分配] --> 选择要分配的套餐[选择系列下的具体套餐]
        选择要分配的套餐 --> 填写价格和状态[填写下级成本价 零售价 上架状态]
        填写价格和状态 --> 套餐分配结果{套餐分配是否成功?}
        套餐分配结果 -->|否| 调整套餐分配[调整后重试]
        调整套餐分配 --> 填写价格和状态
        套餐分配结果 -->|是| 是否继续下发{是否继续给更下级分配?}

        是否继续下发 -->|是| 切换到下级继续分配[使用当前下级身份继续做系列分配和套餐分配]
        切换到下级继续分配 --> 进入分配环节
        是否继续下发 -->|否| 分配完成[佣金链路配置完成]
    end

    subgraph 第四步_用购买验证链式分配
        分配完成 --> 发起验证购买[发起一笔购买用于验收]
        发起验证购买 --> 差价链路验收[核对差价收益是否按上下级逐级分配]
        差价链路验收 --> 一次性链路验收[核对一次性佣金是否按上下级配置链式分配]
        一次性链路验收 --> 查看佣金明细[在代理商资金管理查看佣金明细]
        查看佣金明细 --> 验收结果{验收是否通过?}
        验收结果 -->|否| 异常回流[记录问题并返回系列分配或套餐分配调整]
        异常回流 --> 进入分配环节
        验收结果 -->|是| 结束([流程结束])
    end

    %% ==================== 样式美化 ====================
    style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px
    style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px
    style 无权限结束 fill:#FFCDD2,stroke:#D32F2F
    style 修正套餐信息 fill:#FFCCBC,stroke:#E64A19
    style 重选下级 fill:#FFCCBC,stroke:#E64A19
    style 调整系列配置 fill:#FFCCBC,stroke:#E64A19
    style 调整套餐分配 fill:#FFCCBC,stroke:#E64A19
    style 异常回流 fill:#FFCCBC,stroke:#E64A19

    classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
    class 权限判断,一次性规则设置,套餐发布校验,下级校验,系列分配结果,套餐分配结果,是否继续下发,验收结果 decision
```
