/
berkas
/
Spend-tracker
Обзор
Документация
Войти
/
berkas
/
Spend-tracker
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
api/src/main/java/com/spendtracker/service/TransactionService.java
71 строка
2 KB
akasianov
Created TransactionService and TransactionController
14 янв 2026, 23:35
14 янв 2026, 23:35
29e6337
Код
Авторство
О чём код?
package com.spendtracker.application.service; import com.spendtracker.application.dto.TransactionDto; import com.spendtracker.domain.Transaction; import com.spendtracker.repository.TransactionRepository; import com.spendtracker.repository.filter.TransactionFilter; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; import java.util.Set; import java.util.UUID; @Service public class TransactionService { private final TransactionRepository transactionRepository; public TransactionService(TransactionRepository transactionRepository) { this.transactionRepository = transactionRepository; } public TransactionDto createTransaction( String userId, String type, BigDecimal amount, String categoryId, LocalDateTime date ) { Transaction transaction = new Transaction( UUID.randomUUID().toString(), userId, categoryId, amount, type, date ); Transaction saved = transactionRepository.save(transaction); return toDto(saved); } public List<TransactionDto> getTransactions( String userId, LocalDateTime start, LocalDateTime end, Set<String> categoryIds ) { TransactionFilter filter = new TransactionFilter(); filter.setUserIds(Set.of(userId)); filter.setStart(start); filter.setEnd(end); filter.setCategoryIds(categoryIds); return transactionRepository.findAll(filter) .stream() .map(this::toDto) .toList(); } private TransactionDto toDto(Transaction transaction) { return new TransactionDto( transaction.getId(), transaction.getType(), transaction.getAmount(), transaction.getDate(), transaction.getCategoryId() ); } }