From 1a3a6f83cc9ef2af8fed16775dce209feb8391ab Mon Sep 17 00:00:00 2001 From: leo Date: Sat, 27 Sep 2025 14:31:52 -0300 Subject: tentativa --- .../com/rinha/backend/service/SummaryService.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/com/rinha/backend/service/SummaryService.java (limited to 'src/main/java/com/rinha/backend/service/SummaryService.java') diff --git a/src/main/java/com/rinha/backend/service/SummaryService.java b/src/main/java/com/rinha/backend/service/SummaryService.java new file mode 100644 index 0000000..d3fb32e --- /dev/null +++ b/src/main/java/com/rinha/backend/service/SummaryService.java @@ -0,0 +1,41 @@ +package com.rinha.backend.service; + +import com.rinha.backend.model.PaymentModel; +import com.rinha.backend.model.SummaryModel; +import com.rinha.backend.repository.PaymentRepository; +import org.springframework.stereotype.Service; + +import java.time.OffsetDateTime; +import java.util.List; + +@Service +public class SummaryService { + + private final PaymentRepository paymentRepository; + + public SummaryService(PaymentRepository paymentRepository) { + this.paymentRepository = paymentRepository; + } + + public SummaryModel getSummary(OffsetDateTime from, OffsetDateTime to) { + SummaryModel summary = new SummaryModel(); + if (from == null) from = OffsetDateTime.MIN; + if (to == null) to = OffsetDateTime.MAX; + + List payments = paymentRepository.findAll(); + + for (PaymentModel p : payments) { + if(p.getData().isBefore(from) || p.getData().isAfter(to)) continue; + + if (p.getProcessor() == 1) { + summary.getProcessorDefault().addTotalRequests(1); + summary.getProcessorDefault().addTotalAmount(p.getAmount()); + } else if (p.getProcessor() == 2) { + summary.getProcessorFallback().addTotalRequests(1); + summary.getProcessorFallback().addTotalAmount(p.getAmount()); + } + } + + return summary; + } +} -- cgit v1.2.3