diff --git a/app/config.py b/app/config.py index 1efa90c6..35a30377 100644 --- a/app/config.py +++ b/app/config.py @@ -144,7 +144,6 @@ class Settings(BaseSettings): REFERRAL_PROGRAM_ENABLED: bool = True REFERRAL_NOTIFICATIONS_ENABLED: bool = True REFERRAL_NOTIFICATION_RETRY_ATTEMPTS: int = 3 - REFERRED_USER_REWARD: int = 0 AUTOPAY_WARNING_DAYS: str = "3,1" @@ -1115,34 +1114,7 @@ class Settings(BaseSettings): return (self.BACKUP_SEND_ENABLED and self.get_backup_send_chat_id() is not None) - def get_referred_user_reward_kopeks(self) -> int: - """Return the referred user reward normalized to kopeks. - - Historically the value was stored in kopeks, however some - installations provide it in rubles. To keep backward compatibility we - treat any value greater than or equal to one thousand as already being - in kopeks (≥ 10 ₽). Smaller positive values are assumed to be provided - in rubles and therefore converted to kopeks. - """ - - raw_value = getattr(self, "REFERRED_USER_REWARD", 0) - - try: - value = int(raw_value) - except (TypeError, ValueError): - return 0 - - if value <= 0: - return 0 - - if value >= 1000: - return value - - return value * 100 - def get_referral_settings(self) -> Dict: - referred_reward_kopeks = self.get_referred_user_reward_kopeks() - return { "program_enabled": self.is_referral_program_enabled(), "minimum_topup_kopeks": self.REFERRAL_MINIMUM_TOPUP_KOPEKS, @@ -1150,8 +1122,6 @@ class Settings(BaseSettings): "inviter_bonus_kopeks": self.REFERRAL_INVITER_BONUS_KOPEKS, "commission_percent": self.REFERRAL_COMMISSION_PERCENT, "notifications_enabled": self.REFERRAL_NOTIFICATIONS_ENABLED, - "referred_user_reward": referred_reward_kopeks, - "referred_user_reward_kopeks": referred_reward_kopeks, } def is_referral_program_enabled(self) -> bool: diff --git a/app/handlers/admin/bot_configuration.py b/app/handlers/admin/bot_configuration.py index 26e4d0da..8898c03c 100644 --- a/app/handlers/admin/bot_configuration.py +++ b/app/handlers/admin/bot_configuration.py @@ -313,7 +313,6 @@ def _get_group_status(group_key: str) -> Tuple[str, str]: settings.REFERRAL_COMMISSION_PERCENT or settings.REFERRAL_FIRST_TOPUP_BONUS_KOPEKS or settings.REFERRAL_INVITER_BONUS_KOPEKS - or settings.get_referred_user_reward_kopeks() ) return ("🟢", "Программа активна") if active else ("⚪", "Бонусы не заданы") diff --git a/app/handlers/admin/referrals.py b/app/handlers/admin/referrals.py index 1d0ca46e..9de1bb65 100644 --- a/app/handlers/admin/referrals.py +++ b/app/handlers/admin/referrals.py @@ -68,7 +68,6 @@ async def show_referral_statistics( - Минимальное пополнение: {settings.format_price(settings.REFERRAL_MINIMUM_TOPUP_KOPEKS)} - Бонус за первое пополнение: {settings.format_price(settings.REFERRAL_FIRST_TOPUP_BONUS_KOPEKS)} - Бонус пригласившему: {settings.format_price(settings.REFERRAL_INVITER_BONUS_KOPEKS)} -- Бонус новому пользователю: {settings.format_price(settings.get_referred_user_reward_kopeks())} - Комиссия с покупок: {settings.REFERRAL_COMMISSION_PERCENT}% - Уведомления: {'✅ Включены' if settings.REFERRAL_NOTIFICATIONS_ENABLED else '❌ Отключены'} @@ -105,7 +104,6 @@ async def show_referral_statistics( - Минимальное пополнение: {settings.format_price(settings.REFERRAL_MINIMUM_TOPUP_KOPEKS)} - Бонус за первое пополнение: {settings.format_price(settings.REFERRAL_FIRST_TOPUP_BONUS_KOPEKS)} - Бонус пригласившему: {settings.format_price(settings.REFERRAL_INVITER_BONUS_KOPEKS)} -- Бонус новому пользователю: {settings.format_price(settings.get_referred_user_reward_kopeks())} - Комиссия с покупок: {settings.REFERRAL_COMMISSION_PERCENT}% 🕐 Время: {current_time} @@ -190,7 +188,6 @@ async def show_referral_settings( • Минимальная сумма пополнения для участия: {settings.format_price(settings.REFERRAL_MINIMUM_TOPUP_KOPEKS)} • Бонус за первое пополнение реферала: {settings.format_price(settings.REFERRAL_FIRST_TOPUP_BONUS_KOPEKS)} • Бонус пригласившему за первое пополнение: {settings.format_price(settings.REFERRAL_INVITER_BONUS_KOPEKS)} -• Бонус новому пользователю при регистрации: {settings.format_price(settings.get_referred_user_reward_kopeks())} Комиссионные: • Процент с каждой покупки реферала: {settings.REFERRAL_COMMISSION_PERCENT}% diff --git a/app/services/system_settings_service.py b/app/services/system_settings_service.py index 6ede739a..e493a97c 100644 --- a/app/services/system_settings_service.py +++ b/app/services/system_settings_service.py @@ -213,7 +213,6 @@ class BotConfigurationService: "TRAFFIC_PACKAGES_CONFIG": "TRAFFIC_PACKAGES", "BASE_PROMO_GROUP_PERIOD_DISCOUNTS_ENABLED": "SUBSCRIPTIONS_CORE", "BASE_PROMO_GROUP_PERIOD_DISCOUNTS": "SUBSCRIPTIONS_CORE", - "REFERRED_USER_REWARD": "REFERRAL", "DEFAULT_AUTOPAY_ENABLED": "AUTOPAY", "DEFAULT_AUTOPAY_DAYS_BEFORE": "AUTOPAY", "MIN_BALANCE_FOR_AUTOPAY_KOPEKS": "AUTOPAY", diff --git a/app/webapi/routes/miniapp.py b/app/webapi/routes/miniapp.py index f4baefb5..36c3e89c 100644 --- a/app/webapi/routes/miniapp.py +++ b/app/webapi/routes/miniapp.py @@ -2408,23 +2408,6 @@ async def _build_referral_info( inviter_bonus_kopeks = int(referral_settings.get("inviter_bonus_kopeks") or 0) commission_percent = float(referral_settings.get("commission_percent") or 0) - referred_user_reward_kopeks = settings.get_referred_user_reward_kopeks() - for key in ("referred_user_reward_kopeks", "referred_user_reward"): - candidate = referral_settings.get(key) - if candidate is None: - continue - try: - value = int(candidate) - except (TypeError, ValueError): - continue - if value <= 0: - referred_user_reward_kopeks = 0 - break - if key == "referred_user_reward" and value < 1000: - value *= 100 - referred_user_reward_kopeks = value - break - terms = MiniAppReferralTerms( minimum_topup_kopeks=minimum_topup_kopeks, minimum_topup_label=settings.format_price(minimum_topup_kopeks), @@ -2433,8 +2416,6 @@ async def _build_referral_info( inviter_bonus_kopeks=inviter_bonus_kopeks, inviter_bonus_label=settings.format_price(inviter_bonus_kopeks), commission_percent=commission_percent, - referred_user_reward_kopeks=referred_user_reward_kopeks, - referred_user_reward_label=settings.format_price(referred_user_reward_kopeks), ) summary = await get_user_referral_summary(db, user.id) diff --git a/app/webapi/schemas/miniapp.py b/app/webapi/schemas/miniapp.py index f1ce9f22..c21b6060 100644 --- a/app/webapi/schemas/miniapp.py +++ b/app/webapi/schemas/miniapp.py @@ -296,8 +296,6 @@ class MiniAppReferralTerms(BaseModel): inviter_bonus_kopeks: int = 0 inviter_bonus_label: Optional[str] = None commission_percent: float = 0.0 - referred_user_reward_kopeks: int = 0 - referred_user_reward_label: Optional[str] = None class MiniAppReferralStats(BaseModel):