From 64e41b663e76e6e15d09785c32182fb1d76db0c0 Mon Sep 17 00:00:00 2001
From: Phan Huy Tran
Date: Wed, 26 Mar 2025 13:50:56 +0100
Subject: [PATCH] feat: Subtract user balance, persist game
---
backend/requests/test.http | 2 +-
.../blackjack/BlackJackGameController.java | 44 +++++--
.../casino/blackjack/BlackJackGameEntity.java | 10 +-
.../blackjack/BlackJackGameRepository.java | 12 ++
.../de/szut/casino/user/UserController.java | 2 +-
.../java/de/szut/casino/user/UserService.java | 11 +-
.../szut/casino/user/UserControllerTest.java | 122 ------------------
7 files changed, 61 insertions(+), 142 deletions(-)
create mode 100644 backend/src/main/java/de/szut/casino/blackjack/BlackJackGameRepository.java
delete mode 100644 backend/src/test/java/de/szut/casino/user/UserControllerTest.java
diff --git a/backend/requests/test.http b/backend/requests/test.http
index 57fd8f1..ea20985 100644
--- a/backend/requests/test.http
+++ b/backend/requests/test.http
@@ -3,5 +3,5 @@ Authorization: Bearer {{token}}
Content-Type: application/json
{
- "betAmount": -1
+ "betAmount": 1.01
}
diff --git a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java
index 095a20e..e0c6378 100644
--- a/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java
+++ b/backend/src/main/java/de/szut/casino/blackjack/BlackJackGameController.java
@@ -2,13 +2,11 @@ package de.szut.casino.blackjack;
import de.szut.casino.blackjack.dto.CreateBlackJackGameDto;
import de.szut.casino.user.UserEntity;
+import de.szut.casino.user.UserRepository;
import de.szut.casino.user.UserService;
-import de.szut.casino.user.dto.CreateUserDto;
-import de.szut.casino.user.dto.GetUserDto;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -18,33 +16,53 @@ import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
+import java.util.Optional;
@Slf4j
@RestController
public class BlackJackGameController {
- @Autowired
- private UserService userService;
+ private final UserService userService;
+ private final BlackJackGameRepository blackJackGameRepository;
+ private final UserRepository userRepository;
+
+ public BlackJackGameController(UserService userService, BlackJackGameRepository blackJackGameRepository, UserRepository userRepository) {
+ this.userService = userService;
+ this.blackJackGameRepository = blackJackGameRepository;
+ this.userRepository = userRepository;
+ }
@PostMapping("/blackjack/start")
- public ResponseEntity> createBlackJackGame(@RequestBody @Valid CreateBlackJackGameDto createBlackJackGameDto, @RequestHeader("Authorization") String token) {
- GetUserDto getUserDto = userService.getCurrentUser(token);
- BigDecimal balance = getUserDto.getBalance();
+ public ResponseEntity