diff --git a/burpabet-betting-service/src/main/resources/logback-spring.xml b/burpabet-betting-service/src/main/resources/logback-spring.xml index bc6c71a..a527005 100644 --- a/burpabet-betting-service/src/main/resources/logback-spring.xml +++ b/burpabet-betting-service/src/main/resources/logback-spring.xml @@ -11,12 +11,12 @@ - - - + + + - + diff --git a/burpabet-customer-service/src/main/java/io/burpabet/customer/saga/CustomerBettingFacade.java b/burpabet-customer-service/src/main/java/io/burpabet/customer/saga/CustomerBettingFacade.java index 1c82e3e..9585935 100644 --- a/burpabet-customer-service/src/main/java/io/burpabet/customer/saga/CustomerBettingFacade.java +++ b/burpabet-customer-service/src/main/java/io/burpabet/customer/saga/CustomerBettingFacade.java @@ -1,5 +1,16 @@ package io.burpabet.customer.saga; +import java.time.Duration; +import java.util.Currency; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + import io.burpabet.common.annotations.OutboxOperation; import io.burpabet.common.annotations.Retryable; import io.burpabet.common.annotations.ServiceFacade; @@ -12,15 +23,6 @@ import io.burpabet.customer.repository.CustomerRepository; import io.burpabet.customer.service.SimpleSpendingLimit; import io.burpabet.customer.service.SpendingLimit; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.time.Duration; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; -import java.util.UUID; @ServiceFacade public class CustomerBettingFacade { @@ -31,6 +33,10 @@ public class CustomerBettingFacade { @Autowired private CustomerRepository customerRepository; + private SpendingLimit defaultSpendingLimit(Currency currency) { + return new SimpleSpendingLimit(Money.of("50.00", currency), Duration.ofSeconds(60)); + } + @TransactionBoundary @Retryable @OutboxOperation(aggregateType = "placement") @@ -58,9 +64,9 @@ public BetPlacement acquireSpendingCredits(BetPlacement placement) { final Money wager = placement.getStake(); boolean permitted = customerSpendingLimits.computeIfAbsent(placement.getCustomerId(), - x -> new SimpleSpendingLimit(Money.of("50.00", wager.getCurrency()), - Duration.ofSeconds(60))) + x -> defaultSpendingLimit(wager.getCurrency())) .acquirePermission(placement.getStake()); + if (permitted) { placement.setStatus(Status.APPROVED); placement.setStatusDetail("Within spending budget"); diff --git a/burpabet-customer-service/src/main/java/io/burpabet/customer/saga/CustomerKafkaListener.java b/burpabet-customer-service/src/main/java/io/burpabet/customer/saga/CustomerKafkaListener.java index 3250dd6..5eeeb99 100644 --- a/burpabet-customer-service/src/main/java/io/burpabet/customer/saga/CustomerKafkaListener.java +++ b/burpabet-customer-service/src/main/java/io/burpabet/customer/saga/CustomerKafkaListener.java @@ -42,7 +42,7 @@ public void onBetPlacementEvent(BetPlacementEvent event) { } else if (placement.getStatus().equals(Status.ROLLBACK)) { customerBettingFacade.releaseSpendingCredits(placement); } else { - logger.debug("BetPlacement event received with status: %s".formatted(placement.getStatus())); + logger.info("BetPlacement event received with status: %s".formatted(placement.getStatus())); } } @@ -54,7 +54,7 @@ public void onBetSettlementEvent(BetSettlementEvent event) { if (settlement.getStatus().equals(Status.PENDING)) { customerBettingFacade.approveSettlement(settlement); } else { - logger.debug("BetSettlement event received with status: %s".formatted(settlement.getStatus())); + logger.info("BetSettlement event received with status: %s".formatted(settlement.getStatus())); } } } diff --git a/burpabet-customer-service/src/main/java/io/burpabet/customer/web/HomeController.java b/burpabet-customer-service/src/main/java/io/burpabet/customer/web/HomeController.java new file mode 100644 index 0000000..3e766ca --- /dev/null +++ b/burpabet-customer-service/src/main/java/io/burpabet/customer/web/HomeController.java @@ -0,0 +1,16 @@ +package io.burpabet.customer.web; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.view.RedirectView; + +@Controller +@RequestMapping("/") +public class HomeController { + @GetMapping + public RedirectView homePage(Model model) { + return new RedirectView("api"); + } +} diff --git a/burpabet-customer-service/src/main/resources/logback-spring.xml b/burpabet-customer-service/src/main/resources/logback-spring.xml index bc6c71a..a527005 100644 --- a/burpabet-customer-service/src/main/resources/logback-spring.xml +++ b/burpabet-customer-service/src/main/resources/logback-spring.xml @@ -11,12 +11,12 @@ - - - + + + - + diff --git a/burpabet-wallet-service/src/main/java/io/burpabet/wallet/saga/WalletKafkaListener.java b/burpabet-wallet-service/src/main/java/io/burpabet/wallet/saga/WalletKafkaListener.java index e579bf7..d4f1cb0 100644 --- a/burpabet-wallet-service/src/main/java/io/burpabet/wallet/saga/WalletKafkaListener.java +++ b/burpabet-wallet-service/src/main/java/io/burpabet/wallet/saga/WalletKafkaListener.java @@ -45,7 +45,7 @@ public void onRegistrationEvent(RegistrationEvent event) { } else if (registration.getStatus().equals(Status.ROLLBACK)) { registrationFacade.reverseAccounts(registration); } else { - logger.debug("RegistrationEvent received with status: %s".formatted(registration.getStatus())); + logger.info("RegistrationEvent received with status: %s".formatted(registration.getStatus())); } } @@ -59,7 +59,7 @@ public void onBetPlacementEvent(BetPlacementEvent event) { } else if (placement.getStatus().equals(Status.ROLLBACK)) { bettingFacade.reverseWager(placement); } else { - logger.debug("BetPlacementEvent received with status: %s".formatted(placement.getStatus())); + logger.info("BetPlacementEvent received with status: %s".formatted(placement.getStatus())); } } @@ -71,7 +71,7 @@ public void onBetSettlementEvent(BetSettlementEvent event) { if (settlement.getStatus().equals(Status.PENDING)) { bettingFacade.transferPayout(settlement); } else { - logger.debug("BetSettlementEvent received with status: %s".formatted(settlement.getStatus())); + logger.info("BetSettlementEvent received with status: %s".formatted(settlement.getStatus())); } } } diff --git a/burpabet-wallet-service/src/main/java/io/burpabet/wallet/web/HomeController.java b/burpabet-wallet-service/src/main/java/io/burpabet/wallet/web/HomeController.java new file mode 100644 index 0000000..6350c2d --- /dev/null +++ b/burpabet-wallet-service/src/main/java/io/burpabet/wallet/web/HomeController.java @@ -0,0 +1,16 @@ +package io.burpabet.wallet.web; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.view.RedirectView; + +@Controller +@RequestMapping("/") +public class HomeController { + @GetMapping + public RedirectView homePage(Model model) { + return new RedirectView("api"); + } +} diff --git a/burpabet-wallet-service/src/main/resources/logback-spring.xml b/burpabet-wallet-service/src/main/resources/logback-spring.xml index bc6c71a..a527005 100644 --- a/burpabet-wallet-service/src/main/resources/logback-spring.xml +++ b/burpabet-wallet-service/src/main/resources/logback-spring.xml @@ -11,12 +11,12 @@ - - - + + + - + diff --git a/run-betting.sh b/run-betting.sh index 604f6f3..515ffb8 100755 --- a/run-betting.sh +++ b/run-betting.sh @@ -1,6 +1,6 @@ #!/bin/bash -__params="\ +params="\ --spring.profiles.active=local \ --spring.datasource.url=jdbc:postgresql://192.168.1.99:26257/burp_betting?sslmode=disable \ --spring.datasource.username=root \ diff --git a/run-customer.sh b/run-customer.sh index f1b6df3..a68aaea 100755 --- a/run-customer.sh +++ b/run-customer.sh @@ -1,6 +1,6 @@ #!/bin/bash -__params="\ +params="\ --spring.profiles.active=local \ --spring.datasource.url=jdbc:postgresql://192.168.1.99:26257/burp_customer?sslmode=disable \ --spring.datasource.username=root \ diff --git a/run-wallet.sh b/run-wallet.sh index 44dbc53..7651a6c 100755 --- a/run-wallet.sh +++ b/run-wallet.sh @@ -1,6 +1,6 @@ #!/bin/bash -__params="\ +params="\ --spring.profiles.active=local \ --spring.datasource.url=jdbc:postgresql://192.168.1.99:26257/burp_wallet?sslmode=disable \ --spring.datasource.username=root \