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
/**
* 查詢推薦卡片列表,從推薦列表中隨機(jī)選取10個(gè)用戶
*
* @return
*/
public List queryCardsList() {
User user = UserThreadLocal.get();
int count = 50;
//查詢到的50條數(shù)據(jù),并不是用來直接展現(xiàn),需要從這50條數(shù)據(jù)中隨機(jī)返回一些數(shù)據(jù)
List recommendUserList = this.recommendUserService.queryCardList(user.getId(), count);
if (CollUtil.isEmpty(recommendUserList)) {
recommendUserList = new ArrayList();
//默認(rèn)推薦列表
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);
}
}
//計(jì)算展現(xiàn)的數(shù)量,默認(rèn)展現(xiàn)10個(gè)
int showCount = Math.min(10, recommendUserList.size());
List result = new ArrayList();
for (int i = 0; i < showCount; i++) {
//TODO 可能重復(fù)
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;
}