-1 && $this->where('m.level', '=', $level); return $this->alias('m') ->join('user', 'user.user_id = m.user_id') ->where('m.bonus_id', '=', $teamId) ->where('user.is_delete', '=', 0) ->column('m.user_id'); } /** * 获取指定用户的推荐人列表 */ public static function getRefereeList($userId) { return (new static)->with(['team1'])->where('user_id', '=', $userId)->select(); } /** * 清空下级成员推荐关系 */ public function onClearBonus($bonus_id, $level = -1) { $model = $this; if($level > -1){ $model = $model->where('level', '=', $level); } return $model->where('bonus_id', '=', $bonus_id)->delete(); } /** * 清空上级推荐关系 */ public function onClearReferee($userId, $level = -1) { $model = $this; if($level > -1) { $model = $model->where('level', '=', $level); } return $model->where('user_id', '=', $userId)->delete(); } /** * 清空2-3级推荐人的关系记录 */ public function onClearTop($teamIds) { return $this->where('user_id', 'in', $teamIds) ->where('level', 'in', [2, 3]) ->delete(); } public static function updateReferee($user_id, $new_user_id) { (new static)->where('user_id', '=', $user_id) ->save(['user_id' => $new_user_id]); (new static)->where('bonus_id', '=', $user_id) ->save(['bonus_id' => $new_user_id]); return true; } }