什么是分销

为了扩大销售范围获取更多的顾客以及销售额,采取让他人帮助销售的思路就是分销。

一、常规模式

电商系统之三级分销_第1张图片

二、分销模式

电商系统之三级分销_第2张图片

什么是三级分销

是分销的一种延伸,体现在分销商之间具有层级关系

电商系统之三级分销_第3张图片

三级分销的特点

以发生购买行为做为起始点,向上倒推三级,每级获取一定比例的佣金。

电商系统之三级分销_第4张图片

D发生了购买行为,则C获得一级佣金,B获得二级佣金,A获得三级佣金。

如何实现

一、数据模型

为了便于快速定位下属分销商,以及快速返佣给上三级分销商,可以通过牺牲存储空间的方式来提升查询效率。

电商系统之三级分销_第5张图片

二、主要行为

1、获取用户的相关下级

        select 分销商.* from 分销商关系 left join 分销商 on 分销商关系.uid = 分销商.id where 分销商关系.pid1=用户id;

        备注:每个分销商有且仅有一个上级

2、给各级分配佣金

 第一步,获取各级佣金(price1,price2,price3)

     select * from 购买关系 where uid = 用户id and goodsid = 商品id;

第二步,获取各上级(pid1,pid2,pid3)

    select * from 分销商关系 where uid = 用户id;

第三步,保存佣金分配明细

    insert into 佣金记录 (uid,price,level,fromid)values(pid1,price1,1,用户id);
    insert into 佣金记录 (uid,price,level,fromid)values(pid2,price2,1,用户id);
    insert into 佣金记录 (uid,price,level,fromid)values(pid3,price3,1,用户id);

第四步,更新用户总佣金

 update 分销商 set price = price + price1 where id = pid1;
 update 分销商 set price = price + price2 where id = pid2;
 update 分销商 set price = price + price3 where id = pid3;

四:注意事项

1、注意开启事务,确保佣金分配各个部分全部执行成功。
2、这是一个基本的模型,有不少必备属性需要完善(诸如时间等)