added date filtering for transactions, refactor code

This commit is contained in:
mirrerror
2023-11-20 09:03:34 +02:00
parent 7481f91b11
commit c13056ae7f
9 changed files with 188 additions and 46 deletions

View File

@@ -3,6 +3,7 @@ package com.faf223.expensetrackerfaf.repository;
import com.faf223.expensetrackerfaf.model.Expense;
import com.faf223.expensetrackerfaf.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.query.Procedure;
import org.springframework.stereotype.Repository;
import java.time.LocalDate;
@@ -14,4 +15,16 @@ public interface ExpenseRepository extends JpaRepository<Expense, Long> {
List<Expense> findByDate(LocalDate date);
List<Expense> findByDateBetween(LocalDate start, LocalDate end);
@Procedure(procedureName = "get_expenses_by_month")
List<Expense> filterByMonth(int month);
@Procedure(procedureName = "get_last_week_expenses")
List<Expense> findLastWeek();
@Procedure(procedureName = "get_last_month_expenses")
List<Expense> findLastMonth();
@Procedure(procedureName = "get_expenses_by_year_interval")
List<Expense> filterByYearInterval(int start, int end);
}

View File

@@ -3,6 +3,7 @@ package com.faf223.expensetrackerfaf.repository;
import com.faf223.expensetrackerfaf.model.Income;
import com.faf223.expensetrackerfaf.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.query.Procedure;
import org.springframework.stereotype.Repository;
import java.time.LocalDate;
@@ -14,4 +15,16 @@ public interface IncomeRepository extends JpaRepository<Income, Long> {
List<Income> findByDate(LocalDate date);
List<Income> findByDateBetween(LocalDate start, LocalDate end);
@Procedure(procedureName = "get_incomes_by_month")
List<Income> filterByMonth(int month);
@Procedure(procedureName = "get_last_week_incomes")
List<Income> findLastWeek();
@Procedure(procedureName = "get_last_month_incomes")
List<Income> findLastMonth();
@Procedure(procedureName = "get_incomes_by_year_interval")
List<Income> filterByYearInterval(int start, int end);
}