Merge pull request #268 from Fr1ngg/hmojzu-bedolaga/add-promo-group-assignment-on-completion

Run promo group assignment after completing transactions
This commit is contained in:
Egor
2025-09-24 06:28:31 +03:00
committed by GitHub

View File

@@ -134,11 +134,25 @@ async def complete_transaction(db: AsyncSession, transaction: Transaction) -> Tr
transaction.is_completed = True
transaction.completed_at = datetime.utcnow()
await db.commit()
await db.refresh(transaction)
logger.info(f"✅ Транзакция {transaction.id} завершена")
try:
from app.services.promo_group_assignment import (
maybe_assign_promo_group_by_total_spent,
)
await maybe_assign_promo_group_by_total_spent(db, transaction.user_id)
except Exception as exc:
logger.debug(
"Не удалось проверить автовыдачу промогруппы для пользователя %s: %s",
transaction.user_id,
exc,
)
return transaction