分销系统实现原理

500 阅读1分钟

注册分销

分销会员表

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL COMMENT '姓名',
  `phone` varchar(16) DEFAULT NULL COMMENT '手机号',
  `password` varchar(128) DEFAULT NULL COMMENT '密码',
  `fid` smallint DEFAULT NULL COMMENT '推荐人id',
  `money` decimal(10,2) DEFAULT NULL COMMENT '金额',
  `createtime` int(11) DEFAULT NULL COMMENT '注册时间',
  PRIMARY KEY (`id`)
) ENGINE=Innodb AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='分销用户表';

分析

  • 用户注册进来,获得的信息,按照需求相关,应该能得到用户信息及推荐人信息(在这里:一般是自己注册时推荐人为空)
  • 拿到信息之后入库,自己注册的话fid为0,如果有推荐人,那么fid设置为推荐人的id。此时推荐人第一层上级。
  • 已知id,可知推荐人fid,这样子就可以查询出推荐人的上级,层层递进。
  • 利用id,fid写一个递归函数,查到当fid为0时,停止。fid为0,也就是最顶层的上级。
  • 根据递归函数返回的信息,确认总共级数(这一步很容易确认,返回几组用户信息就知道总共几级了)。
  • 总共的级数确认了,写一个按照级数分配奖金的方法,调用方法,负责发放奖金。