fix: delete orhpaned blackjack games
All checks were successful
CI / Get Changed Files (pull_request) Successful in 7s
CI / eslint (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Has been skipped
CI / oxlint (pull_request) Has been skipped
CI / prettier (pull_request) Has been skipped
CI / test-build (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Successful in 57s
CI / Docker backend validation (pull_request) Successful in 1m14s

This commit is contained in:
Phan Huy Tran 2025-05-21 09:49:09 +02:00
commit 1dfdedee91

View file

@ -36,7 +36,7 @@ public class BlackJackService {
game.setState(getState(game));
deductBetFromBalance(user, betAmount);
return blackJackGameRepository.save(game);
return processGameBasedOnState(game);
}
@Transactional
@ -46,10 +46,9 @@ public class BlackJackService {
}
dealCardToPlayer(game);
updateGameStateAndBalance(game);
return blackJackGameRepository.save(game);
return processGameBasedOnState(game);
}
@Transactional
@ -61,7 +60,7 @@ public class BlackJackService {
dealCardsToDealerUntilMinimumScore(game);
determineWinnerAndUpdateBalance(game);
return blackJackGameRepository.save(game);
return processGameBasedOnState(game);
}
@Transactional
@ -116,6 +115,15 @@ public class BlackJackService {
return blackJackGameRepository.save(game);
}
private BlackJackGameEntity processGameBasedOnState(BlackJackGameEntity game) {
if (game.getState() != BlackJackState.IN_PROGRESS) {
this.blackJackGameRepository.delete(game);
return game;
}
return blackJackGameRepository.save(game);
}
private BlackJackGameEntity refreshGameState(BlackJackGameEntity game) {
return blackJackGameRepository.findById(game.getId()).orElse(game);
}