Дополнительный вопрос о моей последней проблеме ..
BigDecimal fee;
fee = fees.stream()
.filter(p -> p.getTodate().isAfter(LocalDateTime.now()))
.filter(p -> p.getFromdate().isBefore(LocalDateTime.now()))
.filter(p -> p.getId().equals("001001"))
.map(Fee::getFee)
.findFirst()
.map(BigDecimal::new)
.orElse(new BigDecimal(1000));
return fee;
Сначала я проверяю, что сбор актуален, так как могут быть предстоящие сборы и сборы, которые больше не действительны. Затем я пытаюсь сопоставить идентификатор с оставшимися платежами.
Проблема в последнем фильтре.
Я проверил несколько раз и в данных, есть ровно 1 запись с текущей датой и тем же идентификатором. (он был введен ранее, но для целей отладки я сейчас жестко запрограммировал его)
и если я уберу фильтры даты, это все равно вернет только BigDecimal 1000.
Что я здесь не вижу?
Оба значения Strings