Update user_service.py

This commit is contained in:
Egor
2025-09-06 05:45:04 +03:00
committed by GitHub
parent d92b9559ac
commit 0b1a2b7f68

View File

@@ -242,9 +242,9 @@ class UserService:
from app.services.subscription_service import SubscriptionService
subscription_service = SubscriptionService()
await subscription_service.disable_remnawave_user(user.remnawave_uuid)
logger.info(f" ✅ RemnaWave пользователь {user.remnawave_uuid} деактивирован")
logger.info(f"✅ RemnaWave пользователь {user.remnawave_uuid} деактивирован")
except Exception as e:
logger.warning(f" ⚠️ Ошибка деактивации RemnaWave: {e}")
logger.warning(f"⚠️ Ошибка деактивации RemnaWave: {e}")
try:
from app.database.models import YooKassaPayment
@@ -256,14 +256,14 @@ class UserService:
yookassa_payments = yookassa_result.scalars().all()
if yookassa_payments:
logger.info(f" 🔄 Удаляем {len(yookassa_payments)} YooKassa платежей")
logger.info(f"🔄 Удаляем {len(yookassa_payments)} YooKassa платежей")
await db.execute(
delete(YooKassaPayment).where(YooKassaPayment.user_id == user_id)
)
await db.flush()
logger.info(f" ✅ YooKassa платежи удалены")
logger.info(f"✅ YooKassa платежи удалены")
except Exception as e:
logger.error(f" ❌ Ошибка удаления YooKassa платежей: {e}")
logger.error(f"❌ Ошибка удаления YooKassa платежей: {e}")
try:
transactions_result = await db.execute(
@@ -272,41 +272,41 @@ class UserService:
transactions = transactions_result.scalars().all()
if transactions:
logger.info(f" 🔄 Удаляем {len(transactions)} транзакций")
logger.info(f"🔄 Удаляем {len(transactions)} транзакций")
await db.execute(
delete(Transaction).where(Transaction.user_id == user_id)
)
await db.flush()
logger.info(f" ✅ Транзакции удалены")
logger.info(f"✅ Транзакции удалены")
except Exception as e:
logger.error(f" ❌ Ошибка удаления транзакций: {e}")
logger.error(f"❌ Ошибка удаления транзакций: {e}")
try:
await db.execute(
delete(PromoCodeUse).where(PromoCodeUse.user_id == user_id)
)
await db.flush()
logger.info(f" 🗑️ Удалены использования промокодов пользователя {user_id}")
logger.info(f"🗑️ Удалены использования промокодов пользователя {user_id}")
except Exception as e:
logger.error(f" ❌ Ошибка удаления использований промокодов: {e}")
logger.error(f"❌ Ошибка удаления использований промокодов: {e}")
try:
await db.execute(
delete(ReferralEarning).where(ReferralEarning.user_id == user_id)
)
await db.flush()
logger.info(f" 🗑️ Удалены реферальные доходы пользователя {user_id}")
logger.info(f"🗑️ Удалены реферальные доходы пользователя {user_id}")
except Exception as e:
logger.error(f" ❌ Ошибка удаления реферальных доходов: {e}")
logger.error(f"❌ Ошибка удаления реферальных доходов: {e}")
try:
await db.execute(
delete(ReferralEarning).where(ReferralEarning.referral_id == user_id)
)
await db.flush()
logger.info(f" 🗑️ Удалены реферальные записи о пользователе {user_id}")
logger.info(f"🗑️ Удалены реферальные записи о пользователе {user_id}")
except Exception as e:
logger.error(f" ❌ Ошибка удаления реферальных записей: {e}")
logger.error(f"❌ Ошибка удаления реферальных записей: {e}")
try:
from app.database.models import BroadcastHistory
@@ -314,9 +314,26 @@ class UserService:
delete(BroadcastHistory).where(BroadcastHistory.admin_id == user_id)
)
await db.flush()
logger.info(f" 🗑️ Удалена история рассылок админа {user_id}")
logger.info(f"🗑️ Удалена история рассылок админа {user_id}")
except Exception as e:
logger.error(f" ❌ Ошибка удаления истории рассылок: {e}")
logger.error(f"❌ Ошибка удаления истории рассылок: {e}")
try:
from app.database.models import SubscriptionConversion
conversions_result = await db.execute(
select(SubscriptionConversion).where(SubscriptionConversion.user_id == user_id)
)
conversions = conversions_result.scalars().all()
if conversions:
logger.info(f"🔄 Удаляем {len(conversions)} записей конверсий")
await db.execute(
delete(SubscriptionConversion).where(SubscriptionConversion.user_id == user_id)
)
await db.flush()
logger.info(f"✅ Записи конверсий удалены")
except Exception as e:
logger.error(f"❌ Ошибка удаления записей конверсий: {e}")
if user.subscription:
try:
@@ -326,9 +343,9 @@ class UserService:
)
)
await db.flush()
logger.info(f" 🗑️ Удалены записи SubscriptionServer для подписки {user.subscription.id}")
logger.info(f"🗑️ Удалены записи SubscriptionServer для подписки {user.subscription.id}")
except Exception as e:
logger.error(f" ❌ Ошибка удаления SubscriptionServer: {e}")
logger.error(f"❌ Ошибка удаления SubscriptionServer: {e}")
if user.subscription:
try:
@@ -337,9 +354,9 @@ class UserService:
delete(Subscription).where(Subscription.user_id == user_id)
)
await db.flush()
logger.info(f" 🗑️ Удалена подписка пользователя {user_id}")
logger.info(f"🗑️ Удалена подписка пользователя {user_id}")
except Exception as e:
logger.error(f" ❌ Ошибка удаления подписки: {e}")
logger.error(f"❌ Ошибка удаления подписки: {e}")
try:
from sqlalchemy import update
@@ -349,19 +366,19 @@ class UserService:
.values(referred_by_id=None)
)
if referrals_result.rowcount > 0:
logger.info(f" 🔗 Очищены реферальные ссылки у {referrals_result.rowcount} рефералов")
logger.info(f"🔗 Очищены реферальные ссылки у {referrals_result.rowcount} рефералов")
await db.flush()
except Exception as e:
logger.error(f" ❌ Ошибка очистки реферальных ссылок: {e}")
logger.error(f"❌ Ошибка очистки реферальных ссылок: {e}")
try:
await db.execute(
delete(User).where(User.id == user_id)
)
await db.commit()
logger.info(f" ✅ Пользователь {user_id} окончательно удален из базы")
logger.info(f"✅ Пользователь {user_id} окончательно удален из базы")
except Exception as e:
logger.error(f" ❌ Ошибка финального удаления пользователя: {e}")
logger.error(f"❌ Ошибка финального удаления пользователя: {e}")
await db.rollback()
return False