From a3f34e960b6354879529ddc8ff3cac6daa85a970 Mon Sep 17 00:00:00 2001 From: Jan-Marlon Leibl Date: Wed, 7 May 2025 17:47:34 +0200 Subject: [PATCH] feat(slots): update balance handling on spin results --- .../src/main/java/de/szut/casino/slots/SlotService.java | 3 ++- frontend/src/app/feature/game/slots/slots.component.ts | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) 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 4bdaa90..7905636 100644 --- a/backend/src/main/java/de/szut/casino/slots/SlotService.java +++ b/backend/src/main/java/de/szut/casino/slots/SlotService.java @@ -54,12 +54,13 @@ public class SlotService { SpinResult spinResult = new SpinResult(); spinResult.setStatus(status.name().toLowerCase()); + this.balanceService.subtractFunds(user, betAmount); + if (status == Status.WIN) { BigDecimal winAmount = betAmount.multiply(winSymbol.getPayoutMultiplier()); this.balanceService.addFunds(user, winAmount); spinResult.setAmount(winAmount); } else { - this.balanceService.subtractFunds(user, betAmount); spinResult.setAmount(betAmount); } diff --git a/frontend/src/app/feature/game/slots/slots.component.ts b/frontend/src/app/feature/game/slots/slots.component.ts index f50fad2..b43e8f0 100644 --- a/frontend/src/app/feature/game/slots/slots.component.ts +++ b/frontend/src/app/feature/game/slots/slots.component.ts @@ -109,17 +109,20 @@ export default class SlotsComponent implements OnInit, OnDestroy { next: (result) => { setTimeout(() => { this.slotResult.set(result); - + if (result.status === 'win') { this.userService.updateLocalBalance(result.amount); } - + + this.userService.refreshCurrentUser(); + this.isSpinning = false; }, 1500); }, error: (err) => { console.error('Error spinning slot machine:', err); this.userService.updateLocalBalance(betAmount); + this.userService.refreshCurrentUser(); this.isSpinning = false; }, });