""" Команда для инициализации уровней реферальной программы. """ from django.core.management.base import BaseCommand from apps.referrals.models import ReferralLevel class Command(BaseCommand): """Создать начальные уровни реферальной программы.""" help = 'Создать начальные уровни реферальной программы' def handle(self, *args, **options): levels_data = [ { 'level': 1, 'name': 'Новичок', 'points_required': 0, 'bonus_payment_percent': 60, 'icon': '🌱' }, { 'level': 2, 'name': 'Активный', 'points_required': 50, 'bonus_payment_percent': 70, 'icon': '🌿' }, { 'level': 3, 'name': 'Продвинутый', 'points_required': 110, # 50 + 60 'bonus_payment_percent': 80, 'icon': '🌳' }, { 'level': 4, 'name': 'Эксперт', 'points_required': 180, # 50 + 60 + 70 'bonus_payment_percent': 90, 'icon': '⭐' }, { 'level': 5, 'name': 'Мастер', 'points_required': 270, # 50 + 60 + 70 + 90 'bonus_payment_percent': 95, 'icon': '👑' }, ] created_count = 0 updated_count = 0 for data in levels_data: level, created = ReferralLevel.objects.update_or_create( level=data['level'], defaults={ 'name': data['name'], 'points_required': data['points_required'], 'bonus_payment_percent': data['bonus_payment_percent'], 'icon': data['icon'] } ) if created: created_count += 1 self.stdout.write( self.style.SUCCESS( f'✅ Создан уровень {level.level}: {level.name}' ) ) else: updated_count += 1 self.stdout.write( self.style.WARNING( f'🔄 Обновлен уровень {level.level}: {level.name}' ) ) self.stdout.write( self.style.SUCCESS( f'\n✅ Готово! Создано: {created_count}, Обновлено: {updated_count}' ) )