Модуль Тарифы
Возможности
Данные компонент реализует универсальную систему тарифов для пользователей системы.
Компонент тарифов позволяет быстро внедрить в систему возможность создания для пользователей тарифных планов:
- Создание тарифа
- Создание опций для тарифов
- Возможность задать индивидуальное значение для опций каждого тарифа
Предполагается настройка системы под учет спецификаций тарифных планов индивидуально под каждый проект.
Основные объекты
Таблицы БД:
- as_trf_tariffs
- as_trf_tariffOptions
- as_trf_tariffOptionValues
- as_trf_tariffLog
ХП и функции в бд:
- trf_cahngeUserTariff (sp)
- trf_getUserTariffOptionValue (f)
- trf_getUserTariffDeadline (f)
- trf_deadlineNotificationUsers (sp)
Компоненты (страницы, таблицы и формы)
- страницы
- /tariffs - страница управления тарифами
- Таблицы
- tariffManagement - главная таблица управления тарифами. Роли: администратор.
- tariffOptions - модальная таблица управления опциями тарифов. Роли: администратор.
- tariffOptionValues - таблица управления значениями опций для тарифа. Роли: администратор.
- tariffUsers - информ-я таблица с пользователями тарифа. Роли: администратор.
- Формы
- tariffOptions - под-форма управления параметрами тарифа в таблице Роли: администратор.
- setTariffOptionValue - поповер-форма установки значения опции тарифа. Роли: администратор.
- tariffInfo - форма с информацией по текущему тарифу. Роли: пользователь, администратор.
- changeTariff - форма смены тарифа с информацией по имеющимся тарифным планам. Роли: пользователь, администратор.
Зависимости со стандартными компонентами Falcon
- Для работы компонента необходимо в таблицу as_users добавить поля:
- tariffID int null, с внешним ключом на id as_trf_tariffs
- tariffDeadline date null
- Также в as_settings можно добавить настройку tariffDaysLeftNotification - число дней, за которое будет уведомлен пользователь (на информационной панели в ЛК - форма tariffInfo) об окончании тарифа. По умолчанию это значение берется за 5 дней.
- Также компонент связан с системой финансов: fin_accounts, fin_finances, fin_financeStatuses, fin_financeStatusLog
Ключевые функции и процедуры
trf_changeUserTariff
Процедура установки/смены тарифа.
На входе:
- @username nvarchar - кому устанавливаем тариф
- @tariffID int - какой устанавливаем тариф
- @period int - на какой период (месяцев) устанавливаем тариф, может принимать только значения 0, 1, 6, 12, 36, т.к. от этого параметра зависит устанавливаемая цена (в таблице as_trf_tariffs price, price6, price12, price36 соответственно).
Если передан 0, то тариф устанавливается без дедлайна, т.е. навсегда (например, при регистрации можно таким образом установить дефолтный бесплатный тариф).
На выходе:
- result, msg
Процедура проверяет если на счету достаточно средств для перехода на тариф, то выполняет соответствующие финансовые операции, в противном случае пользователь оповещается о недостаточном балансе.
trf_getUserTariffOptionValue
Функция возвращает значение опции для юзера на определенном тарифе.
На входе:
- @username nvarchar - пользователь для которого хотим узнать значение опции
- @optionCode nvarchar - код опции
На выходе получаем @value - строковое значение опции.
trf_getUserTariffDeadline
Функция возвращает дату окончания тарифа для юзера в формате yyyy-mm-dd.
На входе @username nvarchar, @deadline в формате date.
trf_deadlineNotificationUsers
Процедура возвращает список пользователей, у которых приближается срок окончания тарифа.
На входе:
- @days int - количество дней до дедлайна
На выходе таблица (username nvarchar(128), tariffID int, deysLeft int, deadline date).
Можно использовать в периодических процедурах для оповещения пользователей об окончании тарифа.
Как внедрить компонент
- Берем все необходимые объекты с системы Аукцион и переносим в решение.
- На странице управления тарифами (/tariffs - под админом) создаем тарифы и опции.
- Заполняем данные по тарифам: описание, цены (если у тарифа не указано ни одной цены, то он считается бесплатным, в противном случае система потребует указать цены для всех периодов), указываем значение опций для тарифа. Есть возможность отключения тарифов и опций. Отключенные тарифы недоступны для выбора.
- Вносим изменения в бизнес-логику проекта для учета тарифов. Чтобы узнать значение опции для текущего пользователя - вызываем функцию trf_getUserTariffOptionValue и передаем в нее username и optionCode.
- В кабинет пользователя выводим информационную форму тарифа (tariffInfo). В ней отображена информация о текущем тарифе, сроке окончания и кнопка смены тарифа.
Другие модули
SQL-инструмент для создания личных кабинетов на сайте
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы
Веб-приложения на MS SQL. Партнерская программа для разработчиков и веб-студий
Документация по платформе

NOTE! Модули, представленные в данном каталоге не являются частью ядра платформы. Это микрорешения, сделанные на базе платформы.
Модули не предполагают автоматического обновления. Развитие, доработка модулей, исправление возможных ошибок/коллизий не входит в стоимость платформы.