diff --git a/src/main/java/ru/soune/nocopy/repository/TariffInfoRepository.java b/src/main/java/ru/soune/nocopy/repository/TariffInfoRepository.java index a03da52..2be839d 100644 --- a/src/main/java/ru/soune/nocopy/repository/TariffInfoRepository.java +++ b/src/main/java/ru/soune/nocopy/repository/TariffInfoRepository.java @@ -5,6 +5,7 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import ru.soune.nocopy.entity.tarif.TariffInfo; +import ru.soune.nocopy.entity.tarif.TariffTimeTerm; import java.time.LocalDateTime; import java.util.List; @@ -57,7 +58,7 @@ public interface TariffInfoRepository extends JpaRepository WHERE ti.endTariff >= CURRENT_TIMESTAMP AND (:term IS NULL OR ti.tariff.tariffTerm = :term) """) - Long getCurrentActiveSubscriptions(@Param("term") String term); + Long getCurrentActiveSubscriptions(@Param("term") TariffTimeTerm term); @Query(""" SELECT ti @@ -65,5 +66,5 @@ public interface TariffInfoRepository extends JpaRepository WHERE (:term IS NULL OR ti.tariff.tariffTerm = :term) ORDER BY ti.startTariff """) - List getAllTariffInfosForAnalysis(@Param("term") String term); + List getAllTariffInfosForAnalysis(@Param("term") TariffTimeTerm term); } diff --git a/src/main/java/ru/soune/nocopy/service/statistic/SubscriberStatisticService.java b/src/main/java/ru/soune/nocopy/service/statistic/SubscriberStatisticService.java index 86c6622..40d94ab 100644 --- a/src/main/java/ru/soune/nocopy/service/statistic/SubscriberStatisticService.java +++ b/src/main/java/ru/soune/nocopy/service/statistic/SubscriberStatisticService.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import ru.soune.nocopy.dto.statistic.SubscriberStatisticResponse; import ru.soune.nocopy.entity.tarif.TariffInfo; +import ru.soune.nocopy.entity.tarif.TariffTimeTerm; import ru.soune.nocopy.entity.user.User; import ru.soune.nocopy.repository.TariffInfoRepository; import ru.soune.nocopy.repository.UserRepository; @@ -15,22 +16,18 @@ import java.util.*; @RequiredArgsConstructor @Slf4j public class SubscriberStatisticService { + private final TariffInfoRepository tariffInfoRepository; - private final UserRepository userRepository; - private static final String TERM_MONTHLY = "MONTHLY"; - - private static final String TERM_YEARLY = "YEAR"; - public SubscriberStatisticResponse getSubscriberStatistics() { return SubscriberStatisticResponse.builder() - .monthly(buildPeriodStatistics(TERM_MONTHLY)) - .yearly(buildPeriodStatistics(TERM_YEARLY)) + .monthly(buildPeriodStatistics(TariffTimeTerm.MONTHLY)) + .yearly(buildPeriodStatistics(TariffTimeTerm.YEAR)) .build(); } - private SubscriberStatisticResponse.PeriodStatistics buildPeriodStatistics(String term) { + private SubscriberStatisticResponse.PeriodStatistics buildPeriodStatistics(TariffTimeTerm term) { Long currentActive = tariffInfoRepository.getCurrentActiveSubscriptions(term); List allTariffs = tariffInfoRepository.getAllTariffInfosForAnalysis(term);