Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: AIS-8885 Update hydra messages doc

...

До 

Jira
serverJIRA
serverId7e385121-fe81-3ba6-a338-f18d15a6b63a
keyAIS-8849

Note
titleДо версий ядра <тут должны быть версии>6.0.0.178 / 6.2.0.79

Если ActiveMQ работает не под AIS_NET, может потребоваться выдать права на очередь

Code Block
BEGIN
  DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
    GRANTEE => 'AIS_PROVISIONING',
    PRIVILEGE => 'MANAGE_ANY'
  );

  DBMS_AQADM.grant_queue_privilege (
   privilege     =>     'DEQUEUE',
   queue_name    =>     'AIS_NET.HYDRA_MESSAGES',
   grantee       =>     'AIS_PROVISIONING',
   grant_option  =>      TRUE);
END;
/
GRANT EXECUTE ON DBMS_AQIN TO AIS_PROVISIONING;
/

После этого ActiveMQ будет забирать сообщения из Oracle и помещать в очередь hydra_messages.

...

Tip
titleПосле версий ядра <тут должны быть версии>6.0.0.178 / 6.2.0.79

ActiveMQ следует подключаться к HYDRA_MESSAGES под пользователем AIS_3P_SERVICES, а не AIS_PROVISIONING, как было раньше. Для этого пользователя явно выдано право на DEQUEUE из этой очередипользователь бд AIS_3P_SERVICES должен быть активен и привязан к приложению, а также требуется наличие права "Синхронизация со сторонними сервисами" хотя бы у одного абонента.

Обратите внимание, что права на очереди выдаются и забираются пользователем AIS_NET, поэтому при выдаче права "Синхронизация со сторонними сервисами" с интерфейса ООС может потребоваться включенное задание "Отложенное исполнение задач", которое при наличии недостающих прав пользователей БД выполнит синхронизацию прав согласно указанным во внутренних настройках гидры (подобно выдачи прав на представления, таблицы и пакеты).


Info

Другие примеры настройки маршрутизации сообщений доступны в статье Примеры особых конфигураций ActiveMQ

...

  • message_type_id - идентификатор записи из базового справочника "Тип сообщения" (REF_TYPE_MessageType)
  • message_type_code - код записи из базового справочника "Тип сообщения" (REF_TYPE_MessageType)
  • version - (пустое значение, зарезервировано для будущих версий)
  • created_at - время отправки сообщения в таймзоне БД

payload - подробности события, состав зависит от типа сообщения:

Код типа сообщенияСобытиеСостав сообщения
ЭлементОписание
MESSAGE_TYPE_Payment

Актуализация платёжного поручения

или проведение платежа

document_idИдентификатор платежного поручения
account_idИдентификатор лицевого счета, на который зачислен платеж
state_idСостояние платежного поручения
MESSAGE_TYPE_ChargeИнформация о начисленииcharge_log_idИдентификатор акта начислений
charge_log_line_idИдентификатор строки акта начислений
change_balance_type_idИдентификатор значения из базового справочника "Тип изменения баланса" (REF_TYPE_ChangeBalanceType)
MESSAGE_TYPE_CreditLimitИзменение суммы кредитного лимитаdocument_idДокумент-основание
account_idИдентификатор лицевого счета
MESSAGE_TYPE_CorrectionПроведение корректировокaccount_idИдентификатор лицевого счета
charge_log_idИдентификатор акта начислений по корректировке
MESSAGE_TYPE_StopSrvProvПрекращение оказания услугcharge_log_idИдентификатор акта начислений
MESSAGE_TYPE_ArchiveDocАрхивирование документаcharge_log_idИдентификатор акта начислений
MESSAGE_TYPE_AutoTopUp

Подписка на автоплатеж

account_idИдентификатор лицевого счета
auto_top_up_idИдентификатор подписки
auto_top_up_state_idСостояние автоплатежа
auto_top_up_prev_state_idПредыдущее состояние автоплатежа
MESSAGE_TYPE_SubjValue



Изменение значения дополнительного параметра субъекта





subject_idИдентификатор субъекта
subject_type_idТип субъекта
additional_value_type_idТип доп. параметра
additional_value_idИдентификатор доп. параметра
additional_valueЗначение доп. параметра
MESSAGE_TYPE_AutoTopUpPaymentРезультат проведения автоплатежа. Добавлено в 6.2.0.28account_idИдентификатор лицевого счета
request_state_idСтатус проведения автоплатежа
refuse_reason_IdПричина неуспешного проведения автоплатежа. Необязательное поле.

MESSAGE_TYPE_ChangeDocState

Изменение состояния документа (6.2.0.39)document_idИдентификатор документа
document_type_idТип документа
new_state_idНовое состояние документа
old_state_idСтарое состояние документа
MESSAGE_TYPE_SubjectИзменение субъектаsubject_idИдентификатор субъекта
versionВерсия
MESSAGE_TYPE_SubjAddrИзменение привязки адресаsubj_address_idИдентификатор привязки
versionВерсия
MESSAGE_TYPE_AddressИзменение адресаaddress_idИдентификатор адреса
versionВерсия
MESSAGE_TYPE_RegionИзменение регионаregion_idИдентификатор региона
versionВерсия



Примеры сообщений

Code Block
languagexml
titleMESSAGE_TYPE_Payment
collapsetrue
<message>
  <message_type_id>1208</message_type_id>
  <message_type_code>MESSAGE_TYPE_Payment</message_type_code>
  <version/>
  <created_at>2022-01-28T12:12:00</created_at>
  <payload>
    <payment>
      <document_id>12811629901</document_id>
      <account_id>178500901</account_id>
      <state_id>4003</state_id>
    </payment>
  </payload>
</message>

...

Code Block
languagexml
titleMESSAGE_TYPE_AutoTopUp
collapsetrue
<message>
  <message_type_id>7208</message_type_id>
  <message_type_code>MESSAGE_TYPE_AutoTopUp</message_type_code>
  <version/>
  <created_at>2022-04-22T13:23:21</created_at>
  <payload>
    <auto_top_up>
      <account_id>188983101</account_id>
      <auto_top_up_id>7581101</auto_top_up_id>
      <auto_top_up_state_id>2195</auto_top_up_state_id>
      <auto_top_up_prev_state_id>1195</auto_top_up_prev_state_id>
    </auto_top_up>
  </payload>
</message>

...

Code Block
languagexml
titleMESSAGE_TYPE_ChangeDocState
collapsetrue
<message>
  <message_type_id>14208</message_type_id>
  <message_type_code>MESSAGE_TYPE_ChangeDocState</message_type_code>
  <version/>
  <created_at>2024-04-26T15:19:31</created_at>
  <payload>
    <change_doc_state>
      <document_id>188983101</document_id>
      <document_type_id>7002</document_type_id>
      <new_state_id>4003</new_state_id>
	  <old_state_id>3003</old_state_id>
    </change_doc_state>
  </payload>
</message>


Code Block
languagexml
titleMESSAGE_TYPE_Subject
collapsetrue
<message>
  <message_type_id>9208</message_type_id>
  <message_type_code>MESSAGE_TYPE_Subject</message_type_code>
  <version/>
  <created_at>2024-04-26T15:19:31</created_at>
  <payload>
    <subject>
      <subject_id>500600</subject_id>
      <version>100200</version>
    </subject>
  </payload>
</message>


Code Block
languagexml
titleMESSAGE_TYPE_SubjAddr
collapsetrue
<message>
  <message_type_id>10208</message_type_id>
  <message_type_code>MESSAGE_TYPE_SubjAddr</message_type_code>
  <version/>
  <created_at>2024-04-26T15:19:31</created_at>
  <payload>
    <subj_address>
      <subj_address_id>500600</subj_address_id>
      <version>100200</version>
    </subj_address>
  </payload>
</message>


Code Block
languagexml
titleMESSAGE_TYPE_Address
collapsetrue
<message>
  <message_type_id>11208</message_type_id>
  <message_type_code>MESSAGE_TYPE_Address</message_type_code>
  <version/>
  <created_at>2024-04-26T15:19:31</created_at>
  <payload>
    <address>
      <address_id>500600</address_id>
      <version>100200</version>
    </address>
  </payload>
</message>


Code Block
languagexml
titleMESSAGE_TYPE_Region
collapsetrue
<message>
  <message_type_id>12208</message_type_id>
  <message_type_code>MESSAGE_TYPE_Region</message_type_code>
  <version/>
  <created_at>2024-04-26T15:19:31</created_at>
  <payload>
    <region>
      <region_id>500600</region_id>
      <version>100200</version>
    </change_doc_state>
  </region>
</message>