diff --git a/src/main/java/ru/soune/nocopy/entity/tarif/TariffTimeTerm.java b/src/main/java/ru/soune/nocopy/entity/tarif/TariffTimeTerm.java index b3a9441..5754e56 100644 --- a/src/main/java/ru/soune/nocopy/entity/tarif/TariffTimeTerm.java +++ b/src/main/java/ru/soune/nocopy/entity/tarif/TariffTimeTerm.java @@ -2,14 +2,21 @@ package ru.soune.nocopy.entity.tarif; import lombok.Getter; +import java.util.List; + @Getter public enum TariffTimeTerm { - MONTHLY(30),YEAR(365); + MONTHLY(30, "MONTHLY"),YEAR(365, "YEAR"); private final Integer days; + private final String name; - TariffTimeTerm(Integer days) { + TariffTimeTerm(Integer days, String name) { this.days = days; + this.name = name; } + public static List validTerms() { + return List.of(MONTHLY.name(), YEAR.name()); + } } diff --git a/src/main/java/ru/soune/nocopy/handler/TariffHandler.java b/src/main/java/ru/soune/nocopy/handler/TariffHandler.java index 036bc2a..af98a80 100644 --- a/src/main/java/ru/soune/nocopy/handler/TariffHandler.java +++ b/src/main/java/ru/soune/nocopy/handler/TariffHandler.java @@ -123,6 +123,16 @@ public class TariffHandler implements RequestHandler { private BaseResponse handleGetTariffs(BaseRequest request, TariffRequest tariffRequest) { AuthToken authToken = authTokenRepository.findByToken(tariffRequest.getUserToken()).orElseThrow(); User user = authToken.getUser(); + + if (tariffRequest.getTariffTerm() == null || !TariffTimeTerm.validTerms().contains( + tariffRequest.getTariffTerm())) { + return new BaseResponse( + request.getMsgId(), + MessageCode.SUCCESS.getCode(), + "Not valid tariff_term", + Map.of("Valid term", TariffTimeTerm.validTerms())); + } + List allTariffs = tariffService.getTariffByAccountTypeAndTariffTerm(user, TariffTimeTerm.valueOf(tariffRequest.getTariffTerm().toUpperCase()));