📦 Release v2.3.7 - Система промогрупп и гибкие скидки
🎯 Основные нововведения
✨ Новые возможности
🏷️ Система промогрупп
Полноценная система управления промо-скидками для разных категорий пользователей
| Функция | Описание |
|---|---|
| 👥 Промогруппы | Объединение пользователей в группы с индивидуальными скидками |
| 💰 Гибкие скидки | Настройка скидок на серверы, трафик и дополнительные устройства |
| ⚙️ Админ-панель | Полноценное управление группами через интерфейс администратора |
| 📊 Статистика | Отслеживание количества участников в каждой группе |
🛠️ Технические улучшения
📂 База данных
- ✅ Новая таблица
promo_groups - ✅ Добавлен внешний ключ
promo_group_idв таблицуusers - ✅ Автоматическая миграция существующих пользователей
- ✅ Безопасные SQL-миграции с проверкой существования объектов
🎨 Интерфейс пользователя
- 📱 Отображение активных скидок при оформлении подписки
- 💳 Информация о промо-скидках при продлении
- 🔔 Уведомления о применённых скидках
- 🌐 Полная локализация (RU/EN)
👨💼 Админ-панель
- ➕ Создание и редактирование промогрупп
- 👤 Назначение группы пользователю
- 📈 Просмотр статистики по группам
- ↩️ Быстрая навигация между разделами
📋 Детальные изменения
➕ Добавлено
- 🆕 Сущность
PromoGroupс полным CRUD - 🆕 FSM состояния для управления промогруппами
- 🆕 Методы расчёта цен с учётом скидок
- 🆕 Inline-кнопки навигации в админке
- 🆕 Блок информации о скидках в сообщениях
🔄 Изменено
- 📝 Обновлены все методы расчёта стоимости
- 📝 Расширены логи с информацией о скидках
- 📝 Улучшена структура миграций БД
- 📝 Оптимизирован
universal_migration.py
🌍 Локализация
- 🇷🇺 Добавлены новые строки на русском
- 🇬🇧 Добавлены новые строки на английском
- 📖 Обновлены шаблоны сообщений
⚡ Инструкция по обновлению
1️⃣ Обновите переменные окружения
Добавьте в .env:
BASE_PROMO_GROUP_PERIOD_DISCOUNTS_ENABLED=false
BASE_PROMO_GROUP_PERIOD_DISCOUNTS=60:10,90:20,180:40,360:70
2️⃣ Перезапустите контейнер
docker-compose down
docker-compose pull
docker-compose up -d
Миграции БД выполнятся автоматически при старте контейнера
⚠️ Важные замечания
📌 Обратная совместимость
- Все существующие пользователи автоматически будут добавлены в базовую группу
- Старые тарифы продолжат работать без изменений
🔐 Безопасность
- Миграции выполняют проверку существования объектов перед изменением
- Резервное копирование БД рекомендуется перед обновлением
📊 Производительность
- Добавлены индексы для оптимизации запросов
- Кэширование данных промогрупп для снижения нагрузки