Commit Graph

5844 Commits

Author SHA1 Message Date
gy9vin
096b4d4fe3 fix Отправка сообщения пользователю из карточки
1. app/handlers/admin/users.py
  - Добавлен параметр parse_mode="HTML" в send_message для поддержки HTML-форматирования
  - Добавлен вызов await state.clear() при ошибке BadRequest для очистки состояния FSM
2025-12-30 22:48:15 +03:00
gy9vin
9dd3299744 fix Скрытие кнопок пополнения через env
1. app/config.py
  - Добавлен метод is_quick_amount_buttons_enabled() для централизации логики

  2. 9 файлов в app/handlers/balance/:
  - main.py — 1 замена
  - cryptobot.py — 2 замены
  - stars.py — 2 замены
  - yookassa.py — 4 замены
  - pal24.py — 1 замена
  - platega.py — 1 замена
  - mulenpay.py — 1 замена
  - wata.py — 1 замена
  - heleket.py — 1 замена

  Было (12 раз):
  if settings.YOOKASSA_QUICK_AMOUNT_SELECTION_ENABLED and not settings.DISABLE_TOPUP_BUTTONS:

  Стало:
  if settings.is_quick_amount_buttons_enabled():
2025-12-30 22:40:43 +03:00
gy9vin
bc19ec32bb fix Реализация корзины пользователя! запоминает настройки подписки после пополнения баланса 2025-12-30 22:35:54 +03:00
gy9vin
720f0ecb60 fix Скрытие кнопки партнёрки через env 2025-12-30 22:29:06 +03:00
gy9vin
a9fd4c2466 fix Модульная структура платежки 2025-12-30 22:22:56 +03:00
gy9vin
5aa9b6ddb3 fix Исправление уведомления пользователя о поступлении денег на счет 2025-12-30 22:18:44 +03:00
gy9vin
180cba4561 fix Расширение фильтров 2025-12-30 22:14:09 +03:00
gy9vin
25dc7ff624 fix Добавлена фильтрация пользователей по балансу 2025-12-30 22:07:26 +03:00
gy9vin
1233d38fe1 fix Добавлена функция покупки подписки администратором с преобразованием триала в безлимитную подписку 2025-12-30 21:54:02 +03:00
gy9vin
d60ebaef41 Merge branch 'main' of https://github.com/Gy9vin/remnawave-bedolaga-telegram-bot 2025-12-30 21:50:42 +03:00
gy9vin
dd86014667 Fix Добавление кнопок пополнения с суммой подписки 2025-12-30 21:50:36 +03:00
Mikhail
bb8beff511 Merge branch 'BEDOLAGA-DEV:main' into main 2025-12-30 21:47:07 +03:00
Egor
b276d764a3 Update Python version argument to v2.9.4 v2.9.4 2025-12-30 19:28:19 +04:00
Egor
ee78ab0932 Update docker-registry.yml 2025-12-30 19:28:03 +04:00
Egor
e9daa76d7e Update docker-hub.yml 2025-12-30 19:27:52 +04:00
Egor
780c3956fa Merge pull request #2226 from BEDOLAGA-DEV/dev5
Новый режим покупки фикс+докупка со сбросом при продлении
2025-12-30 18:53:30 +04:00
Egor
e582802e39 Update payment link generation to use async method 2025-12-30 18:51:55 +04:00
Egor
d13b20d380 Update cloudpayments_service.py 2025-12-30 18:51:21 +04:00
Egor
5918f296ff Update inline.py 2025-12-30 18:33:18 +04:00
Egor
2f1ef8a60d Update pricing.py 2025-12-30 18:16:35 +04:00
Egor
cefb6602f7 Refactor selectable logic in ensurePurchaseTrafficSelection 2025-12-30 18:15:50 +04:00
Egor
b6503f9af9 Update miniapp.py 2025-12-30 18:15:02 +04:00
Egor
76f465e0f6 Update subscription.py 2025-12-30 18:13:18 +04:00
Egor
63ec894615 Update inline.py 2025-12-30 18:11:56 +04:00
Egor
c9c25613af Add new traffic selection mode option 2025-12-30 18:10:08 +04:00
Egor
6ecaa406aa Update subscription_purchase_service.py 2025-12-30 18:09:11 +04:00
Egor
22c8f73eac Update traffic limit handling in subscription service
Refactor traffic limit assignment logic for subscriptions.
2025-12-30 18:08:32 +04:00
Egor
d4bc7d0b51 Update subscription_renewal_service.py 2025-12-30 18:08:03 +04:00
Egor
aa3c9231b0 Update subscription_service.py 2025-12-30 18:07:39 +04:00
Egor
bce05d4bc4 Implement traffic limit reset on subscription renewal
Added logic to handle traffic limit reset during subscription renewal based on fixed traffic settings.
2025-12-30 18:05:26 +04:00
Egor
f107109091 Update traffic.py 2025-12-30 18:04:54 +04:00
Egor
826a554d55 Update config.py 2025-12-30 17:56:40 +04:00
Egor
fd5801839c Merge pull request #2225 from BEDOLAGA-DEV/main
w
2025-12-30 17:55:46 +04:00
gy9vin
8843d86d9b Merge branch 'main' of https://github.com/Gy9vin/remnawave-bedolaga-telegram-bot 2025-12-30 11:34:46 +03:00
gy9vin
449f82d538 refactor(auto-purchase): перезагрузка пользователя после списания баланса для восстановления связей
- Добавлен get_user_by_id в импорты
- Перезагрузка user через get_user_by_id после subtract_user_balance
- Восстановление связи user_promo_groups, сбрасываемой после db.refresh() в payment-сервисах
- Добавлен мок get_user_by_id в тесте
2025-12-30 11:34:41 +03:00
Egor
abce475ccc Merge pull request #2223 from Gy9vin/main
Отправка чеков со временем
2025-12-30 09:47:45 +04:00
gy9vin
22129ecbec минификс в отладке конкурсов 2025-12-30 02:15:52 +03:00
gy9vin
2a2a3daaae fix(contests): исправление статистики реферальных конкурсов
Основные исправления:
  - Фильтрация событий по дате регистрации реферала (occurred_at)
    в период конкурса (start_at - end_at)
  - Лидерборд теперь показывает правильные числа (было 21, стало 11)
  - Разделение DEPOSIT и SUBSCRIPTION_PAYMENT в статистике:
    - Основная метрика: покупки подписок (SUBSCRIPTION_PAYMENT)
    - Информационно: пополнения баланса (DEPOSIT)

  Новый функционал:
  - Кнопка "🔍 Отладка" для просмотра транзакций конкурса
  - Разбивка сумм по типам в детальной статистике
  - Кнопки "Назад" в синхронизации и отладке
  - Логирование дат фильтрации в синхронизации

  Также исправлено:
  - NaloGO: защита от дублирования чеков в очереди
    (проверка nalogo:created и nalogo:queued в Redis)
2025-12-30 02:08:23 +03:00
gy9vin
ac94d5d708 Merge branch 'main' of https://github.com/Gy9vin/remnawave-bedolaga-telegram-bot 2025-12-30 00:39:50 +03:00
gy9vin
d10ccc4844 refactor(nalogo): улучшение системы чеков NaloGO
Сохранение времени оплаты:
  - Добавлен параметр operation_time в create_receipt()
  - Чеки из очереди создаются с оригинальным временем платежа
  - Парсинг created_at из Redis очереди

  Защита от дублей (3 уровня):
  - Проверка transaction.receipt_uuid перед созданием
  - Redis ключ nalogo:created:{payment_id} с TTL 30 дней
  - Сохранение receipt_uuid в транзакцию после создания

  Бесконечные повторы:
  - Убрано удаление чеков после 10 попыток
  - Чеки остаются в очереди до успешной отправки

  Обработка ошибок:
  - Добавлена обработка 500 и "внутренняя ошибка" как временной недоступности

  Сверка чеков:
  - Заменена API сверка на сверку по логам (logs/current/payments.log)
  - Кнопка "Без чеков" → "Сверка чеков" с прямым показом сверки
  - Исправлена навигация кнопок "Назад"
2025-12-30 00:39:00 +03:00
Mikhail
de733a5f08 Merge branch 'BEDOLAGA-DEV:main' into main 2025-12-29 22:15:48 +03:00
gy9vin
4cab3f5ed4 Отправка чеков со временем 2025-12-29 22:15:07 +03:00
Egor
26b85b16b5 Merge pull request #2220 from BEDOLAGA-DEV/main
w
2025-12-29 10:35:52 +04:00
Egor
ea770c32e8 Merge pull request #2218 from Gy9vin/main
Апдейты
2025-12-28 17:23:04 +03:00
gy9vin
23f8bdfbec feat(restrictions): добавить систему ограничений пользователей
Добавлена возможность ограничивать пользователям:
  - Пополнение баланса (restriction_topup)
  - Покупку/продление подписки (restriction_subscription)

  Изменения:
  - models.py: добавлены поля restriction_topup, restriction_subscription,
    restriction_reason и property has_restrictions
  - universal_migration.py: миграция для новых полей
  - admin/users.py: меню управления ограничениями в карточке пользователя
  - keyboards/admin.py: клавиатура ограничений с toggle-кнопками
  - states.py: состояние editing_user_restriction_reason

  Проверки ограничений добавлены на двух уровнях:
  - start_*_payment: при выборе метода оплаты
  - process_*_payment_amount: при создании платежа

  Затронутые провайдеры: stars, yookassa, mulenpay, wata, pal24,
  cryptobot, heleket, platega, tribute, cloudpayments

  При ограничении пользователь видит причину и кнопку "Обжаловать",
  ведущую на контакт поддержки из настроек.
2025-12-28 13:32:04 +03:00
gy9vin
a362ef9f25 refactor(nalogo): восстановить описание чеков из настроек и использовать локальную библиотеку
- Добавлено восстановление описания чека из настроек при обработке очереди
- Передача telegram_user_id и amount_kopeks через всю цепочку создания чеков
- Переход на локальную исправленную версию библ
2025-12-28 04:58:05 +03:00
gy9vin
1b736b381d refactor(nalogo): упростить настройку чеков и использовать локальное время
- Удалена избыточная настройка NALOGO_RECEIPTS_ENABLED
- Удален эндпоинт /settings/support/nalogo_receipts_enabled
- Удалены методы is_nalogo_receipts_enabled и set_nalogo_receipts_enabled из SupportSettingsService
- Упрощена логика создания чеков
2025-12-27 19:29:04 +03:00
gy9vin
d343a317ee feat(logging): добавить систему ротации логов
- Ежедневная ротация в 00:00 с архивацией в tar.gz
  - Разделение по уровням: info.log, warning.log, error.log
  - Отдельный payments.log для платежных операций
  - Отправка архивов в Telegram-канал бекапов
  - Автоочистка архивов старше 7 дней (настраивается)
  - Переключатель LOG_ROTATION_ENABLED (по умолчанию выключен)
2025-12-27 19:02:28 +03:00
Egor
3fc9e63653 Merge pull request #2208 from Gy9vin/fix
Исправление уязвимостей и багов в конкурсах
2025-12-27 16:20:18 +03:00
Mikhail
9f12462871 Merge branch 'main' into fix 2025-12-27 15:54:07 +03:00