Модуль 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 для сервера AVDESKdrweb.api.url=http://localhost:9080/api/2.0/#логин для доступа к серверуdrweb.api.user=#пароль для доступа к серверуdrweb.api.pswd=#кодировкаdrweb.api.encoding=UTF-8#id расхода за Drwebdrweb.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 модуля drwebmid=#В какие дни месяца можно менять тариф. AV-Desk позволяет переключать тариф в первый день месяцаchange.tariff.days=1 #За сколько дней до конца месяца начинать продлять агентов (когда начинать списывать средства и продлять или прекращать подписку )prolong.days=2В планировщике заданий необходимо добавить задачу Начисление Dr.Web. Данная задача производит начисление за подписку. В конфигурации задачи должно быть указано
#mid модуля drwebmid=Добавить модуль в договоры, в которых планируется применение данной услуги.