diff --git a/app/services/partner_application_service.py b/app/services/partner_application_service.py index e3bd7103..5a0d430c 100644 --- a/app/services/partner_application_service.py +++ b/app/services/partner_application_service.py @@ -5,10 +5,10 @@ import string from datetime import UTC, datetime import structlog -from sqlalchemy import desc, func, select +from sqlalchemy import desc, func, select, update from sqlalchemy.ext.asyncio import AsyncSession -from app.database.models import PartnerApplication, PartnerStatus, User +from app.database.models import AdvertisingCampaign, PartnerApplication, PartnerStatus, User logger = structlog.get_logger(__name__) @@ -164,6 +164,13 @@ class PartnerApplicationService: user.partner_status = PartnerStatus.NONE.value user.referral_commission_percent = None + # Отвязываем все кампании от бывшего партнёра + await db.execute( + update(AdvertisingCampaign) + .where(AdvertisingCampaign.partner_user_id == user_id) + .values(partner_user_id=None) + ) + await db.commit() logger.info(