wiki:offline_chestn_znak

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
wiki:offline_chestn_znak [2025/02/25 10:31]
anton создано
wiki:offline_chestn_znak [2025/02/25 11:18] (текущий)
anton
Строка 1: Строка 1:
 ==== Разбор механизма работы модуля оффлайн проверки марок от Честного Знака ==== ==== Разбор механизма работы модуля оффлайн проверки марок от Честного Знака ====
-====== Заголовок 1-го уровня ======+== Проблема == 
 +На 1 пк можно поставить только 1 модуль, 1 модуль работает только с одним ИНН.  
 +На сегодня у нас нет компаний в рознице у кого только 1 инн, в основном 2 и больше, т.е. нужно ставить 2 модуля на 2 разных пк.  
 +Есть компании, где 6 юр лиц, это уже создает проблему. 
 +== Описание модуля == 
 +Конструктивно модуль состоит из 2-х частей 
 +  * regime - написан честным знаком и служит апи для фронтола и прочего по 
 +  * yenisei - бд для хранения марок, [[https://yeniseidb.ru/|Енисей СУБД]] 
 +Ограничение на количество инн заложено именно в Енисее, точнее в его лицензии. 
 +== Внимание! == 
 +После инициализации бд ее нельзя использовать еще раз. Подготовленный дистр с чистыми бд лежим на фтп ftp_incoming/regime 
 + 
 +== Обход проблемы с лицензией == 
 +Для запуска 2-х енисеев на 1-м пк нужно использовать коммьюнити лицензию на 3 мес. Взять ее можно по [[https://distr.yeniseidb.ru/download/yenisei_community.lic|ссылке]] 
 +== Установка лицензии == 
 +  - Должны быть запущены все енисеи 
 +  - Выполняем запрос установки лицензии. В тестах использовался Постер. Тип запроса POST в теле запроса текстом пишем лицензию скопированную по [[https://distr.yeniseidb.ru/download/yenisei_community.lic|ссылке]] с сайта разработчиков. 
 +<code> 
 +http://127.0.0.1:5984/_license 
 +</code> 
 +== Результат выполнения запроса ==  
 +<code> 
 +
 +    "ok": true 
 +
 +</code> 
 + 
 +== настройка запуска 2-х regime и yenisei==  
 +  * В каталоге Regime\ копируем папки regime и yenisei называем их regime_2 и yenisei_2 
 +  * Далее наша задача заменить пути запуска программных модулей и активировать службы 
 +     * В каталоге Regime\bin создаем файлы запуска служб regime_2.cmd и yenisei_2.cmd 
 +     * В содержимом CMD файлов regime_2.cmd и yenisei_2.cmd меняем: 
 +<code> 
 +"%BINDIR%\erl" -boot "%ROOTDIR%\regime\releases\%APP_VSN%\regime"
 +-args_file "%ROOTDIR%\regime\etc\vm.args"
 +-epmd "%BINDIR%\epmd.exe"
 +-config "%ROOTDIR%\regime\releases\%APP_VSN%\sys.config" %* 
 +</code>  
 +на regime_2 или enisey_2 
 +<code> 
 +"%BINDIR%\erl" -boot "%ROOTDIR%\regime_2\releases\%APP_VSN%\regime"
 +-args_file "%ROOTDIR%\regime_2\etc\vm.args"
 +-epmd "%BINDIR%\epmd.exe"
 +-config "%ROOTDIR%\regime_2\releases\%APP_VSN%\sys.config" %* 
 +</code>  
 +     * Regime Корректировка конфиг файлов 
 +       * Regime\regime_2\etc 
 +         * local.ini 
 +           * port 5996 ставим нужный 
 +           * yenisei_stop_cmd PowerShell.exe -noprofile -command "&'C:\Program Files\Regime\bin\nssm' stop yenisei_2" команда остановки службы 
 +           * yenisei_start_cmd PowerShell.exe -noprofile -command "&'C:\Program Files\Regime\bin\nssm' start yenisei_2" команда  запуска службы 
 +           * yenisei_move_cmd PowerShell.exe -noprofile -command "mv -Force 'C:\Program Files\Regime\{{FILE_PATH}}' 'C:\Program Files\Regime\yenisei_2\data\shards\{{SHARD_NAME}}\{{DB_NAME}}.{{DB_SUFFIX}}.couch'" Месторасположения БД 
 +           * db_url http://127.0.0.1:5985 порт БД 
 +         * vm.args 
 +           * -name regime_2@127.0.0.1 - имя службы режима 
 +       * Regime\regime_2\releases\1.2.0-326 
 +         * sys.config 
 +           * "var/log/regime_2.log" место положения лог файла 
 +     * Regime\yenisei_2\etc 
 +       * local.ini 
 +         * port 5985 порт службы должен совпадать с параметром db_url = http://127.0.0.1:5985  в файле Regime\regime_2\etc\local.ini 
 +         * file = var/log/yenisei_2.log имя лог файла 
 +         * database_dir = ./yenisei_2/data место положения файлов данных 
 +         * view_index_dir = ./yenisei_2/data место положения файлов индекса 
 +       * vm.args 
 +           * -name yenisei_2@127.0.0.1 - имя службы енисея 
 +     * Regime\yenisei_2\releases\2.2.1-1890 
 +         * sys.config 
 +           * "yenisei_2/etc/default.ini", 
 +           * "yenisei_2/etc/default.d", 
 +           * "yenisei_2/etc/local.ini", 
 +           * "yenisei_2/etc/local.d" 
 +     * Корректировка файлов запуска служб 
 +       * Экспортируем из реестр куст запуска службы Regime и меняем все на regime_2, после обратного экспорта не забываем поменять путь к файлу запуска службы C:\Program Files\Regime\bin\regime_2.cmd 
 +<code> 
 +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\regime 
 +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\yenisei 
 +</code> 
 +<code> 
 +Windows Registry Editor Version 5.00 
 + 
 +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\regime_2] 
 +"Type"=dword:00000010 
 +"Start"=dword:00000002 
 +"ErrorControl"=dword:00000001 
 +"ImagePath"=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,
 +  6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,52,00,65,00,67,00,69,00,6d,
 +  00,65,00,5c,00,62,00,69,00,6e,00,5c,00,6e,00,73,00,73,00,6d,00,2e,00,65,00,
 +  78,00,65,00,22,00,00,00 
 +"DisplayName"="regime_2" 
 +"ObjectName"="LocalSystem" 
 +"DelayedAutostart"=dword:00000000 
 +"FailureActionsOnNonCrashFailures"=dword:00000001 
 + 
 +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\regime_2\Parameters] 
 +"Application"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,
 +  00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,52,00,65,00,67,00,69,00,6d,00,
 +  65,00,5c,00,62,00,69,00,6e,00,5c,00,72,00,65,00,67,00,69,00,6d,00,65,00,2e,
 +  00,63,00,6d,00,64,00,00,00 
 +"AppParameters"=hex(2):00,00 
 +"AppDirectory"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,
 +  00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,52,00,65,00,67,00,69,00,6d,00,
 +  65,00,5c,00,62,00,69,00,6e,00,00,00 
 + 
 +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\regime_2\Parameters\AppExit] 
 +@="Restart" 
 +</code> 
 + 
 +== Запросы к Енисею ==  
 +  * http://127.0.0.1:5984/_license Запрос текущей лицензии 
 +<code> 
 +
 +    "license":
 +        "licenseId": "eb8e7ae7-df5c-4919-a116-3767e0b4de3b", 
 +        "participantId": 10001, 
 +        "organizationName": "test org", 
 +        "contactPerson": "test user", 
 +        "address": "г.Москва", 
 +        "phoneNumber": "+79009999999", 
 +        "email": "user@domain.com", 
 +        "name": "YENISEI COMMUNITY LICENSE", 
 +        "licenseType": 1, 
 +        "productId": 2, 
 +        "cluster": true, 
 +        "quantity": 3, 
 +        "core": 8, 
 +        "db_quantity": 50, 
 +        "db_max_size": 107374182400, 
 +        "angara_support": true, 
 +        "mobile_support": true, 
 +        "expiredDate": 1748725199000, 
 +        "createDate": 1739912400000 
 +    }, 
 +    "state": "active" 
 +
 +</code> 
 +  * http://127.0.0.1:5984/_membership Запрос количество нодов 
 +<code> 
 +
 +    "all_nodes":
 +        "yenisei@127.0.0.1", 
 +        "yenisei_2@127.0.0.1" 
 +    ], 
 +    "cluster_nodes":
 +        "yenisei@127.0.0.1", 
 +        "yenisei_2@127.0.0.1" 
 +    ] 
 +
 +</code>
  
  
  • wiki/offline_chestn_znak.1740468691.txt.gz
  • Последнее изменение: 2025/02/25 10:31
  • anton