API
/**
* 查询列表,查询时需要排除不喜欢列表用户
*
* @param userId
* @param count
* @return
*/
List
==========================================================
API IMPL
@Override
public List
//设置分页以及排序,按照得分倒序排序
PageRequest pageRequest = PageRequest.of(0, count, Sort.by(Sort.Order.desc("score")));
//排除已喜欢或不喜欢的用户
List
//查询喜欢列表
userIds.addAll(this.userLikeApi.queryLikeList(userId));
//查询不喜欢列表
userIds.addAll(this.userLikeApi.queryNotLikeList(userId));
//构造查询条件
Criteria criteria = Criteria.where("toUserId").is(userId);
if(CollUtil.isNotEmpty(userIds)){
//加入到查询条件中,排除这些用户
criteria.andOperator(Criteria.where("userId").nin(userIds));
}
Query query = Query.query(criteria).with(pageRequest);
List
return recommendUserList;
}
==================================================
Test
@Test
public void testQueryCardList(){
this.recommendUserApi.queryCardList(2L, 20)
.forEach(recommendUser -> System.out.println(recommendUser));
}
| 留言与评论(共有 0 条评论) “” |