Hi Guys, Gente eu estava com esse erro "java.util.List' that could not be found." e observando o codigo notei que ele não estava conseguindo injetar porque esqueci de colocar essa anotação: @Component("validadorHorarioAntecedenciaCancelamento") por tanto se cairem nesse erro verifiquem o codigo de vocês.
package br.com.clinimed.domain.consulta.validacoes.cancelamento;
import br.com.clinimed.domain.ValidacaoException;
import br.com.clinimed.domain.consulta.ConsultaRepository;
import br.com.clinimed.domain.consulta.DadosCancelamentoConsulta;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.Duration;
import java.time.LocalDateTime;
@Component("validadorHorarioAntecedenciaCancelamento")
public class ValidadorHorarioAntecedencia implements ValidadorCancelamentoDeConsulta{
@Autowired
private ConsultaRepository repository;
@Override
public void validar(DadosCancelamentoConsulta dados) {
var consulta = repository.getReferenceById(dados.idConsulta());
var agora = LocalDateTime.now();
var diferencaEmHoras = Duration.between(agora, consulta.getData()).toHours();
if (diferencaEmHoras < 24) {
throw new ValidacaoException("Consulta somente pode ser cancelada com antecedência mínima de 24h!");
}
}
}