From 56ba9f783c9cbf5f7c929669f6f70d78cfc520d7 Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Thu, 24 Apr 2025 15:40:39 +0200 Subject: [PATCH 1/2] feat: add info route --- .../de/szut/casino/slots/SlotController.java | 19 ++++++++-- .../de/szut/casino/slots/SlotService.java | 8 +--- .../java/de/szut/casino/slots/Symbol.java | 37 ++++++------------- 3 files changed, 29 insertions(+), 35 deletions(-) diff --git a/backend/src/main/java/de/szut/casino/slots/SlotController.java b/backend/src/main/java/de/szut/casino/slots/SlotController.java index e69de94..5e27b52 100644 --- a/backend/src/main/java/de/szut/casino/slots/SlotController.java +++ b/backend/src/main/java/de/szut/casino/slots/SlotController.java @@ -8,12 +8,12 @@ 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.RequestHeader; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.Optional; @RestController @@ -49,4 +49,15 @@ public class SlotController { return ResponseEntity.ok(spinResult); } + + @GetMapping("/slots/info") + public ResponseEntity spinSlots() { + Map info = new HashMap<>(); + + for (Symbol symbol : Symbol.values()) { + info.put(symbol.getDisplayName(), symbol.getPayoutMultiplier()); + } + + return ResponseEntity.ok(info); + } } diff --git a/backend/src/main/java/de/szut/casino/slots/SlotService.java b/backend/src/main/java/de/szut/casino/slots/SlotService.java index 39ebeab..ccc2133 100644 --- a/backend/src/main/java/de/szut/casino/slots/SlotService.java +++ b/backend/src/main/java/de/szut/casino/slots/SlotService.java @@ -10,6 +10,8 @@ import java.util.Collections; import java.util.List; import java.util.Random; +import static de.szut.casino.slots.Symbol.*; + @Service public class SlotService { private final int REEL_LENGTH = 32; @@ -21,12 +23,6 @@ public class SlotService { private final int CHERRY_COUNT = 10; private final int BLANK_COUNT = 10; - private final Symbol SEVEN = new Symbol("seven", new BigDecimal("1000")); - private final Symbol BAR = new Symbol("bar", new BigDecimal("85")); - private final Symbol BELL = new Symbol("bell", new BigDecimal("40")); - private final Symbol CHERRY = new Symbol("cherry", new BigDecimal("10")); - private final Symbol BLANK = new Symbol("blank", new BigDecimal("0")); - private final List firstReel; private final List secondReel; private final List thirdReel; diff --git a/backend/src/main/java/de/szut/casino/slots/Symbol.java b/backend/src/main/java/de/szut/casino/slots/Symbol.java index 806d14b..cac9fa6 100644 --- a/backend/src/main/java/de/szut/casino/slots/Symbol.java +++ b/backend/src/main/java/de/szut/casino/slots/Symbol.java @@ -1,35 +1,22 @@ package de.szut.casino.slots; -import lombok.AllArgsConstructor; import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; import java.math.BigDecimal; @Getter -@Setter -@AllArgsConstructor -public class Symbol { - private String name; - private BigDecimal payoutMultiplier; +public enum Symbol { + SEVEN("seven", new BigDecimal("1000")), + BAR("bar", new BigDecimal("85")), + BELL("bell", new BigDecimal("40")), + CHERRY("cherry", new BigDecimal("10")), + BLANK("blank", new BigDecimal("0")); - @Override - public boolean equals(Object other) { - if (!(other instanceof Symbol that)) { - return false; - } + private final String displayName; + private final BigDecimal payoutMultiplier; - return this.name.equals(that.name) && this.payoutMultiplier.equals(that.payoutMultiplier); + Symbol(String displayName, BigDecimal payoutMultiplier) { + this.displayName = displayName; + this.payoutMultiplier = payoutMultiplier; } - - @Override - public int hashCode() { - int hashCode = 1; - - hashCode = hashCode * 37 + this.name.hashCode(); - hashCode = hashCode * 37 + this.payoutMultiplier.hashCode(); - - return hashCode; - } -} +} \ No newline at end of file -- 2.47.2 From 6ab095e6dbf4e1b6f96eb135fa50cc48281fe0cf Mon Sep 17 00:00:00 2001 From: Phan Huy Tran Date: Thu, 24 Apr 2025 15:42:29 +0200 Subject: [PATCH 2/2] chore: bruh --- backend/src/main/java/de/szut/casino/slots/Symbol.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/de/szut/casino/slots/Symbol.java b/backend/src/main/java/de/szut/casino/slots/Symbol.java index cac9fa6..74f4560 100644 --- a/backend/src/main/java/de/szut/casino/slots/Symbol.java +++ b/backend/src/main/java/de/szut/casino/slots/Symbol.java @@ -19,4 +19,4 @@ public enum Symbol { this.displayName = displayName; this.payoutMultiplier = payoutMultiplier; } -} \ No newline at end of file +} -- 2.47.2