Update tariff_purchase.py

This commit is contained in:
Egor
2026-01-16 06:12:36 +03:00
committed by GitHub
parent dbf4c1f521
commit 31fbccca26

View File

@@ -1327,6 +1327,13 @@ async def confirm_daily_tariff_purchase(
# Для суточного тарифа ставим срок на 1 день
existing_subscription.end_date = datetime.utcnow() + timedelta(days=1)
# Сбрасываем докупленный трафик при смене тарифа
from app.database.models import TrafficPurchase
from sqlalchemy import delete as sql_delete
await db.execute(sql_delete(TrafficPurchase).where(TrafficPurchase.subscription_id == existing_subscription.id))
existing_subscription.purchased_traffic_gb = 0
existing_subscription.traffic_reset_at = None
await db.commit()
await db.refresh(existing_subscription)
subscription = existing_subscription
@@ -2380,6 +2387,13 @@ async def confirm_daily_tariff_switch(
# Для суточного тарифа ставим срок на 1 день
subscription.end_date = datetime.utcnow() + timedelta(days=1)
# Сбрасываем докупленный трафик при смене тарифа
from app.database.models import TrafficPurchase
from sqlalchemy import delete as sql_delete
await db.execute(sql_delete(TrafficPurchase).where(TrafficPurchase.subscription_id == subscription.id))
subscription.purchased_traffic_gb = 0
subscription.traffic_reset_at = None
await db.commit()
await db.refresh(subscription)
@@ -2941,6 +2955,13 @@ async def confirm_instant_switch(
subscription.device_limit = new_tariff.device_limit
subscription.connected_squads = squads
# Сбрасываем докупленный трафик при смене тарифа
from app.database.models import TrafficPurchase
from sqlalchemy import delete as sql_delete
await db.execute(sql_delete(TrafficPurchase).where(TrafficPurchase.subscription_id == subscription.id))
subscription.purchased_traffic_gb = 0
subscription.traffic_reset_at = None
if is_new_daily:
# Для суточного тарифа - сбрасываем на 1 день и настраиваем суточные параметры
daily_price = getattr(new_tariff, 'daily_price_kopeks', 0)