Дипломная работа: Автоматизация и обеспечение информационной безопасности обработки заявок в ПАО "СКБ Банк"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
72
Модуль формы принимает от контроллера API порцию данных
содержащую хэш выступающий в качестве идентификатора заявки или без него,
в случае наличия хэша и при обнаружении заявки с таким хэшем в БД
происходит обновление данных заявки, в случае отсутствия в БД заявки с таким
хэшем происходит создание новой заявки, в обоих случаях, перед записью
данных в базу, происходит валидация данных, согласно правилам
представленным в теле модуля, отдельно для каждого поля. В случае
обнаружения данных, не соответствующих установленным правилам,
формируется сообщение для внешней системы, являющейся источником
данных, о поле, которое содержит ошибку. В случае отсутствия ошибок после
сохранения данных происходит создание или обновление коммуникаций по
заявке, через вызов модуля коммуникаций и инициализации отправки
сообщения с порцией данных во внутрибанковские системы путем вызова
модуля транспорта. На этом модуль формы завершает свою работу.
Модуль коммуникаций запускается по расписанию. При запуске модуля
вызываются несколько методов, для каждого метода существуют свой интервал
запуска. После запуска модуль производит выборку коммуникаций, по которым
нужно произвести действия, определяет статус заявок, к которым относятся
данные коммуникации, и в зависимости от статуса создает задание на отправку
текстового сообщения или задание на совершение звонка для кол-центра.
Модуль очереди сообщений предназначен для формирования и
постановки в очередь сообщений, и приема и обработки сообщений из очереди
сообщений. Для формирования и отправки в очередь сообщений модуль
вызывается модулем формы, получает от формы идентификатор заявки, по
которой требуется отправить порцию данных. Модуль производит вычитывание
данных из базы, преобразование данных в требуемый для внутрибанковских
систем формат, формирование сообщения из полученных данных и помещает
сообщение в базу, после чего производится вызов модуля отправки сообщений.
При получении входящего сообщения из очереди обмена сообщениями модулем
отправки сообщений производится сохранение сообщения в базу и вызов модуля
очереди сообщений, который производит разбор сообщения, определяет к какой
73
заявке относятся данные, меняет на основе этих данных статус заявки, сохраняет
предложения по заявке или инициирует запуск механизма дедубликации.
Модуль обработки предложений вызывается модулем очереди сообщений
в случае получения сообщения содержащего предложения по заявке клиента,
полученное сообщение разбирается на отдельные предложения и записывается в
базу, при этом создаются коммуникации, сигнализирующие о необходимости
сообщить клиенту о наличии предложений после завершения заполнения заявки.
При переходе клиентом на страницу с информацией по статусу заявки, форма
вызывает модуль обработки предложений для определения статуса заявки,
наличия предложений по заявке и в случае выбора клиентом одного из
предложений, вызов модуля очереди сообщений для формирования сообщения
для внутрибанковских систем.
Модуль отправки сообщений постоянно запущен в качестве фонового
приложения и в режиме реального времени просматривает наличие заданий на
отправку смс в БД системы, при появлении нового задания модуль получает
информацию о клиенте из заявки, проверяет валидность номера телефона в
задании и производит отправку сообщения в смс-шлюз. Заданию ставится статус
«выполнено» при получении от смс-шлюза подтверждения об отправке.
Модуль отправки сообщений постоянно запущен в качестве фонового
приложения и ожидает входящих сообщений от менеджера очередей сообщений
RabbitMQ. Второй экземпляр модуля запускается для отправки исходящих
сообщений в менеджер очередей по запросу модуля очереди сообщений.
74
2.4 Контрольный пример реализации проекта и его описание
Работа системы начинается при загрузке формы первого шага, первым
запросом к системе форма получает наборы значений выпадающих списков
формы. На каждом шаге запрашиваются только те списки, которые
представлены на этом шаге. Первая форма содержит поля для сбора контактной
информации. Внешний вид формы изображен на рисунке 2.9.
Рис. 2.9 Форма контактной информации
После заполнения формы, при нажатии на кнопку «Получить кредит»
форма осуществляет POST-запрос к модулю контроллера API, передавая в теле
запроса введенные данные. Пример запроса изображен на рисунке 2.10.
75
Рисунок 2.10 Пример запроса формы к контроллеру API
После успешного сохранения данных шага в БД, происходит вызов модуля
очереди сообщений, который формирует сообщение для внутрибанковских
систем и отправляет его менеджеру сообщений. Сообщение представляет собой
текст в формате JSON имеющий строгую структуру и набор обязательных
параметров. Пример сообщения, направляемого в очередь приведен на рисунке
2.11.
76
Рис. 2.11 Пример сообщения направляемого в очередь обмена.
На каждое исходящее сообщение от внутрибанковских систем приходит
ответное сообщение, в формате JSON, содержащее информацию о сохранении
заявки и ее статусе в CRM. Пример ответного сообщения представлен на
рисунке 2.12.
Источник: https://baza.diplomsite.ru/previewfile/1778