fix: delete orhpaned blackjack games #207

Merged
ptran merged 2 commits from fix-delete-completed-blackjack-games into main 2025-05-21 07:54:02 +00:00

View file

@ -36,7 +36,7 @@ public class BlackJackService {
game.setState(getState(game)); game.setState(getState(game));
deductBetFromBalance(user, betAmount); deductBetFromBalance(user, betAmount);
return blackJackGameRepository.save(game); return processGameBasedOnState(game);
} }
@Transactional @Transactional
@ -46,10 +46,9 @@ public class BlackJackService {
} }
dealCardToPlayer(game); dealCardToPlayer(game);
updateGameStateAndBalance(game); updateGameStateAndBalance(game);
return blackJackGameRepository.save(game); return processGameBasedOnState(game);
} }
@Transactional @Transactional
@ -61,7 +60,7 @@ public class BlackJackService {
dealCardsToDealerUntilMinimumScore(game); dealCardsToDealerUntilMinimumScore(game);
determineWinnerAndUpdateBalance(game); determineWinnerAndUpdateBalance(game);
return blackJackGameRepository.save(game); return processGameBasedOnState(game);
} }
@Transactional @Transactional
@ -116,6 +115,15 @@ public class BlackJackService {
return blackJackGameRepository.save(game); 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) { private BlackJackGameEntity refreshGameState(BlackJackGameEntity game) {
return blackJackGameRepository.findById(game.getId()).orElse(game); return blackJackGameRepository.findById(game.getId()).orElse(game);
} }