From 9175c82f98210736ab555413c5924c089d7809ef Mon Sep 17 00:00:00 2001
From: Phan Huy Tran
Date: Wed, 21 May 2025 08:58:25 +0200
Subject: [PATCH] feat: implement dice game api
---
.../de/szut/casino/dice/DiceController.java | 44 ++++++++++++
.../java/de/szut/casino/dice/DiceDto.java | 25 +++++++
.../java/de/szut/casino/dice/DiceResult.java | 39 +++++++++++
.../java/de/szut/casino/dice/DiceService.java | 68 +++++++++++++++++++
4 files changed, 176 insertions(+)
create mode 100644 backend/src/main/java/de/szut/casino/dice/DiceController.java
create mode 100644 backend/src/main/java/de/szut/casino/dice/DiceDto.java
create mode 100644 backend/src/main/java/de/szut/casino/dice/DiceResult.java
create mode 100644 backend/src/main/java/de/szut/casino/dice/DiceService.java
diff --git a/backend/src/main/java/de/szut/casino/dice/DiceController.java b/backend/src/main/java/de/szut/casino/dice/DiceController.java
new file mode 100644
index 0000000..949a002
--- /dev/null
+++ b/backend/src/main/java/de/szut/casino/dice/DiceController.java
@@ -0,0 +1,44 @@
+package de.szut.casino.dice;
+
+import de.szut.casino.exceptionHandling.exceptions.InsufficientFundsException;
+import de.szut.casino.exceptionHandling.exceptions.UserNotFoundException;
+import de.szut.casino.shared.service.BalanceService;
+import de.szut.casino.user.UserEntity;
+import de.szut.casino.user.UserService;
+import jakarta.validation.Valid;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Optional;
+
+@RestController
+public class DiceController {
+ private final UserService userService;
+ private final BalanceService balanceService;
+ private final DiceService diceService;
+
+ public DiceController(UserService userService, BalanceService balanceService, DiceService diceService) {
+ this.userService = userService;
+ this.balanceService = balanceService;
+ this.diceService = diceService;
+ }
+
+ @PostMapping("/dice")
+ public ResponseEntity