diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateService.java b/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateService.java index 595e26a..421d0b9 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateService.java +++ b/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateService.java @@ -13,6 +13,7 @@ import org.springframework.data.mongodb.core.query.Update; import java.math.BigDecimal; import java.util.Collections; +import java.util.Date; import static net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.MoneyUtil.toIntegerRepr; import static org.springframework.data.mongodb.core.query.Criteria.where; @@ -37,6 +38,7 @@ public class AccountInfoUpdateService { .set("title", title) .set("description", description) .set("balance", toIntegerRepr(initialBalance)) + .set("date", new Date()) .set("version", version), AccountInfo.class); logger.info("Saved in mongo"); @@ -50,10 +52,10 @@ public class AccountInfoUpdateService { } - public void addTransaction(String eventId, String accountId, AccountTransactionInfo ti) { + public void addTransaction(String accountId, AccountTransactionInfo ti) { mongoTemplate.upsert(new Query(where("id").is(accountId)), new Update(). - set("transactions." + eventId, ti), + set("transactions." + ti.getTransactionId(), ti), AccountInfo.class); } @@ -68,6 +70,8 @@ public class AccountInfoUpdateService { } public void updateTransactionStatus(String accountId, String transactionId, TransferState status) { + + mongoTemplate.upsert(new Query(where("id").is(accountId)), new Update(). set("transactions." + transactionId +".status", status), diff --git a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryWorkflow.java b/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryWorkflow.java index 39ddded..a8f0780 100644 --- a/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryWorkflow.java +++ b/java-spring/accounts-query-side-backend/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountQueryWorkflow.java @@ -59,8 +59,8 @@ public class AccountQueryWorkflow { de.getEvent().getDetails().getDate(), de.getEvent().getDetails().getDescription()); - accountInfoUpdateService.addTransaction(eventId, fromAccountId, ti); - accountInfoUpdateService.addTransaction(eventId, toAccountId, ti); + accountInfoUpdateService.addTransaction(fromAccountId, ti); + accountInfoUpdateService.addTransaction(toAccountId, ti); } @EventHandlerMethod diff --git a/java-spring/accounts-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateServiceTest.java b/java-spring/accounts-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateServiceTest.java index 48ab21a..fc0fc4d 100644 --- a/java-spring/accounts-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateServiceTest.java +++ b/java-spring/accounts-query-side-backend/src/test/java/net/chrisrichardson/eventstore/javaexamples/banking/backend/queryside/accounts/AccountInfoUpdateServiceTest.java @@ -86,7 +86,7 @@ public class AccountInfoUpdateServiceTest { AccountTransactionInfo ti = new AccountTransactionInfo(transactionId, accountId, accountId, 5, new Date(), "A transfer"); - accountInfoUpdateService.addTransaction(eventId, accountId, ti); + accountInfoUpdateService.addTransaction(accountId, ti); accountInfo = accountQueryService.findByAccountId(accountId); assertFalse(accountInfo.getTransactions().isEmpty()); @@ -125,9 +125,10 @@ public class AccountInfoUpdateServiceTest { String transactionId = x.genId().asString(); AccountTransactionInfo transactionInfo = new AccountTransactionInfo(); + transactionInfo.setTransactionId(transactionId); transactionInfo.setStatus(TransferState.INITIAL); - accountInfoUpdateService.addTransaction(transactionId, accountId, transactionInfo); + accountInfoUpdateService.addTransaction(accountId, transactionInfo); AccountInfo accountInfo = accountQueryService.findByAccountId(accountId); assertEquals(accountId, accountInfo.getId()); diff --git a/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/accounts/AccountQueryController.java b/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/accounts/AccountQueryController.java index 934ae3a..d7349e7 100644 --- a/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/accounts/AccountQueryController.java +++ b/java-spring/accounts-query-side-web/src/main/java/net/chrisrichardson/eventstore/javaexamples/banking/web/queryside/accounts/AccountQueryController.java @@ -1,6 +1,5 @@ package net.chrisrichardson.eventstore.javaexamples.banking.web.queryside.accounts; -import com.fasterxml.jackson.databind.ObjectMapper; import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.AccountInfo; import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.AccountNotFoundException;