声明:本站文章均为作者个人原创,图片均为实际截图。如有需要请收藏网站,禁止转载,谢谢配合!!!

1、找到用户所有上级

$sups = $this->getSups($user['pid']);

2、获取不同身份奖励规则

foreach ($sups as $kk => $vv) {
    $user_ = Db::name('user')->find($vv['id']);
    $bili = 0;
    switch ($user_['level']) {
        //21-25相同的规则
        case 21:
        case 22:
        case 23:
        case 24:
        case 25:
            $rule = $djk_rule[$vv['djk_level']];
            $level_right_team_add = $rule['level_right_team_add'];
            $level_right_team_peer = $rule['level_right_team_peer'];
            //连续三个级别相等,则不发给第三个发放平级奖励
            if ($kk == 0) {
            //第一个父级P1,若和A身份相等,则发放平级奖励,否则发放新增业绩
                $bili = ($vv['djk_level'] == $user['djk_level'] ? $level_right_team_peer : $level_right_team_add);
            }elseif($kk == 1){
            //第一个父级P2,若和A身份相等,则发放平级奖励,否则发放新增业绩极差
                $bili = ($vv['djk_level'] == $sups[$kk - 1]['djk_level'] ? $level_right_team_peer : ($level_right_team_add - $djk_rule[$sups[$kk - 1]['djk_level']]['level_right_team_add']));
            }else{
            //第n个父级Pn(n>1),若和Pn-1身份和Pn-2相等,则不发放平级奖励(即为0),否则发放新增业绩极差
                if ($vv['djk_level'] ==  $sups[$kk - 1]['djk_level'] && $vv['djk_level'] == $sups[$kk - 2]['djk_level']){
                $bili = 0;
            }elseif($vv['djk_level'] ==  $sups[$kk - 1]['djk_level'] && $vv['djk_level'] != $sups[$kk - 2]['djk_level']){
                $bili = $level_right_team_peer;
            }else{
                $bili = $level_right_team_add - $djk_rule[$sups[$kk - 1]['djk_level']]['level_right_team_add'];
            }
        }
        break;
        case 31:
        case 32:
            //31、32和21-25奖励比例不一样,不能直接相减算级差
            //如果上个不是董事,则重新计算
            $rule = $djk_rule[$vv['djk_level']];
            $level_right_team_add = $rule['level_right_team_add'];
            $level_right_team_peer = $rule['level_right_team_peer'];
            //连续三个级别相等,则不发给第三个发放平级奖励
            if ($kk == 0) {
            //第一个父级P1,若和A身份相等,则发放平级奖励,否则发放新增业绩
            $bili = ($vv['djk_level'] == $user['djk_level'] ? $level_right_team_peer : $level_right_team_add);
            }elseif($kk == 1){
            //第一个父级P2,若和A身份相等,则发放平级奖励,否则发放新增业绩极差
            if ($vv['djk_level'] == $sups[$kk - 1]['djk_level']){
            $bili = $level_right_team_peer;
            }else{
            //如果上一级为经纪人,则重新计算比例
            if ($sups[$kk - 1]['djk_level'] < 30){
                $bili = $level_right_team_add;
            }else{
            //如果上一级为董事,则计算极差
                $bili = $level_right_team_add - $djk_rule[$sups[$kk - 1]['djk_level']]['level_right_team_add'];
            }
            }
            }else{
            //第n个父级Pn(n>1),若和Pn-1身份和Pn-2相等,则不发放平级奖励(即为0),否则发放新增业绩极差
                if ($vv['djk_level'] ==  $sups[$kk - 1]['djk_level'] && $vv['djk_level'] == $sups[$kk - 2]['djk_level']){
                    $bili = 0;
                }elseif($vv['djk_level'] == $sups[$kk - 1]['djk_level'] && $vv['djk_level'] != $sups[$kk - 2]['djk_level']){
                    $bili = $level_right_team_peer;
                }else{
                //如果上一级为经纪人,则重新计算比例
                    if ($sups[$kk - 1]['djk_level'] < 30){
                        $bili = $level_right_team_add;
                    }else{
                        //如果上一级为董事,则计算极差
                    $bili = $level_right_team_add - $djk_rule[$sups[$kk - 1]['djk_level']]['level_right_team_add'];
                    }
        }
        }
        break;
                default:
}