import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import de.juplo.kafka.payment.transfer.domain.Transfer;
import de.juplo.kafka.payment.transfer.ports.CreateTransferUseCase;
import de.juplo.kafka.payment.transfer.ports.GetTransferUseCase;
import de.juplo.kafka.payment.transfer.ports.HandleStateChangeUseCase;
import java.util.concurrent.Future;
import java.util.stream.Collectors;
-import static de.juplo.kafka.payment.transfer.domain.Transfer.State.CREATED;
-
@RequestMapping("/consumer")
@ResponseBody
NewTransferEvent newTransferEvent =
mapper.readValue(record.value(), NewTransferEvent.class);
- useCases.create(newTransferEvent.toTransfer().setState(CREATED));
+ useCases
+ .create(
+ newTransferEvent.getId(),
+ newTransferEvent.getPayer(),
+ newTransferEvent.getPayee(),
+ newTransferEvent.getAmount());
break;
case EventType.TRANSFER_STATE_CHANGED:
TransferStateChangedEvent stateChangedEvent =
mapper.readValue(record.value(), TransferStateChangedEvent.class);
- useCases
- .get(stateChangedEvent.getId())
- .ifPresentOrElse(
- transfer -> useCases.handle(transfer.setState(stateChangedEvent.getState())),
- () -> log.error("unknown transfer: {}", stateChangedEvent.getId()));
+ useCases.handleStateChange(stateChangedEvent.getId(), stateChangedEvent.getState());
break;
}
}