...
- http://<<ip_address>>:<<port>>/GetAPList Список ТД в формате JSON
- http://<<ip_address>>:<<port>>/GetAPDetail/{MAC_ADDRESS} - Детализация информации по ТД
- http://<<ip_address>>:<<port>>/GetAPAvailable/{MAC_ADDRESS} - Доступность ТД
- http://<<ip_address>>:<<port>>/GetAPPerformance/{MAC_ADDRESS} - Метрики по ТД
Управление сервисом
Настройка профиля Юридических лиц в EMS
- В GUI EMS перейдите в таблицу Администрирование→Права и Пользователи→Профили юридических лиц и создайте новый профиль:
- В новом профиле укажите описание профиля клиента:
- Укажите параметры профиля клиента (для примера, ClientName) аналогично скриншоту.
- Перейдите в таблицу в таблицу Администрирование→Права и Пользователи→Домены и привяжите данный профиль к нужному вам домену, заполнив параметр ClientName, который будет отдаваться сервисом eltex-bob по запросу ТД в данном домене:
...
GetAPList
Предоставляет список ТД в формате JSON, который содержит:
- grRegion - область/регион;
- vspNumber - номер ВСП;
- apID - MAC-адрес устройства;apName
- apRtcGroup - имя устройства;
- grCity - город;
- grRegion - область/региондомен , в котором располагается устройство
- grTB - территориальный банк;
- apGroup - месторасположение ТД;
- vspAddress - адрес расположения ТДВСП;apGroup
- apName - сформированное по справочнику месторасположение ТДимя устройства;
- apRtcGroup - домен , в котором располагается устройство;
- Остальные параметры задаются в настройках профиля юридических лиц в EMS.
- grCity - город;
Пример:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ "data": [ { "ClientNamegrRegion": "Тестовый офисСамарская", #Параметр клиента, настроенный в профиле юридических лиц для данного клиента "apGroupvspNumber": "Какой-то банк/Такая-то область/Доп.офис №XXXX-XXXXX****-*****", "apID": "a800-f900-4b00-b500-a400-a000", "grCityapRtcGroup": "гtoor.ВолгоградpA", Какой-то район" "grTB":"банк", "apRtcGroupapGroup": "Ugбанк/Volgogradskiy_filial/Volgogradskaya_obl/Volgograd/Test_bank/XXXX-XXXX_pr-XXXXXXX_1XСамарская/Доп.офис №****-****", "vspAddress": "4XXXX7"******, г.XXXXXСамара, пр.XXXXXXСамарская, 1X*", "apName": "test_ap_name_XXXX-XXXX_a8:f9:4b:b5:XX:XX"****-****_Samarskaya_*_00:00:00:00:00:00", "grRegiongrCity": "Такая-то областьСамара" }, ] } |
Возможные параметры запроса
...
Блок кода | ||||
---|---|---|---|---|
| ||||
curl -L http://localhost:9190/GetAPList |
- grTB - фильтр по полю grTB. При указании этого параметра в ответе от eltex-bob будут содержаться только те объекты, значение grTB которых совпадает с указанным. Если значение параметра пустое, фильтр будет игнорироваться.
пример запроса:
Блок кода |
---|
curl -L http://localhost:9190/GetAPList?grTB='Какой-то банк' |
GetAPDetail
Детализация информации по ТД , которая содержит :
- "
...
- firmware-version"
...
- - версия ПО;
- "
...
- full-address" - полный адрес ТД.
- "vsp" - номер ВСП;
- "
...
- city" -
...
Остальные параметры задаются в настройках профиля юридических лиц в EMS.
- город расположения ТД;
- "serial-number" - серийный номер устройства;
- "
...
- ip" - IP-адрес устройства;
- grTB - территориальный банк;
- "office" - название офиса , где расположена ТД;
Запрос:
Блок кода | ||||
---|---|---|---|---|
| ||||
curl -L http://localhost:9190/GetAPDetail/00:-00:-00:-00:-00:-00 |
Ответ:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ "ipfirmware-version": "1921.1680.60.180", "city "full-address":"Волгоград, "г.Березовский", "firmware-version": "1.16.0.163Металлургов, *", "vsp":"****-*****", "serial-numbercity": "WP010001XXВолгоград", "full-address "serial-number": "67XXXX", г.Олекминск, ул.XXXXXX, XXXXX", "ClientNameip": "Тестовый офис" #Параметр клиента, настроенный в профиле юридических лиц для данного клиента "127.0.0.1", "grTB":"банк", "office":"Доп.офис №****-****" } |
GetAPAvailable
Доступность ТД, которая содержит:
- "available" - доступность ТД, где 0 - ТД доступна, 1 - ТД недоступна;
- "uptime" - время доступности ТД, в секундах.
Запрос:
Блок кода | ||||
---|---|---|---|---|
| ||||
curl -L http://localhost:9190/GetAPAvailable/00:-00:-00:-00:-00:-00 |
Ответ:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ "available": 0, "uptime": 67370 } |
...
Метрики ТД, которые содержат:
- "wifi_users" - количество подключенных пользователей
...
- ,
- "mac" - mac-адрес ТД
Запрос:
Блок кода | ||||
---|---|---|---|---|
| ||||
curl -L http://localhost:9190/GetAPPerformance/00:-00:-00:-00:-00:-00 |
Ответ:
Блок кода | ||||
---|---|---|---|---|
| ||||
{
"wifi_users": "5"
"mac":"00-00-00-00-00-00"
} |
Настройки
...
Для авторизации в сервисе доступно 2 способа:
...
Блок кода | ||||
---|---|---|---|---|
| ||||
server { listen 80; server_name bob; location /api/ { proxy_pass http://localhost:9190/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_redirect default; } } |
Настройка профиля юридических лиц
1. В EMS → "Администрирование" → "Права и пользователи" - > "Профили юридических лиц" необходимо добавить профиль, нажав на "+":
На вкладке "Описание профиля" заполнить поля "Имя профиля" и "Описание".
На вкладке "Параметры" нужно добавить новый объект и заполнить необходимые поля:
2. В EMS → "Администрирование" → "Права и пользователи" - > "Домены" нужно выбрать необходимый домен, нажать кнопку редактирования и добавить созданный профиль:
/etc/eltex-bob/application.properties
...
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# The Datasource Mysql properties spring.application.name=bob h2.console.enabled=true h2.console.port=9111 spring.datasource.url=r2dbc:mysql://localhost:3306/eltex_ems?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC spring.datasource.username=javauser spring.datasource.password=javapassword spring.datasource.hikari.maximum-pool-size=20 service.profile.id=32 service.profile.fields=office,companytestprofile spring.mvc.favicon.enabled=false mac.splitter=:- auth.enabled=false auth.username=user auth.password=password server.port=9190 |
- Средство для диагности проблем в сервисном центре
Без форматирования |
---|
h2.console.enabled=true
h2.console.port=9111 |
- Подключение к БД:
Без форматирования |
---|
spring.datasource.url=jdbcr2dbc:mysql://localhost:3306/eltex_ems?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC spring.datasource.username=javauser spring.datasource.password=javapassword |
...
Без форматирования |
---|
spring.datasource.hikari.maximum-pool-size=2010 |
- Данные профиля юридических лиц.
Без форматирования |
---|
service.profile.id=2
service.profile.fields=testprofile
|
- Разделители октетов в мак-адресе (в apID и в запросах GetAPDetail, GetAPAvailable, GetAPPerformance, по умолчанию ":-"):
Без форматирования |
---|
mac.splitter=:- |
- Включение авторизации по логин-паролю, false - выключено:
...
Без форматирования |
---|
auth.username=user auth.password=password |
- Конфигурационный файл для работы со справочником ВСП:
Без форматирования |
---|
excel.config.file=/etc/eltex-bob/excel_config.yaml |
- Порт, который слушает сервис
...
Блок кода | ||||
---|---|---|---|---|
| ||||
version: "3" services: bob: image: hub.eltex-co.ru/softwlc/eltex-bob:1.19-<tag> network_mode: host ports: - 9190:9190 - 9111:9111 volumes: - "/etc/eltex-bob/log4j2.xml:/etc/eltex-bob/log4j2.xml" - "/var/log/eltex-bob:/var/log/eltex-bob" environment: - spring.datasource.url=${BOB_DB_URL} - spring.datasource.username=${BOB_DB_USERNAME} - spring.datasource.password=${BOB_DB_PASSWORD} - service.profile.id=${BOB_CLIENT_PROFILE} - service.profile.fields=${BOB_CLIENT_PROFILE_FIELDS} - fields=${BOB_CLIENT_PROFILE_FIELDS} |
Подсказка |
---|
Вместо <tag> необходимо указать актуальную версию, которую можно посмотреть по ссылке. |
...
Блок кода | ||||
---|---|---|---|---|
| ||||
# common bob params BOB_DB_URL=jdbcr2dbc:mysql://<IP-address>100.110.1.228:3306/eltex_ems?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC #Адрес БД MySQL BOB_DB_USERNAME=javauser BOB_DB_PASSWORD=javapassword BOB_CLIENT_PROFILE=4 #ID профиля юридических лиц в EMS 2 BOB_CLIENT_PROFILE_FIELDS=NewClient #Параметр клиента, настроенный в профиле юридических лиц для данного клиента testprofile |
Файлы .env и docker-compose.yml должны находиться в одной папке. Контейнер запускается командой:
...
- BOB_DB_URL - URL для подключекния к БД MySQL;
- BOB_DB_USERNAME - Логин подключения к БД;
- BOB_DB_PASSWORD - Пароль подключения к БД;
Параметры фильтрации
- BOB_CLIENT_PROFILEPROFILE - ID id профиля юридических лиц в EMS;
- BOB_CLIENT_PROFILE_FIELDS - араметр клиента, настроенный в профиле - имя профиля юридических лиц для данного клиента.