|
|
@@ -21,13 +21,16 @@ public class RcmdTask implements Runnable {
|
|
|
private final RedisSet redisSet;
|
|
|
private final UserInterestBased userInterestBased;
|
|
|
private final VideoPostQuery videoPostQuery;
|
|
|
+ private List<Integer> userScopes;
|
|
|
|
|
|
public RcmdTask(long loginUser, VideoPostQuery videoPostQuery,
|
|
|
- UserInterestBased userInterestBased, RedisSet redisSet) {
|
|
|
+ UserInterestBased userInterestBased, RedisSet redisSet,
|
|
|
+ List<Integer> userScopes) {
|
|
|
this.loginUser = loginUser;
|
|
|
this.videoPostQuery = videoPostQuery;
|
|
|
this.userInterestBased = userInterestBased;
|
|
|
this.redisSet = redisSet;
|
|
|
+ this.userScopes = userScopes;
|
|
|
}
|
|
|
|
|
|
public void run() {
|
|
|
@@ -41,7 +44,7 @@ public class RcmdTask implements Runnable {
|
|
|
String itemsKey = RedisKeys.getUserItemKey(loginUser);
|
|
|
Set<String> set = userInterestBased.getUserInterestItems(loginUser);
|
|
|
List<String> videoIds1 = new ArrayList<>(set);
|
|
|
- List<String> videoIds = videoPostQuery.getRandomVideoIds(120);
|
|
|
+ List<String> videoIds = videoPostQuery.getRandomVideoIds(userScopes, 60);
|
|
|
if (!videoIds.isEmpty()) {
|
|
|
List<VideoCard> videoCards = videoPostQuery.getVideoCards(videoIds);
|
|
|
VideoCard[] arr = videoCards.toArray(new VideoCard[0]);
|