/
berkas
/
Spend-tracker
Обзор
Документация
Войти
/
berkas
/
Spend-tracker
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
api/src/main/java/com/spendtracker/controller/ReportController.java
71 строка
2 KB
akasianov
Created endpoint report/period-compare
15 янв 2026, 09:58
15 янв 2026, 09:58
432481a
Код
Авторство
О чём код?
package com.spendtracker.api.controller; import com.spendtracker.application.dto.PeriodReportDto; import com.spendtracker.application.dto.ReportResultDto; import com.spendtracker.application.dto.PeriodCompareReportDto; import com.spendtracker.application.service.ReportService; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.time.YearMonth; @RestController @RequestMapping("/api/report") public class ReportController { private final ReportService reportService; public ReportController(ReportService reportService) { this.reportService = reportService; } @GetMapping public ReportResultDto getReport( @RequestParam String userId, @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime start, @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime end, @RequestParam(required = false) String categoryId, @RequestParam(required = false) Integer limit, @RequestParam(defaultValue = "date") String sortBy ) { return reportService.getReport( userId, start, end, categoryId, limit, sortBy ); } @GetMapping("/period") public PeriodReportDto getPeriodReport( @RequestParam String userId, @RequestParam YearMonth start, @RequestParam YearMonth end ) { return reportService.getPeriodReport(userId, start, end); } @GetMapping("/period-compare") public PeriodCompareReportDto comparePeriods( @RequestParam String userId, @RequestParam YearMonth startA, @RequestParam YearMonth endA, @RequestParam YearMonth startB, @RequestParam YearMonth endB ) { return reportService.getPeriodCompareReport( userId, startA, endA, startB, endB ); } }