fix: delete orhpaned blackjack games #207
1 changed files with 51 additions and 43 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Reference in a new issue