observei aqui que a forma que foi implementada o realizar o depósito, o valor nunca será somado ao montante já armazenado na conta, visto que não é feito um novo deposito. apenas é realizado uma alteração no banco de dados com o método altera.
Código atual. Qualquer deposito irá sobrescrever e não incrementar o valor já existente na conta.
public void realizarDeposito(Integer numeroDaConta, BigDecimal valor) {
var conta = buscarContaPorNumero(numeroDaConta);
if (valor.compareTo(BigDecimal.ZERO) <= 0) {
throw new RegraDeNegocioException("Valor do deposito deve ser superior a zero!");
}
conta.depositar(valor);
}
Código sugerido
public void realizarDeposito(Integer numeroDaConta, BigDecimal valor) {
var conta = buscarContaPorNumero(numeroDaConta);
if (valor.compareTo(BigDecimal.ZERO) <= 0) {
throw new RegraDeNegocioException("Valor do deposito deve ser superior a zero!");
}
conta.depositar(valor);
BigDecimal saldoAtual = conta.getSaldo();
Connection conn = connection.recuperarConexao();
new ContaDAO(conn).alterar(conta.getNumero(), saldoAtual);
}