Skip to content

Commit 569f8ad

Browse files
author
Ayzat Murtazin
committed
refactor: обновил запрос на получение списка популярных фильмов
1 parent 4e46ee6 commit 569f8ad

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

src/main/java/ru/yandex/practicum/filmorate/dao/impl/FilmDbStorage.java

+5-11
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@
1212
import ru.yandex.practicum.filmorate.dao.FilmStorage;
1313
import ru.yandex.practicum.filmorate.dto.FilmSearchDto;
1414
import ru.yandex.practicum.filmorate.exception.NotFoundException;
15-
import ru.yandex.practicum.filmorate.model.Director;
16-
import ru.yandex.practicum.filmorate.model.Film;
17-
import ru.yandex.practicum.filmorate.model.Genre;
18-
import ru.yandex.practicum.filmorate.model.Mpa;
19-
import ru.yandex.practicum.filmorate.model.SearchBy;
15+
import ru.yandex.practicum.filmorate.model.*;
2016

2117
import java.sql.Date;
2218
import java.sql.PreparedStatement;
@@ -200,13 +196,11 @@ public Collection<Film> searchFilms(FilmSearchDto search) {
200196
.append(search.getQuery())
201197
.append("%' ");
202198
}
203-
sql.append("GROUP BY f.id, m.rating_name, d.DIRECTOR_NAME ORDER BY COUNT(fl.USER_ID) DESC");
204-
199+
sql.append("GROUP BY f.id ORDER BY COUNT(fl.USER_ID) DESC");
205200
Collection<Film> films = jdbcTemplate.query(sql.toString(), this::mapToFilm);
206-
LinkedHashSet<Film> unique = new LinkedHashSet<>(films);
207-
setDirectorsForFilms(unique);
208-
setGenresForFilms(unique);
209-
return unique;
201+
setDirectorsForFilms(films);
202+
setGenresForFilms(films);
203+
return films;
210204
}
211205

212206
private List<Film> setGenresForFilms(Collection<Film> films) {

src/test/java/ru/yandex/practicum/filmorate/storage/FilmDbStorageTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,7 @@ void testSearchFilmByDirector() {
375375
assertThat(films)
376376
.isNotNull()
377377
.isNotEmpty()
378+
.usingRecursiveComparison()
378379
.isEqualTo(List.of(newFilm));
379380
}
380381

@@ -391,7 +392,7 @@ void testSearchFilmByPartialTitle() {
391392
assertThat(films)
392393
.isNotNull()
393394
.isNotEmpty()
394-
.isEqualTo(List.of(updatedFilm));
395+
.isEqualTo(List.of(newFilm));
395396
}
396397

397398
@Test

0 commit comments

Comments
 (0)