Перейти к основному содержимому

AfterChessboardProjectBuildingCreatedEvent (Consumer)

Назначение

Обработка события о создании здания проекта. Создаёт запись ChessboardProjectBuildingEntity в БД Panoramas.

Цель

Синхронизировать появление здания в локальном хранилище для привязки планировок.

Входные данные (Payload)

Контракт из Talent.Chessboard.Events. Типичные поля:

ПолеТипОбязательностьОписание
BuildingIdlongОбязательноеИдентификатор здания
TenantIdGuidОбязательноеИдентификатор тенанта
ProjectIdlongОбязательноеИдентификатор проекта
NamestringОбязательноеНазвание здания
VersionlongОбязательноеВерсия

Бизнес-логика

  1. Получить payload из сообщения Kafka.
  2. Создать сущность ChessboardProjectBuildingEntity: Id = BuildingId, TenantId, ProjectId, Name, Version, RowVersion, UpdatedAt, CreatedAt.
  3. Сохранить в БД. При идемпотентности при повторной доставке — обновить или проигнорировать.

Топик

Имя топика задаётся в Talent.Chessboard.Events.

Связанные сущности