КТРМ: Оптимизация АПИшек при Регистрации
Проблема: На боевом сервере КТРМа при регистрации пользователей -
- Юр Лица - создается свой департмент и они назначаются на должность в нем
- Физ Лица - назначаются на должность, которая находится в том же Департаменте
В связи с этим, в орг структуре в рамках одного родительского департамента есть еще около 10 тыс дочерних и 1 должность. При попытке назначения на данную должность, АПИ проверяет, есть ли у request user'а права на назначание на эту должность, проверяя все связанные на этом же уровне и выше департаменты, из-за чего данная АПИ выполняется в пиковые часы от 15 до 20 минут.
1. АПИ positions/appoint: Добавить в АПИ positions/appoint новый флаг для ускоренного процесса назначения на должность, минуя проверки в угоду оптимизации.
Примеры запросов (тестовый стенд КТРМ):
Назначение на должность (GET)
http://192.168.2.34:8080/Synergy/rest/api/positions/appoint?positionID=e2038c67-535e-4264-a261-cfc4a53fe721&userID=927d953c-37e1-4efc-a503-9af40adb4df8
Снятие с должности (GET) (для повторного назначения)
http://192.168.2.34:8080/Synergy/rest/api/positions/discharge?positionID=e2038c67-535e-4264-a261-cfc4a53fe721&userID=927d953c-37e1-4efc-a503-9af40adb4df8
2. АПИ departments/save (POST, application/x-www-form-urlencoded):
http://192.168.2.34:8080/Synergy/rest/api/departments/save?locale=ru
departmentID=ccb4a985-3b0d-4e6d-a03f-6b029f65e902&nameRu=%D0%A1%D0%BE%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%B8%D0%BA%D0%B8&nameKz=%D0%A1%D0%BE%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%B8%D0%BA%D0%B8&nameEn=%D0%A1%D0%BE%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%B8%D0%BA%D0%B8&pointersCode=employee_user_010623551160
3. АПИ asforms/ds/dict/list/values (GET):
http://192.168.2.34:8080/Synergy/rest/asforms/ds/dict/list/values/ru/organization_or_structural_unit/name/id
4. АПИ user/save (POST, application/x-www-form-urlencoded):
http://192.168.2.34:8080/Synergy/rest/api/filecabinet/user/save
lastname=%D0%94%D0%95%D0%A0%D0%AF%D0%91%D0%98%D0%9D&firstname=%D0%91%D0%9E%D0%A0%D0%98%D0%A1&patronymic=%D0%92%D0%90%D0%94%D0%98%D0%9C%D0%9E%D0%92%D0%98%D0%A7&pointersCode=IIN010623551165&login=system_user%40sf.ff&password=Qwerty123%21&locale=undefined&isConfigurator=false&isAdmin=false&isChancellery=false&iin=010623551165
5. АПИ удаления пользователя в SynergyAdmin:
Зайти в SynergyAdmin, попытаться удалить пользователя
https://techreg.gov.kz/SynergyAdmin/arta.synergy.web.admin.Synergy/FileCabinetService

