@liuwanwei
2016-11-16T15:16:30.000000Z
字数 918
阅读 868
jlzx 思维过程
未分类
用户购买后一个订单后:
1. 更新用户信息
- 更新用户当前活动信息:User.kactivityId
- 为用户创建活动收益信息表记录:
- 创建一条新 RevenueSum 纪录
- 设置 RevenueSum.grade 为 GRADE_ZY
2. 更新推荐人信息
- 判断是否要升级推荐人为爱心使者,如果要升级:
- 修改推荐人 RevenueSum.grade 为 GRADE_SZ
- 判断推荐人的推荐人是否升级为爱心大使,如果要升级:
- 修改推荐人的推荐人 RevenueSum.grade 为 GRADE_DS
- 将推荐人作为一星使者加入收益树
- 创建收益分配记录:分配 ¥20 活动收益给推荐人
- 推荐人账户余额增加:¥20
3. 添加一星使者到收益树的方法
- 寻找他的推荐人是否在收益树
- 如果在收益树,将一星使者挂到推荐人的树下
- 如果不在收益树,将一星使者随机挂到某棵空隙树下
- 对于下级存在多颗空隙树的情况,采取随机分配的方式,使用找到的第一个空位
- 具体算法需要根据项目实际需求确定,目前还需要思考。
- 为了加速查找,收益树最好能记录下级每个节点的数量。
4. 如果第2步将推荐人加入了收益树
赠送给上层父节点的二星使者:¥43
二星使者共3次收益机会
赠送给上上层父节点的三星使者:¥31
三星使者共9次收益机会
赠送给上上上层父节点的一星大使:¥48
一星大使共27次收益机会
赠送给上上上上层父节点的二星大使:¥38
二星大使共81次收益机会
赠送给上上上上上层父节点的三星大使:¥28
三星大使共243次收益机会
5. 如果第2步将推荐人加入了收益树,并且阶层满员
- 当前层所有一星使者升级到二星使者
- 上层二星使者升级到三星使者
- 上上层三星使者满足条件后升级到一星大使
- 原一星大使升级到二星大使
- 原二星大使升级到三星大使
- 原三星大使功德圆满 被弹出
6 搜索插入位置
满结点:
下级三个节点非空的节点称为满结点。
不满树:
- 根结点是满节点
- 一级子节点全都是满结点
- 二级子节点不全是满结点
6.1 搜索算法
6.2 向下搜索
6.3 向上搜索
- 向上搜索父结点的所有子树,寻找深度最浅的不满树
- 如果找到不满树,结束搜索
- 如果找不到不满树,继续向上搜索父结点
- 重复 1 - 3
7 备注
- 注册时,如果输入的推荐人没有成为爱心专员,就不允许填写他的手机号。