X-Git-Url: https://juplo.de/gitweb/?p=demos%2Fkafka%2Fdemos-kafka-payment-system-transfer;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fpayment%2Ftransfer%2Fdomain%2FTransferService.java;h=7a2349ae90f38f15c39b9889feefa627f7214b4b;hp=90ef682cc5c95dee868717f938c481cf7f982b93;hb=26809d379a0e024017f70db8c70382f94faf98b6;hpb=78721edb87827a1837f298f24761af8be640c58b diff --git a/src/main/java/de/juplo/kafka/payment/transfer/domain/TransferService.java b/src/main/java/de/juplo/kafka/payment/transfer/domain/TransferService.java index 90ef682..7a2349a 100644 --- a/src/main/java/de/juplo/kafka/payment/transfer/domain/TransferService.java +++ b/src/main/java/de/juplo/kafka/payment/transfer/domain/TransferService.java @@ -1,27 +1,24 @@ package de.juplo.kafka.payment.transfer.domain; -import de.juplo.kafka.payment.transfer.ports.GetTransferUseCase; -import de.juplo.kafka.payment.transfer.ports.HandleTransferUseCase; -import de.juplo.kafka.payment.transfer.ports.MessagingService; -import de.juplo.kafka.payment.transfer.ports.TransferRepository; +import de.juplo.kafka.payment.transfer.ports.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import java.util.Optional; -import static de.juplo.kafka.payment.transfer.domain.Transfer.State.CHECKED; -import static de.juplo.kafka.payment.transfer.domain.Transfer.State.CREATED; +import static de.juplo.kafka.payment.transfer.domain.Transfer.State.*; @Slf4j @RequiredArgsConstructor -public class TransferService implements HandleTransferUseCase, GetTransferUseCase +public class TransferService implements CreateTransferUseCase, HandleStateChangeUseCase, GetTransferUseCase { private final TransferRepository repository; private final MessagingService messagingService; - private void create(Transfer transfer) + @Override + public void create(Transfer transfer) { repository .get(transfer.getId()) @@ -30,8 +27,7 @@ public class TransferService implements HandleTransferUseCase, GetTransferUseCas () -> { repository.store(transfer); - transfer.setState(CREATED); - messagingService.send(transfer); + messagingService.send(transfer.getId(), CREATED); }); } @@ -41,11 +37,6 @@ public class TransferService implements HandleTransferUseCase, GetTransferUseCas Transfer.State state = transfer.getState(); switch (state) { - case RECEIVED: - repository.store(transfer); - create(transfer); - break; - case CREATED: repository.store(transfer); check(transfer); @@ -64,8 +55,7 @@ public class TransferService implements HandleTransferUseCase, GetTransferUseCas private void check(Transfer transfer) { // TODO: Do some time consuming checks... - transfer.setState(CHECKED); - messagingService.send(transfer); + messagingService.send(transfer.getId(), CHECKED); } public Optional get(Long id)