From fab17702c5fc4328b4672a679a28d65ea227d0d9 Mon Sep 17 00:00:00 2001 From: Egor Date: Mon, 12 Jan 2026 18:57:13 +0300 Subject: [PATCH] Update miniapp.py --- app/webapi/routes/miniapp.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/webapi/routes/miniapp.py b/app/webapi/routes/miniapp.py index 8b378b0c..8353a9b0 100644 --- a/app/webapi/routes/miniapp.py +++ b/app/webapi/routes/miniapp.py @@ -7222,7 +7222,7 @@ async def toggle_daily_subscription_pause_endpoint( new_paused_state = not is_currently_paused subscription.is_daily_paused = new_paused_state - # Если снимаем с паузы и подписка активна, нужно проверить баланс для активации + # Если снимаем с паузы, нужно проверить баланс для активации if not new_paused_state: daily_price = getattr(tariff, 'daily_price_kopeks', 0) if daily_price > 0 and user.balance_kopeks < daily_price: @@ -7236,6 +7236,17 @@ async def toggle_daily_subscription_pause_endpoint( }, ) + # Восстанавливаем статус ACTIVE если подписка была DISABLED (недостаток средств) + from app.database.models import SubscriptionStatus + if subscription.status == SubscriptionStatus.DISABLED.value: + subscription.status = SubscriptionStatus.ACTIVE.value + # Обновляем время последнего списания для корректного расчёта следующего + subscription.last_daily_charge_at = datetime.utcnow() + subscription.end_date = datetime.utcnow() + timedelta(days=1) + logger.info( + f"✅ Суточная подписка {subscription.id} восстановлена из DISABLED в ACTIVE" + ) + await db.commit() await db.refresh(subscription) await db.refresh(user)