Обновление с 3.6 до 3.9

Материал из PayControl Wiki
Версия от 14:10, 28 сентября 2022; D.bizyukov (обсуждение | вклад) (Настройка PCS для работы с PCP)
Перейти к: навигация, поиск

В версии 3.9 реализовано взаимодействие с PC Pusher 5.2, который, в свою очередь, поддерживает отправку пуш-уведомлений на устройства Huawei. Обновлению с 3.6-3.7 подлежат модули PCS и PC External.

В работе
Предупреждение! Модуль PCIS Internal 3.6/3.7 подлежит замене на модуль PC Pusher 5.5. PCS с версии 3.8 не поддерживает работу с модулем PCIS Internal.


Обновление PC Server и PC External

Перед обновлением настоятельно рекомендуем также выполнить резервное копирование баз данных PC.

Для обновления необходимо заменить на серверах файлы модулей PC Server и PC External в директории deployments сервера приложений Wildfly.

Они имеют названия вида:

  • PayControl-services-module-3.x.x.ear - PC Server;
  • PayControl-interaction-rest-3.x.x.war - PC External.

Перед заменой файлов остановите Wildfly. Файлы сервера предыдущей версии настоятельно рекомендуем сохранить для возможности отката на предыдущую версию.

После замены файлов и развёртывания новых, в директории deployments будут созданы файлы с названиями:

  • *.undeployed, где вместо * будет указано название убранного из директории файла модуля сервера. Файлы с расширением undeployed рекомендуется удалить.
  • и с расширением *.deployed, где вместо * будут указаны названия новых модулей.

При появлении файлов с расширением *.failed, необходимо перезапустить Wildfly.

Переход с PCIS Internal на PC Pusher

Замена файлов модулей

В работе
Предупреждение! PC Pusher для своей работы не требует использования БД, в отличие от PCIS Internal.


Для обновления необходимо заменить на сервере файлы модуля PCIS Internal в директории deployments сервера приложений Wildfly. Файл имеют названия вида:

  • PayControl-interaction-module-3.x.xxx.ear - PCIS Internal

Перед заменой файлов остановите Wildfly. Файлы сервера предыдущей версии настоятельно рекомендуем сохранить для возможности отката на предыдущую версию.

  • Новый файл имеет название вида: pc-pusher-5.5.xxx.war

После замены файлов и развёртывания новых, в директории deployments будут созданы файлы с названиями:

  • .undeployed, где вместо * будет указано название убранного из директории файла модуля сервера. Файлы с расширением undeployed рекомендуется удалить.
  • и с расширением *.deployed, где вместо * будут указаны названия новых модулей.

При появлении файлов с расширением *.failed, необходимо перезапустить Wildfly.

Настройка PCS для работы с PCP

После замены PCIS Internal на PC Pusher необходимо заменить его адрес в БД PCS:

update pc_system set pc_is_internal_url='http[s]://pcphost:port/pc-pusher-api/';

Далее, необходимо предоставить доступ PC Pusher для отправки данных пушей в сервис HMS (Huawei Mobile Services). При отправке push-сообщений, запросы должны отправляются по адресу https://push-api.cloud.huawei.com/ ,порт 443.

Также, с сервера PC Pusher должен быть доступен адрес: https://oauth-login.cloud.huawei.com/oauth2/v3/token

В случае, если PC Pusher находится на одном сервере с PC External, то необходимо перенастроить правила URL-фильтрации.

Настройка PC Pusher

По умолчанию, если app/bundle id для отправки пуш-уведомлений явно не указан для устройства, PCS 3.9 отправляет пуши в приложение PayControl Classic.

Для отправки пушей в другое приложения необходимо:

  1. Произвести настройки аутентификационных данных "другого" мобильного приложения в соответствии с этой статьей
  2. Прописать app/bundle id необходимого приложения в БД PCS(после выполнения запроса необходимо перезапустить Wildfly):

Пример:

insert into pc_sys_property values (nextval('pc_setting_seq'), 'APP_ID_FOR_PUSHER', '{"Android":"com.example.mobile.app","iOS":"com.example.apple.app","Huawei":"com.example.apple.app"}');

Шаблоны:

  • PostgreSQL
    insert into pc_sys_property values (nextval('pc_setting_seq'), 'APP_ID_FOR_PUSHER', '{"Android":"your_appid","iOS":"your_appid","Huawei":"your_appid"}');
    
  • MS SQL
    insert into pc_sys_property values (NEXT VALUE FOR PC_SETTING_SEQ, 'APP_ID_FOR_PUSHER', '{"Android":"your_appid","iOS":"your_appid","Huawei":"your_appid"}');
    
  • Oracle
    insert into pc_sys_property values (PC_SETTING_SEQ.NEXTVAL, 'APP_ID_FOR_PUSHER', '{"Android":"your_appid","iOS":"your_appid","Huawei":"your_appid"}');