左右滑 功能 页面推存 APP端 controller service

发布一下 0 0



CONTROLLER



/**

* 探花

*

* @return

*/

@GetMapping("cards")

public ResponseEntity<List<TodayBest>> queryCardsList() {

try {

List<TodayBest> list = this.tanHuaService.queryCardsList();

return ResponseEntity.ok(list);

} catch (Exception e) {

e.printStackTrace();

}

return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();

}





===========================================================





SERVICE




/**

* 查询推荐卡片列表,从推荐列表中随机选取10个用户

*

* @return

*/

public List<TodayBest> queryCardsList() {

User user = UserThreadLocal.get();

int count = 50;

//查询到的50条数据,并不是用来直接展现,需要从这50条数据中随机返回一些数据

List<RecommendUser> recommendUserList = this.recommendUserService.queryCardList(user.getId(), count);

if (CollUtil.isEmpty(recommendUserList)) {

recommendUserList = new ArrayList<>();

//默认推荐列表

List<String> 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<RecommendUser> 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<Object> userIdList = CollUtil.getFieldValues(result, "userId");

List<UserInfo> userInfoList = this.userInfoService.queryUserInfoByUserIdList(userIdList);

List<TodayBest> 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;

}

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/117332.html