Разработка первого приложения
Компонент Автонумерация Platform V Generators поддерживает режим мультитенантности, используя следующие микросервисы:
- Counters;
- Patterns.
Шаг 1. Создание сущности resources
Создать сущность
resources
вызовом метода CreateResource
под административным resource name
.Пример запроса, где:
- ott-invoker — идентификатор потребителя сервиса
POST localhost:8080/autonum/v3/rn/admin/configurer/resources Content-Type: application/json ott-invoker: invoker { "resource_name": "myres" }
Результат шага: сущность создана.
Ответ:
«message»: «resource was created"
Шаг 2. Создание счетчика
Создать счетчик вызовом метода
CreateCounter
под пользовательским resource name
.Пример запроса, где:
- name — наименование счетчика;
- start — стартовое значение счетчика;
- min — минимальное значение счетчика;
- max — максимальное значение счетчика;
- step — шаг счетчика;
- cycle — цикличность при достижении максимального значения.
POST /autonum/v3/rn/user_resource_name/counters { "name": "Unique_Counter_Name_009", "start": "1", "min": "1", "max": "99999", "step": "1", "cycle": true, "format": "" }
Результат шага: счетчик создан.
Ответ:
HTTP Status Code
201 Created
Тело ответа
Шаг 3. Получение следующего значения счетчика{ "name": "Unique_Counter_Name_009", "start": "1", "min": "1", "max": "99999", "step": "1", "cycle": true, "format": "Счет-фактура №$_$ от $date%г." }
Получить следующее значение вызовом метода
NextValue
под пользовательским resource name
.Пример запроса, где:
- date — параметр, для которого создается новый идентификатор
POST/autonum/v3/rn/user_resource_name/counters/Unique_Counter_Name_009/next { "date": "31.05.2021", }
Результат шага: идентификатор получен.
Ответ:
HTTP Status Code
200 OK
Тело ответа
{ "value": "Счет-фактура №12341234123412341234 от 31.05.2021г." }
Шаг 1. Создание сущности resources
Создать сущность вызовом метода
createResource
под административным resource name.Пример запроса, где:
- ott-invoker — идентификатор потребителя сервиса
POST /autonum/v3/rn/admin/configurer/resources Content-Type: application/json ott-invoker: invoker { "resource_name": "myres" }
Результат шага: сущность создана.
Ответ:
«message»: «resource was created"
Шаг 2. Создание шаблона
Добавить шаблон вызовом метода
templates
под административным resource name
.Пример запроса:
curl -v -H "Content-Type: application/json" -H "ott-invoker: tester" -d '{"template_code" : "test_template", "template_name": "Шаблон номера запроса", "range_format": "%date$td%date$tm%date$tYcounter", "bottom": 1, "top": 999999, "step": 2, "endless" : true}' /autonum/v3/rn/admin/configurer/templates
Результат шага: шаблон создан.
Ответ:
«message»: «Template was created»
Шаг 3. Создание паттерна
Создать паттерн вызовом метода
{admin_rn}/configurer/patterns
под административным resource name
.Пример запроса:
curl -v -H "Content-Type:application/json" -H "ott-invoker: tester" -d '{"template_code":"test_template", "pattern_code" :"test_pattern","pattern_name":"Шаблон номера запроса","number_format":"SI%date$ty%date$tM%date$tdX01%[num]$05X","pattern_desc":""}' /autonum/v3/rn/admin/configurer/patterns
Результат шага: паттерн создан.
Ответ:
«message»: «Pattern was created»
Шаг 4. Получение следующего отформатированного значения
Обновить текущее значение счетчика в базе данных и получить отформатированную строку вызовом метода
{resource_name}/patterns/{patternCode}/next
под пользовательским resource name
.Пример запроса, где:
ExampleLongParameterName
— параметр с типом данных Long, значением 1234456;ExampleStringParameterName
— параметр с типом данных String, значением somevalue;ExampleDateParameterName
— параметр с типом данных Date, с форматомyyyy-MM-dd'T'HH:mm:ss.SSSZ
, значением2001-07-04T12:08:56.235-0700
POST /autonum/v3/rn/user_resource_name/patterns/patternCode/next { "ExampleLongParameterName": { "type": "Long", "value": 1234456 }, "ExampleStringParameterName": { "type": "String", "value": "somevalue" }, "ExampleDateParameterName": { "type": "Date", "format": "yyyy-MM-dd'T'HH:mm:ss.SSSZ", "value": "2001-07-04T12:08:56.235-0700" } }
Результат шага: отформатированное значение получено.
Ответ:
HTTP Status Code
200 OK
Тело ответа:
{ "value": "1:1:3:2010-0000001" }
Шаблон с данными для создания генератора
Параметр | Значение |
---|---|
template_code | iISSBOLPFApplicationNumberTemplate |
range_format | amSalesPointCode + "/" + счётчик |
bottom | 1 |
top | 99999999 |
step | 1 |
endless | true |
Pattern_code | iISSBOLPFApplicationNumberPattern |
HTTP Status Code | Описание |
---|---|
400 Bad Request | Параметр в данном запросе запрещен |
401 Unauthorized | В запросе отсутствует идентификатор вызывающего клиента, т.е. заголовки ott-invoker , ott-token или ott-hash |
403 Forbidden | Клиент ott-invoker не может выполнить запрошенную операцию. Например, удаление Счетчика от имени другого клиента, не владельца |
404 Not Found | Не найден экземпляр сущности или resource |
409 Conflict | Экземпляр объекта с таким идентификатором уже существует |
В демопримерах реализованы стандартные сценарии, демонстрирующие работу отдельных сервисов Платформы ГосТех. Отправка тестовых запросов в демопримерах позволит вам ознакомиться с функциями того или иного сервиса. Доступные демопримеры и описания реализованной в них функциональности представлены ниже.
Автонумерация
Создание счётчиков (key) с заданными параметрами значений, шага и цикличности, генерация следующих значений, поиск и удаление счётчиков по названию