@Component("ValidadorHorarioAntecedenciaAgendamento")
public class ValidadorHorarioAntecedencia implements ValidadorAgendamentoDeConsulta {
public void validar(DadosAgendamentoConsulta dados) {
var dataConsulta = dados.data();
var agora = LocalDateTime.now();
var diferencaEmMinutos = Duration.between(agora, dataConsulta).toMinutes();
if (diferencaEmMinutos < 30) {
throw new ValidacaoException("Consulta deve ser agendada com antecedência mínima de 30 minutos");
}
}
Boa noite, acho que essa lógica esta errada, fiz alguns teste e conseguir marcar a consultar. Ex: se entrar no sistema no dia 24/03/2023 e marcar uma consulta para o dia 31/03/2023 as 18:45:00, teriam se passado aproximadamente 6 dias, o que equivale a mais de 9000 minutos, ou seja mesmo marcando menos de 30 minutos do fechamento da clinica o cliente vai conseguir. Estou equivocado? A regra de negócio foi criada para o paciente não consiga agendar uma consulta com menos de 30 minutos do fechamento da clínica não é isso?