@Override public boolean accept( Tenant tenant, DaoFactory daoFactory, Ligacao ligacao, ResultadoLigacao resultadoLigacao) { Cliente cliente = ligacao.getDiscavel().getCliente(); if (!resultadoLigacao.isIncrementaTentativa()) { logger.info("Nao vai incrementar tentativa {}", cliente); return false; } return true; }
@Override public boolean executa( Tenant tenant, DaoFactory daoFactory, Ligacao ligacao, ResultadoLigacao resultadoLigacao) { Cliente cliente = ligacao.getDiscavel().getCliente(); logger.info("Incrementando tentativa {}", cliente); TelefoneDao telefoneDao = daoFactory.getTelefoneDao(); Telefone telefone = telefoneDao.procura(cliente.getTelefone().getId()); telefone.incTentativa(); telefoneDao.atualiza(telefone); if (tenant.getConfiguracoes().getLimiteTentativasPorTelefone()) { return limitaTentativasPorTelefone(tenant, daoFactory, cliente, telefoneDao); } return limitaTentativasPorCliente(tenant, daoFactory, cliente, telefoneDao, ligacao); }