CONTROLLER
/**
* 探花
*
* @return
*/
@GetMapping(“cards”)
public ResponseEntity queryCardsList() {
try {
List list = this.tanHuaService.queryCardsList();
return ResponseEntity.ok(list);
} catch (Exception e) {
e.printStackTrace();
}
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
===========================================================
SERVICE
/**
*
* @return
*/
public List queryCardsList() {
User user = UserThreadLocal.get();
int count = 50;
//查询到的50条数据,并不是用来直接展现,需要从这50条数据中随机返回一些数据
List recommendUserList = this.recommendUserService.queryCardList(user.getId(), count);
if (CollUtil.isEmpty(recommendUserList)) {
recommendUserList = new ArrayList();
//默认推荐列表
List list = StrUtil.split(defaultRecommendUsers, ‘,’);
for (String userId : list) {
RecommendUser recommendUser = new RecommendUser();
recommendUser.setToUserId(user.getId());
recommendUser.setUserId(Convert.toLong(userId));
recommendUserList.add(recommendUser);
}
}
//计算展现的数量,默认展现10个
int showCount = Math.min(10, recommendUserList.size());
List result = new ArrayList();
for (int i = 0; i < showCount; i++) {
//TODO 可能重复
int index = RandomUtil.randomInt(0, recommendUserList.size());
RecommendUser recommendUser = recommendUserList.get(index);
result.add(recommendUser);
}
List userIdList = CollUtil.getFieldValues(result, “userId”);
List userInfoList = this.userInfoService.queryUserInfoByUserIdList(userIdList);
List todayBests = new ArrayList();
for (UserInfo userInfo : userInfoList) {
TodayBest todayBest = new TodayBest();
todayBest.setId(userInfo.getUserId());
todayBest.setAge(userInfo.getAge());
todayBest.setAvatar(userInfo.getLogo());
todayBest.setGender(userInfo.getSex().name().toLowerCase());
todayBest.setNickname(userInfo.getNickName());
todayBest.setTags(Convert.toStrArray(StrUtil.split(userInfo.getTags(), ‘,’)));
todayBest.setFateValue(0L);
todayBests.add(todayBest);
}
return todayBests;
}