mirror of https://github.com/bvn13/covid19-ru.git
try to fix bug
parent
5264c5c870
commit
5504a0b063
|
@ -32,13 +32,19 @@ import java.util.Optional;
|
|||
@Repository
|
||||
public interface CovidUpdatesRepository extends JpaRepository<CovidUpdate, Long> {
|
||||
|
||||
@Query("select new com.bvn13.covid19.site.dtos.CovidUpdateInfoDto(max(U.createdOn)) from CovidUpdate U")
|
||||
@Query("select new com.bvn13.covid19.site.dtos.CovidUpdateInfoDto(max(U.createdOn))" +
|
||||
" from CovidUpdate U")
|
||||
Optional<CovidUpdateInfoDto> findLastUpdate();
|
||||
|
||||
@Query("select U from CovidUpdate U where U.datetime >= :date1 and U.datetime < :date2")
|
||||
Optional<CovidUpdate> findByDateOfUpdate(@Param("date1") ZonedDateTime date1, @Param("date2") ZonedDateTime date2);
|
||||
@Query("select new com.bvn13.covid19.site.dtos.CovidUpdateInfoDto(max(U.createdOn))" +
|
||||
" from CovidUpdate U" +
|
||||
" where U.datetime >= :date1" +
|
||||
" and U.datetime < :date2")
|
||||
Optional<CovidUpdateInfoDto> findByDateOfUpdate(@Param("date1") ZonedDateTime date1, @Param("date2") ZonedDateTime date2);
|
||||
|
||||
@Query("select U from CovidUpdate U where U.id in (select max(U1.id) from CovidUpdate U1 group by U1.datetime)")
|
||||
@Query("select U" +
|
||||
" from CovidUpdate U" +
|
||||
" where U.id in (select max(U1.id) from CovidUpdate U1 group by U1.datetime)")
|
||||
Collection<CovidUpdate> findAllLastUpdatesPerDay();
|
||||
|
||||
Optional<CovidUpdate> findFirstByCreatedOn(LocalDateTime createdOn);
|
||||
|
|
|
@ -19,6 +19,7 @@ package com.bvn13.covid19.site.service;
|
|||
import com.bvn13.covid19.model.entities.CovidStat;
|
||||
import com.bvn13.covid19.model.entities.CovidUpdate;
|
||||
import com.bvn13.covid19.model.entities.Region;
|
||||
import com.bvn13.covid19.site.dtos.CovidUpdateInfoDto;
|
||||
import com.bvn13.covid19.site.repositories.CovidStatsRepository;
|
||||
import com.bvn13.covid19.site.repositories.CovidUpdatesRepository;
|
||||
import com.bvn13.covid19.site.repositories.RegionsRepository;
|
||||
|
@ -92,15 +93,12 @@ public class StatisticsPreparator {
|
|||
if (date.isBefore(projectStartZonedDate)) {
|
||||
return Optional.empty();
|
||||
} else {
|
||||
Optional<CovidUpdate> update = updatesRepository.findByDateOfUpdate(
|
||||
Optional<CovidUpdateInfoDto> update = updatesRepository.findByDateOfUpdate(
|
||||
dateWithTime(prevDate(date), 0, 0, 0),
|
||||
dateWithTime(date, 0, 0, 0)
|
||||
);
|
||||
if (update.isPresent()) {
|
||||
return update;
|
||||
} else {
|
||||
return findPrevUpdateByDate(prevDate(date));
|
||||
}
|
||||
return update.map(upd -> updatesRepository.findFirstByCreatedOn(update.get().getCreatedOn()))
|
||||
.orElse(findPrevUpdateByDate(prevDate(date)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue