X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=transfer%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fpayment%2Ftransfer%2FTransferService.java;h=1b81028432ec6f5dc692020b1fdbeab170f5b4c5;hb=98446d6726b6d6fee88211ffb345b424fdc00401;hp=9da09a91d3967db54c49f06ee9d38638a13e33dc;hpb=178ce6ffc044415eb00f250aed2f9b1999bd47d1;p=demos%2Fkafka%2Fdemos-kafka-payment-system-transfer diff --git a/transfer/src/main/java/de/juplo/kafka/payment/transfer/TransferService.java b/transfer/src/main/java/de/juplo/kafka/payment/transfer/TransferService.java index 9da09a9..1b81028 100644 --- a/transfer/src/main/java/de/juplo/kafka/payment/transfer/TransferService.java +++ b/transfer/src/main/java/de/juplo/kafka/payment/transfer/TransferService.java @@ -1,11 +1,11 @@ package de.juplo.kafka.payment.transfer; -import de.trion.microservices.avro.Order; -import de.trion.microservices.avro.OrderState; import java.net.URI; import java.util.UUID; -import javax.validation.Valid; + +import de.juplo.kafka.payment.avro.Order; +import de.juplo.kafka.payment.avro.OrderState; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerRecord; import org.slf4j.Logger; @@ -17,19 +17,21 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.async.DeferredResult; +import javax.validation.Valid; + @RestController public class TransferService { private final static Logger LOG = LoggerFactory.getLogger(TransferService.class); - private final KafkaProducer producer; + private final KafkaProducer producer; private final String topic; private final String path; TransferService( - final KafkaProducer producer, + final KafkaProducer producer, final TransferServiceProperties properties) { this.producer = producer; @@ -42,32 +44,32 @@ public class TransferService path = "/orders", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.TEXT_PLAIN_VALUE) - public DeferredResult> placeOrder(@Valid @RequestBody OrderBean order) + public DeferredResult> placeOrder(@Valid @RequestBody TransferBean transfer) { DeferredResult> result = new DeferredResult<>(); try { UUID uuid = UUID.randomUUID(); - ProducerRecord record = + ProducerRecord record = new ProducerRecord<>( topic, uuid, - Order - .newBuilder() - .setId(uuid.toString()) - .setState(OrderState.CREATED) - .setCustomerId(order.getCustomerId()) - .setOrderId(order.getId()) - .setProductId(order.getProductId()) - .setQuantity(order.getQuantity()) + Transfer + .new + .id(transfer.getId().toString()) + .setState(TransferState.CREATED) + .setCustomerId(transfer.getCustomerId()) + .setOrderId(transfer.getId()) + .setProductId(transfer.getProductId()) + .setQuantity(transfer.getQuantity()) .build()); producer.send(record, (metadata, exception) -> { if (exception != null) { - LOG.error("Could not place order {}: {}", order, exception.toString()); + LOG.error("Could not place order {}: {}", transfer, exception.toString()); result.setErrorResult(exception); return; }