| | |
| | | //获取直推上级 |
| | | $referee_id = agentRefereeModel::getRefereeUserId($user_id, 1); |
| | | //获取直推上级推荐的人数 |
| | | $direct_child_num = $referee_id ? self::getDirectNum($referee_id) : 0; |
| | | /*if ($referee_id && $direct_child_num < 2) { |
| | | $parent = static::detail($referee_id); |
| | | /*$direct_child_num = $referee_id ? self::getDirectNum($referee_id) : 0;*/ |
| | | $parent_id=0; |
| | | if ($referee_id) { |
| | | $parent_id=self::getParentId([$referee_id]); |
| | | } |
| | | if ($parent_id) { |
| | | $parent = static::detail($parent_id); |
| | | //如果自己名下已经被排满,继续往下找 |
| | | if ($parent['child_num'] == 3) { |
| | | //获取起始横向排位 |
| | | $level_num_first = ($parent['level_num'] - 1) * 3 + 1; |
| | | $parent = self::checkUserChild($level_num_first, 3, $parent['tree_level'] + 1); |
| | | } |
| | | } else {*/ |
| | | } else { |
| | | //规则2:查找有空缺的三叉树 |
| | | $parent = (new static())->where('child_num', '<', 3) |
| | | /*->where('user_id', "<>", $referee_id)*/ |
| | | ->order(['tree_level' => 'asc', 'level_num' => 'asc'])->find(); |
| | | //} |
| | | } |
| | | $data['parent_id'] = $parent['user_id']; |
| | | $data['order_num'] = $parent['child_num'] + 1; //三叉树内的位置 |
| | | $data['tree_level'] = $parent['tree_level'] + 1; //竖向层级 |
| | |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 获取团队里公排下级未被排满的id |
| | | */ |
| | | public static function getParentId($referee) |
| | | { |
| | | $user=(new static())->where('user_id', 'in', $referee)->where('child_num', '<', 3)->find(); |
| | | if ($user) { |
| | | return $user['user_id']; |
| | | } |
| | | $subordinate=(new self())->where('parent_id', 'in', $referee)->column('user_id'); |
| | | return self::getParentId($subordinate); |
| | | } |
| | | /** |
| | | * 添加第一个分红用户 |
| | | */ |
| | |
| | | $is_expire = User::isExpire($user_id); |
| | | // 队长详情 |
| | | $model = static::detail($user_id); |
| | | if (!$model || $model['is_delete']) { |
| | | if (!$model) { |
| | | return false; |
| | | } |
| | | if ($model['is_delete']){ |
| | | return false; |
| | | } |
| | | if ($money_type == 20){ |
| | |
| | | public static function isExpire($user_id) |
| | | { |
| | | $team = self::detail($user_id); |
| | | if (!$team) { |
| | | return false; |
| | | } |
| | | $setting = Setting::getItem('basic', $team['app_id']); |
| | | return !!$team && $team['is_expire'] && $team['is_permanent'] == 0 && $setting['expire_day'] > 0; |
| | | } |