From c0dc3dcc18dd911db77c7d0ef4c42b64afc59657 Mon Sep 17 00:00:00 2001 From: Vladless Date: Sat, 31 May 2025 15:54:29 +0300 Subject: [PATCH] delete cuopons stats for utm --- database/tracking_sources.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/database/tracking_sources.py b/database/tracking_sources.py index 9a24991b..aed98754 100644 --- a/database/tracking_sources.py +++ b/database/tracking_sources.py @@ -1,4 +1,4 @@ -from sqlalchemy import func, insert, select +from sqlalchemy import func, insert, select, not_ from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.ext.asyncio import AsyncSession @@ -89,14 +89,22 @@ async def get_tracking_source_stats(session: AsyncSession, code: str) -> dict | payments_subq = ( select(func.count(func.distinct(Payment.tg_id))) .join(User, Payment.tg_id == User.tg_id) - .where((User.source_code == code) & (Payment.status == "success")) + .where( + (User.source_code == code) + & (Payment.status == "success") + & not_(Payment.payment_system.in_(["coupon", "referral"])) + ) .scalar_subquery() ) amount_subq = ( select(func.coalesce(func.sum(Payment.amount), 0)) .join(User, Payment.tg_id == User.tg_id) - .where((User.source_code == code) & (Payment.status == "success")) + .where( + (User.source_code == code) + & (Payment.status == "success") + & not_(Payment.payment_system.in_(["coupon", "referral"])) + ) .scalar_subquery() )