Após realizar as alterações sugeridas para corrigir o erro, esta retornando o seguinte erro:
java: cannot find symbol symbol: method existsByPacienteIdAndDataBetween(java.lang.Long,java.time.LocalDateTime,java.time.LocalDateTime) location: variable repository of type com.github.paulopcrp.healthcare.api.domain.consulta.ConsultaRepository
Segue minha classe:
package com.github.paulopcrp.healthcare.api.domain.consulta.validacoes.agendamentos;
import com.github.paulopcrp.healthcare.api.domain.ValidacaoException; import com.github.paulopcrp.healthcare.api.domain.consulta.ConsultaRepository; import com.github.paulopcrp.healthcare.api.domain.consulta.DadosAgendamentoConsulta; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;
@Component public class ValidadorPacienteSemOutraConsultaNoDia implements ValidadorAgendamentoDeConsulta{
@Autowired
private ConsultaRepository repository;
public void validar(DadosAgendamentoConsulta dados) {
var primeiroHorario = dados.data().withHour(7);
var ultimoHorario = dados.data().withHour(18);
var pacientePossuiOutraConsultaNoDia = repository.existsByPacienteIdAndDataBetween(dados.idPaciente(), primeiroHorario, ultimoHorario);
if (pacientePossuiOutraConsultaNoDia) {
throw new ValidacaoException("Paciente já possui uma consulta agendada neste dia e horario.");
}
}
}
Tentei fazer de uma outra maneira mas ainda retorna erro.