Skip to content

Commit 2098297

Browse files
committed
adding update movie service in progress
1 parent 4c549d3 commit 2098297

File tree

4 files changed

+106
-2
lines changed

4 files changed

+106
-2
lines changed

notes - newLearnings

+2
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ the @OrderBy annotation in JPA can only be applied to collection-based relations
2020
```
2121

2222
the Query in the formula returns a number or null if not used COALESCE, in case it returns null, then int cannot handle it even if it has default set to 0
23+
24+
When you have data that spans a wide range, such as counts ranging from under 10 to over 1000, it can lead to visualization issues with bar and pie charts, as large numbers overshadow smaller ones. One solution to handle this effectively is to use a Logarithmic Scale for your axis.

src/main/java/servie/track_servie/repository/ServieRepository.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package servie.track_servie.repository;
22

3+
import java.time.LocalDateTime;
34
import java.util.List;
45
import java.util.Optional;
56
import org.springframework.data.domain.Page;
@@ -10,9 +11,9 @@
1011
import org.springframework.stereotype.Repository;
1112
import servie.track_servie.entity.Servie;
1213
import servie.track_servie.entity.User;
14+
import servie.track_servie.enums.ServieType;
1315
import servie.track_servie.payload.dtos.ServiePageDtos.ServieDto;
1416
import servie.track_servie.payload.dtos.operationsHomePageDtos.ServieDtoHomePage;
15-
import servie.track_servie.payload.dtos.operationsHomePageDtos.ServieDtoHomePage2;
1617
import servie.track_servie.payload.primaryKeys.ServieKey;
1718

1819
@Repository
@@ -169,4 +170,6 @@ public interface ServieRepository extends JpaRepository<Servie, ServieKey>
169170
+" LEFT JOIN s.images i"
170171
+" WHERE i.id IS NULL")
171172
List<Servie> getLeftServiesForImages();
173+
174+
List<Servie> findByLastModifiedBeforeAndChildtype(LocalDateTime minusDays, ServieType movie);
172175
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
package servie.track_servie.service;
2+
3+
import java.time.LocalDateTime;
4+
import java.time.ZoneOffset;
5+
import java.util.List;
6+
import java.util.Set;
7+
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.beans.factory.annotation.Value;
9+
import org.springframework.http.HttpEntity;
10+
import org.springframework.http.HttpHeaders;
11+
import org.springframework.scheduling.annotation.Scheduled;
12+
import org.springframework.stereotype.Service;
13+
import org.springframework.util.MultiValueMap;
14+
import org.springframework.web.client.RestTemplate;
15+
import jakarta.transaction.Transactional;
16+
import lombok.extern.slf4j.Slf4j;
17+
import servie.track_servie.entity.Series;
18+
import servie.track_servie.entity.Servie;
19+
import servie.track_servie.entity.credits.EpisodeCast;
20+
import servie.track_servie.entity.credits.EpisodeCrew;
21+
import servie.track_servie.entity.credits.SeasonCast;
22+
import servie.track_servie.enums.ServieType;
23+
import servie.track_servie.repository.AuditsRepository;
24+
import servie.track_servie.repository.CustomRepository;
25+
import servie.track_servie.repository.EpisodeRepository;
26+
import servie.track_servie.repository.GenreRepository;
27+
import servie.track_servie.repository.MovieCollectionRepository;
28+
import servie.track_servie.repository.MovieRepository;
29+
import servie.track_servie.repository.SeriesRepository;
30+
import servie.track_servie.repository.ServieRepository;
31+
import servie.track_servie.repository.UserEpisodeDataRepository;
32+
import servie.track_servie.repository.UserRepository;
33+
import servie.track_servie.repository.UserSeasonDataRepository;
34+
import servie.track_servie.repository.UserServieDataRepository;
35+
import servie.track_servie.utils.GenreUtils;
36+
37+
@Service
38+
@Slf4j
39+
public class MovieService
40+
{
41+
@Autowired
42+
private ServieRepository servieRepository;
43+
@Autowired
44+
private CustomRepository csri;
45+
@Autowired
46+
private GenreRepository genreRepository;
47+
@Autowired
48+
private RestTemplate restTemplate;
49+
@Autowired
50+
private MovieRepository movieRepository;
51+
@Autowired
52+
private MovieCollectionRepository movieCollectionRepository;
53+
@Autowired
54+
private UserServieDataRepository userServieDataRepository;
55+
@Autowired
56+
private UserSeasonDataRepository userSeasonDataRepository;
57+
@Autowired
58+
private UserRepository userRepository;
59+
@Autowired
60+
private SeriesRepository seriesRepository;
61+
@Autowired
62+
private AuditsRepository auditsRepository;
63+
@Autowired
64+
private EpisodeRepository episodeRepository;
65+
@Autowired
66+
private UserEpisodeDataRepository userEpisodeDataRepository;
67+
@Autowired
68+
private GenreUtils genreUtils;
69+
@Value("${tmdb.api.key}")
70+
private String apiKey;
71+
@Value("${home-page.page.size}")
72+
private int pageSize;
73+
private HttpHeaders headers = new HttpHeaders();
74+
private HttpEntity<?> httpEntity = new HttpEntity<>(headers, (MultiValueMap<String, String>) null);
75+
private Set<EpisodeCast> allEpGuestStars = null;
76+
private Set<EpisodeCrew> allEpCrews = null;
77+
private Set<SeasonCast> allSeasonCasts = null;
78+
79+
// @Scheduled(fixedRate = Integer.MAX_VALUE)
80+
// @Scheduled(cron = "0 0 6 * * ?") // Runs every morning at 6 AM
81+
@Transactional
82+
public void updateNonAiringSeries()
83+
{
84+
List<Servie> servies = servieRepository.findByLastModifiedBeforeAndChildtype(LocalDateTime.now(ZoneOffset.UTC).minusDays(5), ServieType.MOVIE);
85+
log.info("Updating {} servies which are not updated within last 5 days", servies.size());
86+
for(Servie servie : servies)
87+
if(servie.getTmdbId()==912649)
88+
updateMovie(servie.getTmdbId());
89+
log.info("Finished Updating {} servies which are not updated within last 5 days", servies.size());
90+
}
91+
92+
private void updateMovie(Integer tmdbId)
93+
{
94+
// TODO Auto-generated method stub
95+
throw new UnsupportedOperationException("Unimplemented method 'updateMovie'");
96+
}
97+
}

src/main/java/servie/track_servie/service/ServieService.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,8 @@ private Movie addMovie(Integer tmdbId)
186186
auditsRepository.save(audits);
187187
return null;
188188
}
189+
// private Series fetchMovieFromTmdb(Integer tmdbId) {
190+
// }
189191

190192
private void addMovieCollection(Integer collectionId)
191193
{
@@ -776,7 +778,7 @@ private Series addSeries(Integer tmdbId)
776778

777779
private Series fetchSeriesFromTmdb(Integer tmdbId)
778780
{
779-
log.info("Fetching series {}", tmdbId);
781+
log.info("Fetching Series {}", tmdbId);
780782
Series series = new Series();
781783
// DTO can be created just to extract the necessary parts
782784
HttpMethod httpMethod = Objects.requireNonNull(HttpMethod.GET);

0 commit comments

Comments
 (0)