72
Модуль формы принимает от контроллера API порцию данных
содержащую хэш выступающий в качестве идентификатора заявки или без него,
в случае наличия хэша и при обнаружении заявки с таким хэшем в БД
происходит обновление данных заявки, в случае отсутствия в БД заявки с таким
хэшем происходит создание новой заявки, в обоих случаях, перед записью
данных в базу, происходит валидация данных, согласно правилам
представленным в теле модуля, отдельно для каждого поля. В случае
обнаружения данных, не соответствующих установленным правилам,
формируется сообщение для внешней системы, являющейся источником
данных, о поле, которое содержит ошибку. В случае отсутствия ошибок после
сохранения данных происходит создание или обновление коммуникаций по
заявке, через вызов модуля коммуникаций и инициализации отправки
сообщения с порцией данных во внутрибанковские системы путем вызова
модуля транспорта. На этом модуль формы завершает свою работу.
Модуль коммуникаций запускается по расписанию. При запуске модуля
вызываются несколько методов, для каждого метода существуют свой интервал
запуска. После запуска модуль производит выборку коммуникаций, по которым
нужно произвести действия, определяет статус заявок, к которым относятся
данные коммуникации, и в зависимости от статуса создает задание на отправку
текстового сообщения или задание на совершение звонка для кол-центра.
Модуль очереди сообщений предназначен для формирования и
постановки в очередь сообщений, и приема и обработки сообщений из очереди
сообщений. Для формирования и отправки в очередь сообщений модуль
вызывается модулем формы, получает от формы идентификатор заявки, по
которой требуется отправить порцию данных. Модуль производит вычитывание
данных из базы, преобразование данных в требуемый для внутрибанковских
систем формат, формирование сообщения из полученных данных и помещает
сообщение в базу, после чего производится вызов модуля отправки сообщений.
При получении входящего сообщения из очереди обмена сообщениями модулем
отправки сообщений производится сохранение сообщения в базу и вызов модуля
очереди сообщений, который производит разбор сообщения, определяет к какой