- POST /orders - получение списка заказов по фильтру (передается в теле). Коды ошибок: 200: Успешный запрос (+ массив заказов) 400: Отсутсвует обязательный параметр. Обязательным параметром является только заголовок Authorization. 403: Доступ запрещен. Если в access_token нету необходимого permmision на данный метод и сервис. Наличие в RPT scope 'read' для rsname 'api-orders'. 500: Системное исключение. Все остальные неописанные исключения. 509: Превышен лимит времени на запрос. Во внешнюю систему. В контексте данного метода, в эластик.
- GET /order/:id получение карточки заказа.
Keyspace=orders_service
Настройки в application.conf. Адрес Cassandra задается
cassandra.default.contact-points = ["host1:port1","host2:port2"]Адрес Kafka брокера задается в конфигурации:
lagom.broker.kafka.brokers = "host1:port1,host2:port2"Адрес задается в конфигурации. elastic-search для поиска, elastic-document для индексации.
akka {
config {
services {
elastic-search {
endpoints = [
{
host = ${ELASTIC_SEARCH_HOST}
port = ${ELASTIC_SEARCH_PORT}
}
]
}
elastic-document {
endpoints = [
{
host = ${ELASTIC_SEARCH_HOST}
port = ${ELASTIC_SEARCH_PORT}
}
]
}
}
}
}
}db.default {
url = ${DB_URL}
# или url = "jdbc:oracle:thin:@//todo_test_server-db-X:Y521/ORCLPDB1"
username = "foo"
password = "bar"
}здесь DB_URL переменная окружения, задающая строку подключения к БД, например, jdbc:oracle:thin:@//todo_test_server-db-X:Y521/ORCLPDB1.
Для Helm чарта значение переменной задается через переменную в CI-скрипте гитлаба.
Application.conf: JPA
Переменные окружения задаются при инсталлировании и обновлении приложения (сервиса).
Список хостов и шаблонов доменных имен, доступ к которым должен быть в обход прокси,
может быть настроен для чарта Helm через переменную nonProxyHosts, объявленную в values.yml.
"localhost|*.todo_inner_net.ru"
В values.yaml запрещено указывать переменные для доступа к тестовым сервисам.
Перед началом тестирования необходимо создать пользователя в БД Oracle. Вариант подключения к БД стенда через Putty:
Необходимо под пользователем SYS выполнить следующие команды:
COMMIT;
ALTER SESSION SET CONTAINER = ORCLPDB1;
CREATE USER orders_service IDENTIFIED BY Welcome1 CONTAINER=CURRENT;
GRANT ALL PRIVILEGES TO orders_service;
COMMIT;
-- Если хочется вернуться, то обратно меняем контейнер
ALTER SESSION SET CONTAINER = CDB$ROOT;
-- Проверить текущий контейнер
SELECT SYS_CONTEXT('USERENV', 'CON_NAME') NAME FROM DUAL;Перед первым использованием создать индекс в elastic search: Метод [PUT] /order Тело сообщения: json индекса.
Config map в кубернетесе. Ключ conf. Параметр lagom.broker.kafka.brokers.
Обратить внимание на формат даты и чисел.
{
"type": "order",
"id": 27324,
"cancelReason": "cancelreason27324",
"city": "city27324",
"clientEmail": "27324",
"clientName": "clientname27324",
"clientPhone": "27324",
"comment": "27324",
"creationDate": "2003-06-01T04:22:40+04:00",
"mnp": 27324,
"network": "network27324",
"orderComposition": [
{
"item": {
"commerceId": "ordercomposition_comm_id_1",
"type": "27324",
"frontName": "27324",
"mnp": "89770000001",
"amount": 3,
"price": {
"amount": 100,
"currency": "RUB"
},
"salePrice": {
"amount": 99.99,
"currency": "RUB"
}
},
"subItem": {
"commerceId": "ordercomposition_sub_comm_id_1",
"frontName": "ordercomposition_sub_front_1",
"amount": 2
}
},
{
"item": {
"commerceId": "ordercomposition_comm_id_1",
"type": "27324",
"frontName": "27324",
"mnp": "89770000001",
"amount": 3,
"price": {
"amount": 100,
"currency": "RUB"
},
"salePrice": {
"amount": 99.99,
"currency": "RUB"
}
},
"subItem": {
"commerceId": "ordercomposition_sub_comm_id_1",
"frontName": "ordercomposition_sub_front_1",
"amount": 2
}
},
{
"item": {
"commerceId": "ordercomposition_comm_id_1",
"type": "27324",
"frontName": "27324",
"mnp": "8-977-000-00-01",
"amount": 3,
"price": {
"amount": 100,
"currency": "RUB"
},
"salePrice": {
"amount": 99.99,
"currency": "RUB"
}
},
"subItem": {
"commerceId": "ordercomposition_sub_comm_id_1",
"frontName": "ordercomposition_sub_front_1",
"amount": 2
}
},
{
"item": {
"commerceId": "ordercomposition_comm_id_1",
"type": "27324",
"frontName": "27324",
"mnp": "89770000001",
"amount": 3,
"price": {
"amount": 100,
"currency": "RUB"
},
"salePrice": {
"amount": 99.99,
"currency": "RUB"
}
},
"subItem": {
"commerceId": "ordercomposition_sub_comm_id_1",
"frontName": "ordercomposition_sub_front_1",
"amount": 2
}
},
{
"item": {
"commerceId": "ordercomposition_comm_id_1",
"type": "27324",
"frontName": "27324",
"mnp": "89770000001",
"amount": 3,
"price": {
"amount": 100,
"currency": "RUB"
},
"salePrice": {
"amount": 99.99,
"currency": "RUB"
}
},
"subItem": {
"commerceId": "ordercomposition_sub_comm_id_1",
"frontName": "ordercomposition_sub_front_1",
"amount": 2
}
}
],
"orderState": "27324",
"orderType": "ordertype27324",
"parentNetwork": "parentnetwork27324",
"partner": "partner27324",
"payState": "paystate27324",
"payType": "paytype27324",
"promo": "27324",
"region": "region27324",
"salePointAddress": "salepointaddress27324",
"salePointId": "salepoint27324",
"shipGroupType": 27324,
"totalPrice": 27324,
"trackNumber": "tracknumber27324"
}