Esempio n. 1
0
def queryPointByUserId(request):
    json_req = json.loads(request.body)
    user_id = json_req['user_id']
    login_user_id = get_userid(json_req['token'])  # 当前登录用户的user_id
    article_count = Record.objects.filter(user_id=user_id,
                                          flag=1).count()  # 用户点赞过的文章数量
    page = json_req['page']
    # 分页查询文章信息
    page_info = PageInfo(page, 10)
    records = list(
        Record.objects.filter(user_id=user_id, flag=1).values(
            'article_id', 'create_time').order_by("-create_time")
        [page_info.start():page_info.end()])
    json_list = []
    for record in records:
        json_dict = {
            "point_create_time":
            record['create_time'].strftime("%Y-%m-%d %H:%M:%S"),  # 点赞时间
            "article":
            queryArticleByArticleId(record['article_id']),
            "point_flag":
            queryPoint(login_user_id, record['article_id']),
            "collect_flag":
            queryCollect(login_user_id, record['article_id']),
            "photo":
            queryPhotoInfo(record['article_id']),
            "comment_count":
            getArticleCommentCount(record['article_id']),
        }
        json_list.append(json_dict)
    result = {'code': 200, 'article_count': article_count, 'data': json_list}
    return HttpResponse(json.dumps(result, ensure_ascii=False),
                        content_type="application/json")
Esempio n. 2
0
def queryReply(request):
    json_req = json.loads(request.body)
    comment_id = json_req['comment_id']
    page = json_req['page']
    try:
        #分页查询,每页5条
        page_info = PageInfo(page,5)
        replyList = Reply.objects.filter(comment_id=comment_id,is_delete=1).order_by('-create_time')[page_info.start():page_info.end()]

        # 单独返回from_user的全部id,进行批量操作
        from_user_ids = list(replyList.values_list("from_user_id", flat=True))
        from_user = queryUserInfo(from_user_ids)

        # 单独返回to_user的全部id,进行批量操作
        to_user_ids = list(replyList.values_list("to_user_id", flat=True))
        to_user = queryUserInfo(to_user_ids)
        i=0
        json_list = []
        for reply in replyList:
            json_dict = {"rely_id": reply.reply_id,
                         "reply_content": reply.reply_content,
                         "create_time": reply.create_time.strftime('%Y-%m-%d %H:%M:%S'),
                         "from_user": from_user[i],
                         "to_user": to_user[i]
                         }
            i=i+1
            json_list.append(json_dict)
        result = {'code': 200, 'reply': json_list}
        return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json")
    except:
        return HttpResponse(json.dumps({'code': 405, 'information': '执行异常'}), content_type="application/json")
Esempio n. 3
0
def queryArticleByTypeId(request):
    try:
        json_req = json.loads(request.body)
        type_id = json_req['type_id']
        user_id = get_userid(json_req['token'])
        order = check_order(json_req['order_type'])  # 排序类型默认按时间,0 按时间,1 按阅读数,2 按点赞数
        page = json_req['page']
        # 分页查询文章信息
        page_info = PageInfo(page, 10)
        article_count = Article.objects.filter(type_id=type_id, flag=1).count()
        articles = Article.objects.filter(type_id=type_id, flag=1).order_by(order)[page_info.start():page_info.end()]
        json_list = []
        for article in articles:
            json_dict = {"article_id": article.article_id,
                         "title": article.title,
                         "simple_content": article.simple_content,
                         "page_view": query_page_view(article.article_id),
                         "create_time": article.create_time.strftime('%Y-%m-%d %H:%M:%S'),
                         "point_count": query_point_count(article.article_id),
                         "user": queryUserInfo(article.user_id.user_id),
                         "point_flag": queryPoint(user_id, article.article_id),
                         "photo": queryPhotoInfo(article.article_id),
                         "comment_count": getArticleCommentCount(article.article_id),
                         "level_name": getLevelName(getUserWriteCount(article.user_id.user_id), queryPointByUserId(article.user_id.user_id))  # 作者获得的称号
                         }
            json_list.append(json_dict)
        result = {'code': 200, 'article_count': article_count, 'article': json_list}
        return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json")
    except:
        return HttpResponse(json.dumps({'code': 405, 'information': '执行异常!'}, ensure_ascii=False), content_type="application/json")
Esempio n. 4
0
def queryMessageBoardByUserId(request):
    try:
        json_req = json.loads(request.body)
        user_id = json_req['user_id']
        page = json_req['page']
        # 分页查询文章信息
        page_info = PageInfo(page, 9)
        board_count = Board.objects.filter(user_id=user_id, flag=1).count()
        boards = Board.objects.filter(
            user_id=user_id,
            flag=1).order_by("-create_time")[page_info.start():page_info.end()]
        json_list = []
        for board in boards:
            json_dict = {
                "board_url": toBoardUrl(),
                "board_id": board.board_id,
                "content": board.content,
                "create_time": board.create_time.strftime("%Y-%m-%d %H:%M:%S"),
            }
            json_list.append(json_dict)
        result = {'code': 200, 'board_count': board_count, 'board': json_list}
        return HttpResponse(json.dumps(result, ensure_ascii=False),
                            content_type="application/json")
    except:
        return HttpResponse(json.dumps({
            'code': 405,
            'information': '执行异常!'
        }),
                            content_type="application/json")
Esempio n. 5
0
def query_reply_info(comment_id, page):
    try:
        page_info = PageInfo(page, 10)
        replyList = Reply.objects.filter(
            comment_id=comment_id, is_delete=1).order_by(
                '-create_time')[page_info.start():page_info.end()]
        return replyList
    except:
        print("分页查询回复失败")
Esempio n. 6
0
def queryArticleByMyself(request):
    json_req = json.loads(request.body)
    user_id = json_req['user_id']
    page = json_req['page']
    try:
        # 分页查询文章信息
        page_info = PageInfo(page, 5)
        articles = Article.objects.filter(
            user_id=user_id, flag=1)[page_info.start():page_info.end()]

        #单独返回article的全部ID,进行批量操作
        article_ids = list(articles.values_list("article_id", flat=True))
        print(article_ids)
        point_count = queryPointCount(article_ids)  # 获取文章点赞数量
        photo = queryPhotoInfo(article_ids)  # 获取文章图片信息
        comment = queryComentCount(article_ids)  # 获取文章评论的数目
        i = 0
        json_list = []
        for article in articles:
            page_view = queryPageView(article.article_id)  #在redis查询浏览量
            type_name = queryTypeName(article.type_id)  #在redis查询文章类型
            json_dict = {
                "article_id": article.article_id,
                "title": article.title,
                "simple_content": article.simple_content,
                "page_view": page_view,
                "create_time":
                article.create_time.strftime('%Y-%m-%d %H:%M:%S'),
                "type_name": type_name,
                "type_id": article.type_id,
                "point": point_count[i],
                "photo": photo[i],
                "comment": comment[i]
            }
            i = i + 1
            json_list.append(json_dict)
            print(json_dict)
        result = {
            'code': 200,
            'article_count': len(json_list),
            'article': json_list
        }
        return HttpResponse(json.dumps(result, ensure_ascii=False),
                            content_type="application/json")
    except:
        return HttpResponse(json.dumps({
            'code': 405,
            'information': '执行异常'
        }),
                            content_type="application/json")
Esempio n. 7
0
def queryArticleByMyself(request):
    try:
        json_req = json.loads(request.body)
        user_id = json_req['user_id']
        login_user_id = get_userid(json_req['token'])  # 当前登录用户的user_id
        page = json_req['page']
        # 分页查询文章信息
        page_info = PageInfo(page, 10)
        article_count = Article.objects.filter(user_id=user_id, flag=1).count()
        articles = Article.objects.filter(
            user_id=user_id,
            flag=1).order_by("-create_time")[page_info.start():page_info.end()]
        json_list = []
        for article in articles:
            json_dict = {
                "article_id": article.article_id,
                "title": article.title,
                "simple_content": article.simple_content,
                "page_view": query_page_view(article.article_id),
                "create_time":
                article.create_time.strftime("%Y-%m-%d %H:%M:%S"),
                "point_count": article.point_count,
                "type_id": article.type_id,
                "type_name": getTypeName(article.type_id),
                "point_flag": queryPoint(login_user_id, article.article_id),
                "collect_flag": queryCollect(login_user_id,
                                             article.article_id),
                "user": queryUserInfo(article.user_id.user_id),
                "photo": queryPhotoInfo(article.article_id),
                "comment_count": getArticleCommentCount(article.article_id),
            }
            json_list.append(json_dict)
        result = {
            'code': 200,
            'article_count': article_count,
            'article': json_list
        }
        return HttpResponse(json.dumps(result, ensure_ascii=False),
                            content_type="application/json")
    except:
        return HttpResponse(json.dumps({
            'code': 405,
            'information': '执行异常!'
        }),
                            content_type="application/json")
Esempio n. 8
0
def queryComment(request):
    json_req = json.loads(request.body)
    article_id = json_req['article_id']
    page = json_req['page']
    try:
        # 分页查询评论信息
        page_info = PageInfo(page, 10)
        comment_count = Comment.objects.filter(article_id=article_id,
                                               is_delete=1).count()  # 有效评论的总数量
        commentList = Comment.objects.filter(
            article_id=article_id, is_delete=1).order_by(
                '-comment_id')[page_info.start():page_info.end()]
        # 单独返回user_id,进行批量查询用户信息操作 (values_list:返回一个可迭代的元祖序列)
        user_ids = list(commentList.values_list("user_id", flat=True))
        user = query_users_info(user_ids)
        i = 0
        json_list = []
        for comment in commentList:
            json_dict = {
                "comment_id": comment.comment_id,
                "comment_content": comment.comment_content,
                "create_time":
                comment.create_time.strftime('%Y-%m-%d %H:%M:%S'),
                "user_id": user[i]['user_id'],
                "user_name": user[i]['user_name'],
                "user_url": user[i]['user_url']
            }
            i = i + 1
            json_list.append(json_dict)
        result = {
            'code': 200,
            'comment_count': comment_count,
            'comment': json_list
        }
        return HttpResponse(json.dumps(result, ensure_ascii=False),
                            content_type="application/json")
    except:
        return HttpResponse(json.dumps({
            'code': 405,
            'information': '执行异常'
        },
                                       ensure_ascii=False),
                            content_type="application/json")
Esempio n. 9
0
def queryDraftBox(request):
    try:
        json_req = json.loads(request.body)
        user_id = get_userid(json_req['token'])
        page = json_req['page']
        # 分页查询文章信息
        page_info = PageInfo(page, 10)
        article_count = Article.objects.filter(user_id=user_id, flag=0).count()
        articles = Article.objects.filter(
            user_id=user_id,
            flag=0).order_by("-create_time")[page_info.start():page_info.end()]
        json_list = []
        for article in articles:
            json_dict = {
                "article_id": article.article_id,
                "title": article.title,
                "simple_content": article.simple_content,
                "page_view": article.page_view,
                "create_time":
                article.create_time.strftime('%Y-%m-%d %H:%M:%S'),
                "type_id": article.type_id,
                "type_name": getTypeName(article.type_id),
                "photo": queryPhotoInfo(article.article_id)
            }
            json_list.append(json_dict)
        result = {
            'code': 200,
            'article_count': article_count,
            'article': json_list
        }
        return HttpResponse(json.dumps(result, ensure_ascii=False),
                            content_type="application/json")
    except:
        return HttpResponse(json.dumps({
            'code': 405,
            'information': '执行异常!'
        }),
                            content_type="application/json")
Esempio n. 10
0
def queryCollectionByUserId(request):
    try:
        json_req = json.loads(request.body)
        login_user_id = get_userid(json_req['token'])
        article_count = Collection.objects.filter(
            user_id=login_user_id, flag=1).count()  # 获取该用户已收藏文章的数量
        page = json_req['page']
        # 分页查询文章信息
        page_info = PageInfo(page, 10)
        collects = list(
            Collection.objects.filter(
                user_id=login_user_id, flag=1).values('article_id').order_by(
                    "-create_time")[page_info.start():page_info.end()])
        json_list = []
        for collect in collects:
            json_dict = {
                "article": queryArticleByArticleId(collect['article_id']),
                "point_flag": queryPoint(login_user_id, collect['article_id']),
                "collect_flag": queryCollect(login_user_id,
                                             collect['article_id']),
                "photo": queryPhotoInfo(collect['article_id']),
                "comment_count": getArticleCommentCount(collect['article_id']),
            }
            json_list.append(json_dict)
        result = {
            'code': 200,
            'article_count': article_count,
            'data': json_list
        }
        return HttpResponse(json.dumps(result, ensure_ascii=False),
                            content_type="application/json")
    except:
        return HttpResponse(json.dumps({
            'code': 405,
            'information': '执行异常!'
        }),
                            content_type="application/json")