Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  • 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 перейдите в таблицу Администрирование→Права и Пользователи→Профили юридических лиц и создайте новый профиль:

Image Removed

  • В новом профиле укажите описание профиля клиента:

Image Removed

  • Укажите параметры профиля клиента (для примера, ClientName) аналогично скриншоту.

Image Removed

  • Перейдите в таблицу в таблицу Администрирование→Права и Пользователи→Домены и привяжите данный профиль к нужному вам домену, заполнив параметр ClientName, который будет отдаваться сервисом eltex-bob по запросу ТД в данном домене:

Image Removed

...

GetAPList

Предоставляет список ТД в формате JSON, который содержит:

  • grRegion - область/регион;
  • vspNumber - номер ВСП;
  • apID - MAC-адрес устройства;apName
  • apRtcGroup - имя устройства;
  • grCity - город;
  • grRegion - область/региондомен , в котором располагается устройство
  • grTB - территориальный банк;
  • apGroup - месторасположение ТД;
  • vspAddress -  адрес расположения ТДВСП;apGroup
  • apName - сформированное по справочнику месторасположение ТДимя устройства;
  • apRtcGroup - домен , в котором располагается устройство;
  • Остальные параметры задаются в настройках профиля юридических лиц в EMS.
  • grCity - город;

Пример:

Блок кода
languagejs
themeRDark
{
    "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": "Такая-то областьСамара"
        },
	]
}

Возможные параметры запроса

...

Блок кода
languagebash
themeRDark
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" - название офиса , где расположена ТД;


Запрос:

Блок кода
languagebash
themeRDark
curl -L http://localhost:9190/GetAPDetail/00:-00:-00:-00:-00:-00

Ответ:

Блок кода
languagejs
themeRDark
{
    "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" - время доступности ТД, в секундах.

Запрос:

Блок кода
languagebash
themeRDark
curl -L http://localhost:9190/GetAPAvailable/00:-00:-00:-00:-00:-00

Ответ:

Блок кода
languagejs
themeRDark
{
    "available": 0,
    "uptime": 67370
}

...

Метрики ТД,  которые содержат:

  • "wifi_users" - количество подключенных  пользователей

...

  • ,
  • "mac" - mac-адрес ТД

Запрос:

Блок кода
languagebash
themeRDark
curl -L http://localhost:9190/GetAPPerformance/00:-00:-00:-00:-00:-00

Ответ:

Блок кода
languagejs
themeRDark
{
    "wifi_users": "5"
    "mac":"00-00-00-00-00-00"
}


Настройки

...

Для авторизации в сервисе доступно 2 способа:

...

Блок кода
languagejs
themeRDark
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 → "Администрирование" → "Права и пользователи" - > "Профили юридических лиц" необходимо добавить профиль, нажав на "+":

Image Added

На вкладке "Описание профиля" заполнить поля "Имя профиля" и "Описание".

На вкладке "Параметры" нужно добавить новый объект и заполнить необходимые поля:

Image Added


2. В EMS → "Администрирование" → "Права и пользователи" - > "Домены" нужно выбрать необходимый домен, нажать кнопку редактирования и добавить созданный профиль:

Image Added

/etc/eltex-bob/application.properties

...

Блок кода
languageyml
themeRDark
titleapplication.properties
collapsetrue
# 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=ClientNametestprofile

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=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=2010
  • Данные профиля юридических лиц.
Без форматирования
service.profile.id=2
service.profile.fields=testprofile
  • Разделители октетов в мак-адресе (в apID и в запросах GetAPDetail, GetAPAvailable, GetAPPerformance, по умолчанию ":-"):
Без форматирования
mac.splitter=:
  • Раздел, в котором указываются ID профиля юридических лиц из EMS, и поля настроенные в профиле для заполнения:
Без форматирования
service.profile.id=3
service.profile.fields=ClientName
-
  • Включение авторизации по логин-паролю, false - выключено:

...

Без форматирования
auth.username=user
auth.password=password
  • Конфигурационный файл для работы со справочником ВСП:
Без форматирования
excel.config.file=/etc/eltex-bob/excel_config.yaml
  • Порт, который слушает сервис

...

Блок кода
languageyml
titledocker-compose.yml
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> необходимо указать актуальную версию, которую можно посмотреть по ссылке.

...

Блок кода
languageyml
title.env
# common bob params
BOB_DB_URL=r2dbc: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=ClientName #Параметр клиента, настроенный в профиле юридических лиц для данного клиента

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 - араметр клиента, настроенный в профиле  - имя профиля юридических лиц для данного клиента.