情景解说
A B C D E F G H I J K L ,12个人, A储值了一笔钱,A邀请B和C储值了一笔钱,A从B和C获利他们充值金额的10%,即为邀请所得;然后,B又邀请D、F、G充值了一笔钱,B又分别从D F G那里分别获得一份邀请所得金额;这时,C 也邀请了 H I 冲值了一笔钱,C 即获得了两笔邀请所得;最后,G又邀请了J充值了一笔钱,获得一份邀请所得,I 又邀请了K L充值了一笔钱,获得两份邀请所得。
规则说明
自己邀请所得的金额,全额归自己;而自己发展的下线,可以从所有下线的每笔邀请所得,获利百分之十;到了下线的下线,也就是第三级,自己可以从下线的下线的每笔邀请所得,获利百分之一。
计算要求
统计这12个人,每个人最终的获利金额,以及自己从多少人身上获利。
数据表设计
-------------------------------------------------------------------------------------------------------------------
CREATE TABLE `infinite_invite_log` (
`invite_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`invite_p_id` int(11) NOT NULL COMMENT '父ID',
`userid` int(11) NOT NULL DEFAULT '0' COMMENT '邀请人-用户ID',
`nickname` varchar(30) NOT NULL DEFAULT '' COMMENT '邀请人-用户昵称',
`invite_code` varchar(30) NOT NULL DEFAULT '' COMMENT '邀请人-自己邀请码',
`be_invited_code` varchar(30) DEFAULT NULL COMMENT '邀请人-被邀请码',
`invite_get` decimal(7,2) NOT NULL DEFAULT '0.00' COMMENT '邀请人-邀请所得金额',
`invite_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否算过:0,否;1,是',
`invite_create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`invite_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更改时间',
PRIMARY KEY (`invite_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='储值邀请所得链式记录表'
CREATE TABLE `infinite_invite_summary` (
`sum_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '汇总ID',
`userid` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID',
`nickname` varchar(30) NOT NULL DEFAULT '' COMMENT '用户昵称',
`sum_amount` decimal(9,2) NOT NULL DEFAULT '0.00' COMMENT '汇总金额',
`sum_p_num` smallint(5) NOT NULL DEFAULT '0' COMMENT '汇总人数',
`sum_create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`sum_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更改时间',
`sum_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否汇总到邀请人余额:0,否;1,是',
PRIMARY KEY (`sum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='储值邀请所得无限级汇总表'
--------------------------------------------------------------------------------------