From a007540140c9485e16f8f9f1a2272a46dfd968f6 Mon Sep 17 00:00:00 2001 From: Kmincho Date: Sun, 2 Feb 2025 22:02:11 +0900 Subject: [PATCH] Fix/Recommend --- watchapedia/app/recommend/service.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/watchapedia/app/recommend/service.py b/watchapedia/app/recommend/service.py index de3d160..5042782 100644 --- a/watchapedia/app/recommend/service.py +++ b/watchapedia/app/recommend/service.py @@ -62,9 +62,12 @@ def pcc(self, user_id: int, user_dict, user_average: int, opp_id: int) -> int: def get_expected_rating(self, user_id: int): user_list = self.user_service.search_user_list("") user_id_list = [user.id for user in user_list] - user_id_list = user_id_list[0:20] + user_id_list = user_id_list[0:18] + movie_list = self.movie_service.search_movie_list("") - movie_list = movie_list[0:20] + movie_list.sort(key = lambda movie : movie.reviews_count, reverse=True) + movie_list = movie_list[0:18] + user_average = self.user_average_rating(user_id) user_review_list = self.review_service.user_reviews(user_id, None, None) @@ -80,11 +83,17 @@ def get_expected_rating(self, user_id: int): pcc_dict[opp_id] = self.pcc(user_id, user_dict, user_average, opp_id) expected_dict = {} + expect_num = 0 for movie in movie_list : + if expect_num >= 8 : + break + if movie.average_rating is None : continue + expect_num += 1 + if user_average <= 0 : expected_dict[movie.id] = movie.average_rating continue @@ -148,4 +157,3 @@ def _process_recommend_response(self, movie: Movie, expected_rating: float) -> R expected_rating = expected_rating, poster_url = movie.poster_url ) -