first(); } /** * 获取指定等级的达人 * * @param int $talentLevel * @return Collection */ public function findByTalentLevel(int $talentLevel): Collection { return FarmUserTalent::where('talent_level', $talentLevel)->get(); } /** * 获取达人等级大于等于指定等级的用户 * * @param int $talentLevel * @return Collection */ public function findByTalentLevelGreaterOrEqual(int $talentLevel): Collection { return FarmUserTalent::where('talent_level', '>=', $talentLevel)->get(); } /** * 获取直推人数大于等于指定数量的用户 * * @param int $directCount * @return Collection */ public function findByDirectCountGreaterOrEqual(int $directCount): Collection { return FarmUserTalent::where('direct_count', '>=', $directCount)->get(); } /** * 获取团队总人数大于等于指定数量的用户 * * @param int $teamCount * @return Collection */ public function findByTeamCountGreaterOrEqual(int $teamCount): Collection { return FarmUserTalent::where('team_count', '>=', $teamCount)->get(); } /** * 获取需要更新达人等级的用户 * * @return Collection */ public function findNeedUpdateTalentLevel(): Collection { return FarmUserTalent::whereRaw('(direct_count >= 5 AND talent_level = 0) OR (direct_count >= 10 AND team_count >= 50 AND talent_level = 1) OR (direct_count >= 20 AND team_count >= 100 AND talent_level = 2) OR (direct_count >= 30 AND team_count >= 200 AND talent_level = 3) OR (direct_count >= 50 AND team_count >= 500 AND talent_level = 4)') ->get(); } }