From 7185fde9bc6deccc54844656b1b4554a4d5c2808 Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 12 Nov 2025 02:47:37 +0300 Subject: [PATCH] Handle Platega payments when deleting users --- app/services/user_service.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/app/services/user_service.py b/app/services/user_service.py index 0a28c428..a0866100 100644 --- a/app/services/user_service.py +++ b/app/services/user_service.py @@ -20,7 +20,7 @@ from app.database.crud.subscription import ( from app.database.models import ( User, UserStatus, Subscription, Transaction, PromoCode, PromoCodeUse, ReferralEarning, SubscriptionServer, YooKassaPayment, BroadcastHistory, - CryptoBotPayment, SubscriptionConversion, UserMessage, WelcomeText, + CryptoBotPayment, PlategaPayment, SubscriptionConversion, UserMessage, WelcomeText, SentNotification, PromoGroup, MulenPayPayment, Pal24Payment, HeleketPayment, AdvertisingCampaign, AdvertisingCampaignRegistration, PaymentMethod, TransactionType @@ -732,6 +732,27 @@ class UserService: except Exception as e: logger.error(f"❌ Ошибка удаления CryptoBot платежей: {e}") + try: + platega_result = await db.execute( + select(PlategaPayment).where(PlategaPayment.user_id == user_id) + ) + platega_payments = platega_result.scalars().all() + + if platega_payments: + logger.info(f"🔄 Удаляем {len(platega_payments)} Platega платежей") + await db.execute( + update(PlategaPayment) + .where(PlategaPayment.user_id == user_id) + .values(transaction_id=None) + ) + await db.flush() + await db.execute( + delete(PlategaPayment).where(PlategaPayment.user_id == user_id) + ) + await db.flush() + except Exception as e: + logger.error(f"❌ Ошибка удаления Platega платежей: {e}") + try: mulenpay_result = await db.execute( select(MulenPayPayment).where(MulenPayPayment.user_id == user_id)