46 lines
1.8 KiB
Java
46 lines
1.8 KiB
Java
package de.ph87.home.varying;
|
|
|
|
import de.ph87.home.point.PointRequest;
|
|
import de.ph87.home.series.SeriesDto;
|
|
import de.ph87.home.varying.day.VaryingDayRepository;
|
|
import de.ph87.home.varying.five.VaryingFiveRepository;
|
|
import de.ph87.home.varying.hour.VaryingHourRepository;
|
|
import de.ph87.home.varying.month.VaryingMonthRepository;
|
|
import lombok.NonNull;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
|
|
@Slf4j
|
|
@Service
|
|
@RequiredArgsConstructor
|
|
public class VaryingValueService {
|
|
|
|
private final VaryingFiveRepository varyingFiveRepository;
|
|
|
|
private final VaryingHourRepository varyingHourRepository;
|
|
|
|
private final VaryingDayRepository varyingDayRepository;
|
|
|
|
private final de.ph87.home.varying.week.VaryingWeekRepository varyingWeekRepository;
|
|
|
|
private final VaryingMonthRepository varyingMonthRepository;
|
|
|
|
private final de.ph87.home.varying.year.VaryingYearRepository varyingYearRepository;
|
|
|
|
@NonNull
|
|
public List<VaryingPoint> points(@NonNull final SeriesDto series, @NonNull final PointRequest request) {
|
|
return switch (request.getInner()) {
|
|
case FIVE -> varyingFiveRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
|
|
case HOUR -> varyingHourRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
|
|
case DAY -> varyingDayRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
|
|
case WEEK -> varyingWeekRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
|
|
case MONTH -> varyingMonthRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
|
|
case YEAR -> varyingYearRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
|
|
};
|
|
}
|
|
|
|
}
|