Exemple #1
0
    def format_home_users(user_list=list()):
        """
        格式化首页的用户
        """
        result = []

        if not user_list:
            return result

        image_list = ImageModel.query_image_by_image_id_list(
            array_column(user_list, "image_id"))
        image_list = array_column_key(image_list, "user_id")

        for user in user_list:

            item = dict()

            # 用户信息
            user_info = UserInfoModel.query_user_model_by_id(user.user_id)
            item["user_info"] = UserInfoModel.format_user_info(user_info)

            image_model = image_list.get(user.user_id, None)
            item["cover"] = ImageModel.generate_image_url(
                image_model, "c") if image_model else ""
            item["last_id"] = 0
            item["offset"] = 0
            item["relation_type"] = 0

            result.append(item)

        return result
Exemple #2
0
    def format_private_video_list(video_list, user_id, login_user_id):
        """
        格式化私密视频列表
        :param video_list: 原始私密视频模型
        :param user_id: 私密视频所属用户id
        :param login_user_id: 登录用户id
        :return: 格式化后的私密视频列表
        """
        image_model_list = ImageModel.query_image_by_image_id_list(
            array_column(video_list, "cover_id"))
        image_model_dict = array_column_key(image_model_list, "image_id")

        video_id_list = array_column(video_list, "video_id")
        video_meta_list = VideoMetaModel.query_video_meta_list(video_id_list)
        video_meta_dict = array_column_key(video_meta_list, "video_id")

        video_pay_dict = dict()
        if user_id != login_user_id:
            video_pay_list = OrderVideoModel.query_order_video_list(
                login_user_id, video_id_list)
            video_pay_dict = array_column_key(video_pay_list, "video_id")

        result = []

        for video_model in video_list:

            image_model = image_model_dict.get(video_model.cover_id, None)
            video_meta_model = video_meta_dict.get(video_model.video_id, None)

            if user_id == login_user_id:
                video_pay = 1
            else:
                order_video = video_pay_dict.get(video_model.video_id, None)
                video_pay = 1 if order_video else 0

            item = VideoModel.format_private_video_model(
                video_model, image_model, video_meta_model, video_pay)
            if item:
                result.append(item)

        return result