Модуль DrWeb
Назначение модуля
Модуль автоматизирует работу с Dr.Web AV-Desk. Позволяет пользователям подписываться на услугу, менять тариф, блокировать на время и прекращать подписку. Производит списание наработки с баланса пользователя в соответствии старифами. В настоящий момент поддерживаться версия Dr.Web AV-Desk 5 c API2.0.
Базовые понятия и алгоритм работы модуля
При запросе агента через web интерфейс пользователя, проверяется наличие достаточного количества денег, после чего посылается запрос на сервер Dr.Web AV-Desk, полученная ссылка показывается пользователю для загрузки агента.
Задача планировщика "Обработка задач Dr.Web (режим 1)",выполняет несколько задач.
За определенное количество дней до конца месяца проверяет наличие необходимых средств на балансе и продлевает подписки на следующий месяц. В случае нехватки средств, выполняется запрос на сервер, ограничивающий срок подписки последним днем текущего месяца;
При поступлении денег на счет пользователя, у которого прекращена подписка из-за нехватки денег, продлевает подписку;
В первые дни месяца посылает запрос на изменение тарифа для пользователей, которые инициировали смену тарифа.
Задача планировщика "Начисление Dr.Web", выполняет начисление наработки, по акивным агентам.
Установка и настройка модуля
Модуль устанавливается с помощью утилиты bg_installer, после чего создаётся его экземпляр и прописываются необходимые услуги.
На вкладке Конфигурация создайте и установите конфигурацию модуля.
#ссылка на api2 для сервера AVDESK
drweb.api.url=http://localhost:
9080
/api/
2
.
0
/
#логин для доступа к серверу
drweb.api.user=
#пароль для доступа к серверу
drweb.api.pswd=
#кодировка
drweb.api.encoding=
UTF
-
8
#id расхода за Drweb
drweb.charge.id=
54
# коментарий к расходу
drweb.charge.comment=За Dr.Web
AV
-Desk test;
#текст ошибки при нехватке баланса
drweb.error.balance.message=Недостаточно денег на счету test
#наличие льготного периода
graceperiod=yes
#количество полных месяцев льготного периода
graceperiod.count=
1
#название пункта меню в web-интерфейсе
web.menuItem1=Dr.Web
AV
-Desk - подписка
#максимальное кол-во на однин договор
#drweb.agent.max.count=5
#текст ошибки при превышение максимального количества агентов
#drweb.error.max.count.message=Вы превысили количество агентов
На вкладке модуля Тарифы создайте тарифы, соответствующие тарифам в Dr.Web AV-Desk.
Для тарифа можно выбрать следующие параметры:
Название - определяет как тариф будет показываться пользователю;
Услуга - определяет услугу, по которой будет начисляться наработка;
Услуга активации - определяет услугу, по которой будет начисляться наработка в месяц активации агента (месяц первого платежа);
Группа - соответствеут группе на сервере Av-Desk;
Действует - задает период действия тарифа;
Показывать - задает период, когда пользователь видит тариф и может на него переключаться (подключаться);
Следующий тариф - определяет тариф, на который нужно переключить агента по истечении срока действия данного тарифа (применяеться для акционных тарифов);
Показывать для групп - определяет группы договоров, пользователи которых видят тариф и могут на него переключаться (подключаться);
Только для новых - тариф виден только для первичного подключения, но не для перехода на него в последующем.
В планировщике заданий необходимо добавить задачу Обработка задач Dr.Web (режим 1). Данная задача отвечает за продление подписки и изменение тарифов на сервере Dr.Web AV-Desk. Период запуска устанавливаем в начале каждых суток. В конфигурации задачи должно быть указано
#mid модуля drweb
mid=
#В какие дни месяца можно менять тариф. AV-Desk позволяет переключать тариф в первый день месяца
change.tariff.days=
1
#За сколько дней до конца месяца начинать продлять агентов (когда начинать списывать средства и продлять или прекращать подписку )
prolong.days=
2
В планировщике заданий необходимо добавить задачу Начисление Dr.Web. Данная задача производит начисление за подписку. В конфигурации задачи должно быть указано
#mid модуля drweb
mid=
Добавить модуль в договоры, в которых планируется применение данной услуги.