AfterChessboardProjectBuildingCreatedEvent (Consumer)
Назначение
Обработка события о создании здания проекта. Создаёт запись ChessboardProjectBuildingEntity в БД Panoramas.
Цель
Синхронизировать появление здания в локальном хранилище для привязки планировок.
Входные данные (Payload)
Контракт из Talent.Chessboard.Events. Типичные поля:
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| BuildingId | long | Обязательное | Идентификатор здания |
| TenantId | Guid | Обязательное | Идентификатор тенанта |
| ProjectId | long | Обязательное | Идентификатор проекта |
| Name | string | Обязательное | Название здания |
| Version | long | Обязательное | Версия |
Бизнес-логика
- Получить payload из сообщения Kafka.
- Создать сущность ChessboardProjectBuildingEntity: Id = BuildingId, TenantId, ProjectId, Name, Version, RowVersion, UpdatedAt, CreatedAt.
- Сохранить в БД. При идемпотентности при повторной доставке — обновить или проигнорировать.
Топик
Имя топика задаётся в Talent.Chessboard.Events.