finance-analyzer/src/main/java/de/arminwolf/financeanalyzer/service/usecases/StandingOrderService.java

30 lines
1.0 KiB
Java

package de.arminwolf.financeanalyzer.service.usecases;
import de.arminwolf.financeanalyzer.dao.ReportDAO;
import de.arminwolf.financeanalyzer.dao.TransactionDAO;
import de.arminwolf.financeanalyzer.util.StreamUtil;
import de.arminwolf.financeanalyzer.util.TransactionDateStringReverseComparator;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class StandingOrderService {
public static final String JA = "ja";
public void setStandingOrder(final ReportDAO reportDAO, final List<TransactionDAO> filteredTransactions) {
List<TransactionDAO> transactions = filteredTransactions.stream()
.filter(e -> e.getAnalyseVertrag().equals(JA)
|| e.getAnalyseUmsatzart().equals("Dauerauftrag")
|| e.getAnalyseUmsatzart().equals("Lastschrift"))
.sorted(new TransactionDateStringReverseComparator())
.toList();
List<TransactionDAO> standingOrderTransactions = StreamUtil.findDuplicateInStream(transactions);
reportDAO.setStandingOrders(standingOrderTransactions);
}
}