sequenceDiagram
autonumber
participant K as Kafka: ...product.templated
participant Bupar as bupar-audit-service
participant DB as ClickHouse (bupar_db)
K->>Bupar: Шаг 9: Handler: AppendAuditLog()
activate Bupar
Note over Bupar: Шаг 9.1: Извлечение trace_id как case_id<br/>Маппинг статуса PRODUCT_BATCH_PURCHASED
Bupar->>DB: Шаг 9.2: SQL: INSERT INTO process_event_log
deactivate Bupar
Метод (Event Handler) AppendAuditLog
Домен: PMA | Сервис: bupar-audit-service | Тип: Kafka Consumer
Общее описание
Асинхронный метод-обработчик (Event Handler) AppendAuditLog развернут внутри технологического микросервиса bupar-audit-service. Он отвечает за построение сквозного лога событий (Event Log) для подсистемы Process Mining, фиксируя операционную цепочку выполнения бизнес-процессов на платформе умного холодильника.
Критические задачи метода
- Трассировка жизненного цикла инвентаря: Фиксация системного статуса
PRODUCT_BATCH_PURCHASEDдля конкретного кейса (пользовательской сессии). - Сбор технологических метрик: Логирование временных интервалов прохождения запроса от момента ручного ввода на шлюзе до фактического распределения по воркерам.
Протокол взаимодействия (Event Contract)
- Имя метода:
AppendAuditLog - Брокер сообщений:
Apache Kafka - Входной топик (Subscription):
bpds.mdm.out.product.templated - Формат данных:
application/json
Диаграмма последовательности (Поток Аудита Process Mining)
Расшифровка шагов метода по канону
| Шаг | Действие | Параметры / Запросы / DTO | Ошибки (Исключения / Статусы) |
|---|---|---|---|
9 (K -> Bupar) |
Сервис процессной аналитики параллельно вычитывает шаблон транзакции для записи следа в лог аудита. | Kafka Ingress Payload:{ "trace_id": "req-manual-text-99aa", "user_id": "usr_9876", "timestamp": "2026-08-07T10:23:00Z" } |
Бизнес-ошибки отсутствуют |
9.1 (Bupar -> Bupar) |
Внутренняя логика: Маппинг метаданных Kafka-события в плоскую структуру лога Process Mining (case_id = trace_id). Определение целевой активности. |
Внутренний маппер:AuditEventConverter.toActivityLog(payload) |
IAD-PMA-400 (отсутствует trace_id в метаданных события, невозможно восстановить case_id процесса) |
9.2 (Bupar -> DB) |
Запись сформированной строки события в аналитическое хранилище ClickHouse для последующей визуализации графа процессов. | SQL-запрос:INSERT INTO process_event_log (case_id, activity, user_id, timestamp) VALUES ('req-manual-text-99aa', 'PRODUCT_BATCH_PURCHASED', 'usr_9876', '2026-08-07 10:23:00'); |
Бизнес-ошибки отсутствуют |