这样一个会员管理需求:
现在有会员a,b,c,d,e,f,g.....
会员a介绍了会员a1,a2...
会员a1介绍了会员a1-1,a1-2...
会员a1-1介绍了a1-1-1,a1-1-2...
会员a1-1-1介绍了a1-1-1-1,a1-1-1-2...
会员a1-1-1-1介绍了a1-1-1-1-1,a1-1-1-1-2...
...
假设:
会员a1 在商城购买一件商品100元,此时系统将这100元的30%返回给会员a(a是a1的介绍人)。
会员a1-1 在商城购买一件商品100元,此时系统将这100元的20%返回给会员a,30%给会员a1。
会员a1-1-1 在商城购买一件商品100元,此时系统将这100元的10%返回给会员a,30%给会员a1-1。
会员a1-1-1-1 在商城购买一件商品100元,此时系统将这100元的5% 返回给会员a,30%给会员a1-1-1。
会员a1-1-1-1-1 在商城购买一件商品100元,此时系统将这100元的30% 返回给会员a1-1-1-1,会员a此时没有返回项(会员a的所返回项在这个会员级别终止)。
继续往下延伸...就是说每个会员都可以拿到他自己级别往下4层会员的购物提成。
是不是这个模式觉得有点似曾相识?....
请教一下大家这样的数据库应该怎么设计呢?或者做过其他类似这样模式的商城数据库设计的也请谈谈思路。
谢谢了!
:-)
现在有会员a,b,c,d,e,f,g.....
会员a介绍了会员a1,a2...
会员a1介绍了会员a1-1,a1-2...
会员a1-1介绍了a1-1-1,a1-1-2...
会员a1-1-1介绍了a1-1-1-1,a1-1-1-2...
会员a1-1-1-1介绍了a1-1-1-1-1,a1-1-1-1-2...
...
假设:
会员a1 在商城购买一件商品100元,此时系统将这100元的30%返回给会员a(a是a1的介绍人)。
会员a1-1 在商城购买一件商品100元,此时系统将这100元的20%返回给会员a,30%给会员a1。
会员a1-1-1 在商城购买一件商品100元,此时系统将这100元的10%返回给会员a,30%给会员a1-1。
会员a1-1-1-1 在商城购买一件商品100元,此时系统将这100元的5% 返回给会员a,30%给会员a1-1-1。
会员a1-1-1-1-1 在商城购买一件商品100元,此时系统将这100元的30% 返回给会员a1-1-1-1,会员a此时没有返回项(会员a的所返回项在这个会员级别终止)。
继续往下延伸...就是说每个会员都可以拿到他自己级别往下4层会员的购物提成。
是不是这个模式觉得有点似曾相识?....
请教一下大家这样的数据库应该怎么设计呢?或者做过其他类似这样模式的商城数据库设计的也请谈谈思路。
谢谢了!
:-)
会员ID,上级ID
a null
a1 a
a2 a
a1-1 a1
..具体计算则通过程序实现。
关于会员的关系表就这么简单。当然你还需要加入其它有关会员的信息会员ID,上级ID,姓名,生日,
请教一下acmain——chm类似的这种模式程序你清楚是怎么设计的吗?尤其是计算方面的。
谢谢~
假设表名为member_t
会员ID 上级ID 层级 路径 购物数
a null 1级 a
a1 a 2级 a;a1
a1-1 a1 3级 a;a1;a1-1
a1-1-1 a1-1 4级 a;a1;a1-1;a1-1-1
...
查询语句(假设提成为10%):
select sum(购物数)*0.1
from member_t
where 层级 < 当前层级 + 4 and 路径 like '会员ID;'
还有一种免递归的设计方法,增加层级(最高为1级)和路径字段(路径使用会员ID加分号延伸)。
假设表名为member_t
会员ID 上级ID 层级 路径 购物数
a null 1级 a
a1 a 2级 a;a1
a1-1 a1 3级 a;a1;a1-1
a1-1-1 a1-1 4级 a;a1;a1-1;a1-1-1
...
查询语句(假设提成为10%):
select sum(购物数)*0.1
from member_t
where 层级 < 当前层级 + 4 and 路径 like '当前路径'