Skip to end of metadata
Go to start of metadata
Icon

Устанавливается на систему начиная с Ubuntu 14.

Для установки сервера рассылок сначала необходимо обратиться за сертификатом.

После с помощью команды добавить его:

Команда добавления сертификата

Далее необходимо локально добавить ключ в cashserver.arix.su.

Установка сервиса рассылок

  1. Для установка сервиса нужно скачать следующий скрипт следующей командой:


  2. Сделать файл исполняемым:

  3. Запустить скрипт установки с правами суперпользователя sudo install.sh
  4. Скрипт установит docker со всем окружением, скачает docker-compose и запустит скрипт развертывания образов для работы с рассылками и запустит их.

Обновление сервиса рассылок

Для обновления сервиса рассылок необходимо:

  1. Перейти в директорию, где находится docker-compose.yml
  2. Выполнить команду для обновления образов:

  3. Выполнить команду для обновления контейнеров:

Логирование сервиса рассылок

Логи рассылок хранятся в директории var/lib/docker/volumes/delivery_delivery_logs/. Запись логов ведется в несколько файлов:

ФайлОписание
delivery-gateway.logЛог сервиса по отправке сообщений
delivery-service.logЛог сервиса рассылок. Сервис, в котором формируются сообщения для отправки.

Настройка сервиса рассылок

Для того чтобы сервис мог получать информацию о сгорании бонусов, нужно его сконфигуривать. Всю конфигурацию сервису можно передать через “Конфигурирование рассылок”.

Icon
Обязательно в Artix Loyalty Management должны быть корректные настройки подключения к КС и БС.

После установки сервиса рассылок нужно зайти в Artix Loyalty Management, в разделе "Управление", перейти во вкладку “Конфигурирование рассылок”, далее “Настройки сервера рассылок”.

Icon
Для работы рассылок о начислении и списании бонусов нужно установить сервис Push-уведомлений.

Установка и настройка сервиса push-уведомлений

Данный сервис нужен для работы уведомлений:

  • о начислении бонусных баллов;
  • о списании бонусных баллов; 
  • с рассылками.
Icon

Поддержка сервиса push-уведомлений для accounting-сервера начинается с версии сборки 3.0.250.

Сервис запускается только под java8.

Для работы сервиса необходимо в конфигурационном файле /etc/mongodb.conf установить параметр:

и перезапустить mongodb, выполнив команду:

Установка и запуск сервиса:

Логирование работы сервиса находятся в файле /var/log/accounting-event-notifier.log.

Настройка работы сервиса может быть осуществлена в конфигурационном файле application.properties, который помещается в ту же директорию, что и jar-файл.

НаименованиеТип данныхВозможные значенияОписаниеПримечания

server.port
числовой Порт, на котором будет поднят rest для управления сервисомУправление состоянием сервера можно осуществлять через rest-api, который доступен для просмотра по адресу http://<host>:<server.port>/swagger-ui.html

su.artix.accounting.event.notifier.group.duration

числовой 

Задержка в секундах, в течении которого будут группироваться операции для почекового объединения

 

su.artix.accounting.event.notifier.mongo.send.event.expired.seconds

числовой Время в секундах, в течение которого информация об отправленных транзакциях будет храниться 

su.artix.accounting.event.notifier.begin.from.current

логический
  • true
  • false

Если в БД не сохранено время последнего прочитанного события - начинать искать записи с текущего момента:

  • При значении параметра true все события, которые были созданы до первого запуска сервиса будут игнорироваться.
  • При значении параметра false все события, которые были созданы до первого запуска сервиса, будут сформированы и отправлены на внешний сервис.

По умолчанию true


su.artix.accounting.event.notifier.type

строковый
  • ARTIX
  • TDERA
Тип сервиса, на который будут отправляться события 

 

 

ARTIX

su.artix.accounting.event.notifier.rest.sender.prefix

строковый http-префикс внешнего сервиса, на который будут отправляться полученные событияК примеру, при указании http:10.10.10.10:80/a/b/c/event/ сервисом будет генерироваться POST запрос по адресу http:10.10.10.10:80/a/b/c/event/send

su.artix.accounting.event.notifier.rest.sender.user

строковый Логин пользователя для basic-авторизации на внешнем сервисеПо умолчанию admin

su.artix.accounting.event.notifier.rest.sender.password

строковый Пароль пользователя, от имени которого будет производиться basic-авторизация на внешнем сервисеПо умолчанию admin

 

TDERA

su.artix.accounting.event.notifier.rest.tdera.urlстроковый URL, на который будет отправляться POST-запросК примеру, при указании http:10.10.10.10:80/a/b/c/event/ сервисом будет генерироваться POST запрос по адресу http:10.10.10.10:80/a/b/c/event/update
su.artix.accounting.event.notifier.rest.tdera.authстроковый Заголовок в POST-запросе для авторизацииЗначение из параметра в неизменном виде будет передано в заголовке Authorization
su.artix.accounting.event.notifier.rest.tdera.senderстроковый Название отправителяПо умолчанию artix

su.artix.accounting.event.notifier.data.protocol.version

строковыйVERSION_1Внутренняя версия протокола между accounting-сервером и данным сервисом push-уведомлений. Не влияет на формат сообщения, посылаемый внешнему сервисуВ настоящее время доступна только VERSION_1.

su.artix.accounting.event.notifier.data.mongodb.collection.name

строковый Наименование коллекции, из которой будут извлекаться данные о событиях 

spring.data.mongodb.uri

строковый 

Доступ до oplog MongoDB, с которой требуется генерировать события

  • При размещении сервиса на одной машине с бонусным сервером используется mongodb://localhost/local
  • При размещении сервиса на отдельной машине необходимо указать адрес до oplog MongoDB

su.artix.accounting.event.notifier.retry.count

числовой Количество ошибок, по достижении которого останавливается обработка ошибок.По умолчанию 50
Пример настройки

Логирование работы сервиса по умолчанию выводятся в консоль. Для записи логов в файл в директории с jar-файлом необходимо разместить файл logback.xml.

При настройке и запуске сервиса на внешний сервис будут отправляться сообщения вида:

  • в режиме ARTIX (в качестве примера указано формирование запроса, если его посылать с помощью curl):

  • в режиме TDERA:

Сервис уведомлений о сгорании бонусов

В accounting-event-notifier добавлен сервис, формирующий сгоревшие бонусы и добавляющий event в БД notifier.

Для того чтобы запустить сервис по отправке сгораний нужно включить настройку командой:

и перезапустить сервис:

В БД accountingEvent в коллекцию event будут поступать сообщения о сгорании. Для этих видов сообщений (которые будут отдаваться клиенту) добавлено два типа CHECK (это сообщения ADD, SUB, BACK, PAY) и FIRED. Сгорания имеют немного другой вид нежели остальные операции (ADD, SUB, BACK, PAY).

Сгорания будут формироваться из БД, которая будет указана в настройках.

Проводники (asset) группируются по accountNumber (транзакции собираются в одну по номеру счета) с lastStatus=COMMITED и status=ADD,BACK за время с момента последнего запуска. Настройка su.artix.accounting.event.notifier.bonusfetcher.scheduler.cron отвечает за периодичность запуска сервиса формирования сгораний.

Настройка сервиса

Настройка отправки уведомлений об изменении баланса

Один из способов настроить отправку уведомлений покупателям об изменении баланса:

  • установить Accounting-сервер
  • указать подключение БС к БД Mongo (здесь имеется ввиду не хранилище данных accounting-сервера, а БД, в которую будут помещаться события об изменении баланса на счетах)
  • настроить и запустить сервис отправки push-уведомлений accounting-event-notifier (смотри выше)

Настройка формирования сообщений об изменении баланса на счетах в конфигурационном файле /opt/virgo/repository/usr/accounting-logic-properties.properties. Данные об изменениях баланса сохраняются в БД Mongo.

Состав данных, которые будут передаваться на внешние сервисы, определяется выбранными настройками. При включении настройки accounting.changeBalance.event.enabled сервис будет отправлять сообщения, содержащие информацию в формате описанном выше. Для отправки в сообщении не только данных об изменении баланса, но и значение баланса, который установлен на карте после начисления/списания, необходимо для параметра accounting.changeBalance.event.sendBalance установить значение true (активный параметр влияет на производительность).

НаименованиеТип данныхВозможные значенияОписаниеПримечания

accounting.changeBalance.event.enabled

логический
  • true
  • false
Генерировать события по изменению баланса

По умолчанию false

accounting.changeBalance.event.protocol.version

строковыйVERSION_1Внутренняя версия протокола между accounting-сервером и данным сервисом push-уведомлений. Не влияет на формат сообщения, посылаемый внешнему сервисуВ настоящее время доступна только VERSION_1

accounting.changeBalance.event.mongodb.uri

строковый Параметры подключения к БД Mongo, в которую производится запись событий об изменении баланса 

accounting.changeBalance.event.mongodb.database

строковый Название БД, в которую записываются события об изменении баланса 

accounting.changeBalance.event.sendBalance

логический
  • true
  • false
Указывать в событии баланс по счету после применения операций начисления/списания

По умолчанию false

При значении true производительность accounting-сервера может сильно просесть

Пример настройки
  • No labels