def game_popular_users(gid): """获取游戏热门用户 (GET) :uri: /games/<string:gid>/popularusers :param page: 页码 :param nbr: 每页数量 :returns: {'users': list, 'end_page': bool} """ params = request.values page = int(params.get('page', 1)) pagesize = int(params.get('nbr', 10)) uids = Game.popular_user_ids(gid, page, pagesize) users = [u.format() for u in User.get_list(uids)] return {'users': users, 'end_page': len(uids) != pagesize}
def recommend_users(): """获取推荐关注 (GET&LOGIN) :uri: /recommend/users :returns: {'users': list} """ user = request.authed_user uids = [] gids = UserSubGame.sub_game_ids(str(user._id)) for gid in gids: uids.extend(Game.popular_user_ids(gid)) if not uids: uids = User.user_recommend_attention() uids = list(set(uids)) if str(user._id) in uids: uids.remove(str(user._id)) if len(uids) > const.RECOMMEND_ATTENTION: uids = random.sample(uids, const.RECOMMEND_ATTENTION) users = [u.format() for u in User.get_list(uids)] return {'users': users}