'直推', self::INDIRECT => '间推', }; } /** * 获取层级描述 */ public function getDescription(): string { return match($this) { self::DIRECT => '直接推荐的下级用户', self::INDIRECT => '间接推荐的下级用户(二级及以上)', }; } /** * 获取所有层级 */ public static function getAllLevels(): array { return [ self::DIRECT->value => self::DIRECT->getName(), self::INDIRECT->value => self::INDIRECT->getName(), ]; } /** * 检查是否为有效层级 */ public static function isValidLevel(int $level): bool { return $level >= self::DIRECT->value && $level <= self::getMaxLevel(); } /** * 获取最大层级(支持20代) */ public static function getMaxLevel(): int { return 20; } /** * 获取团队统计深度(达人等级计算使用) */ public static function getTeamStatsDepth(): int { return 20; } /** * 根据深度获取层级类型 */ public static function getLevelByDepth(int $depth): int { return $depth === 1 ? self::DIRECT->value : self::INDIRECT->value; } /** * 获取层级名称(根据深度) */ public static function getLevelNameByDepth(int $depth): string { if ($depth === 1) { return '直推'; } elseif ($depth <= 20) { return $depth . '级间推'; } else { return '超级间推'; } } }