feature: add event sourcing microservice init

This commit is contained in:
Alexander
2022-04-13 12:16:23 +03:00
commit 730bfdbb8c
38 changed files with 1007 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
package com.eventsourcing.bankAccount.queries;
import com.eventsourcing.bankAccount.domain.BankAccountAggregate;
import com.eventsourcing.bankAccount.dto.BankAccountResponseDTO;
import com.eventsourcing.es.EventStoreDB;
import com.eventsourcing.mappers.BankAccountMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RequiredArgsConstructor
public class BankAccountQueryHandler implements BankAccountQueryService {
private final EventStoreDB eventStoreDB;
@Override
public BankAccountResponseDTO handle(GetBankAccountByIDQuery query) {
final var aggregate = eventStoreDB.load(query.aggregateID(), BankAccountAggregate.class);
final var bankAccountResponseDTO = BankAccountMapper.bankAccountResponseDTOFromAggregate(aggregate);
log.info("(GetBankAccountByIDQuery) response: {}", bankAccountResponseDTO);
return bankAccountResponseDTO;
}
}