示例#1
0
def get_comments_by_docid(offset, page_index, doc_id, current_user):
    helper = document_controller.comment_controller()
    if request.method == "GET":
        info = helper.list_comments(doc_id=doc_id, current_user=current_user)
        result = []
        count_result = len(info)
        if count_result == 0:
            result = []
        else:
            begin_index = int(offset) * (int(page_index) - 1)
            end_index = int(offset) * (int(page_index))
            final = info[begin_index:end_index]
            for my in final:
                result.append({
                    "floor": my["floor"],
                    "doc_id": my["doc_id"],
                    "user": my["user"],
                    "comment": my["comment"],
                    "time": my["create_time"],
                    "comment_id": my["comment_id"],
                    "like_count": my["like_count"],
                    "bool_like": my["bool_like"]
                })
        return {
            "result": result,
            "total": count_result
        }
示例#2
0
def do_comments():
    author = request.cookies.get("user_name")
    if request.method == "GET":
        offset = int(request.args.get("offset"))
        page_index = int(request.args.get("pageIndex"))
        doc_id = str(request.args.get("doc_id"))
        current_user = author
        result = get_comments_by_docid(offset=offset, page_index=page_index, doc_id=doc_id, current_user=current_user)
        return {
            "code": "20000800",
            "message": "获取评论列表成功",
            "result": result["result"],
            "total": result["total"]
        }
    elif request.method == "POST":
        helper = document_controller.comment_controller()
        # data = `a()
        # print(data)
        # json_data = json.loads(data.decode("utf-8"))
        # print(json_data)
        doc_id = request.form.get("doc_id")
        comment = request.form.get("comment")
        # user = request.form.get("user")
        user = author
        result = helper.add_comment(doc_id=doc_id, comment=comment, user=user)
        return jsonify(
            {
                "code": result["code"],
                "message": result["message"],
            }
        )
示例#3
0
def like_or_not_like():
    helper = document_controller.comment_controller()
    author = request.cookies.get("user_name")
    if request.method == "POST":
        comment_id = request.form.get("comment_id")
        user = author
        # user = request.form.get("user")
        if str(user) == '' or str(user) == '游客' or str(user) == None:
            result = {
                "code": 20000899,
                "message": "请先登录,再点赞"

            }
        else:
            result = helper.like_action(
                comment_id=int(comment_id),
                user=user
            )
        return jsonify(
            {
                "code": result["code"],
                "message": result["message"]
            }
        )
示例#4
0
def filter_document_by_name(offset, page_index, doc_name, author):
    helper = document_controller.document_controller()
    grid_helper = document_controller.gridfs_controller()
    comment_helper = document_controller.comment_controller()
    if request.method == "GET":
        document_info = helper.filter_document_by_docname(doc_name=doc_name, author=author)
        file_infos = grid_helper.filter_file_like_name(file_name=doc_name, author=author)
        result = []
        count_of_files = len(file_infos)
        print(count_of_files)
        count_of_documents = len(document_info)
        print(count_of_documents)
        if count_of_documents > 0:
            for info in document_info:
                comment_count = comment_helper.count_of_comments(doc_id=info["doc_id"])
                pub = ""
                doc_type = ""
                if info["is_published"] == 1:
                    pub = "是"
                else:
                    pub = "否"
                if info["doc_type"] == "1":
                    doc_type = "在线文档"
                result.append({
                    "doc_id": info["doc_id"],
                    "title": info["title"],
                    "author": info["author"],
                    "host": info["host"],
                    "class_name": info["class_name"],
                    "doc_type": doc_type,
                    "is_published": pub,
                    "comment_count": comment_count,
                    "page_view": info["page_view"],
                    "download": info["download"],
                    "data": info["data"],
                    "update_time": info["update_time"].strftime("%Y-%m-%d %H:%M:%S")
                })
        if count_of_files > 0:
            for info in file_infos:
                comment_count = comment_helper.count_of_comments(doc_id=info["file_id"])
                result.append({
                    "doc_id": info["file_id"],
                    "title": info["file_name"],
                    "author": info["author"],
                    "host": info["url"],
                    "class_name": info["class_name"],
                    "doc_type": info["file_type"],
                    "is_published": info["is_published"],
                    "comment_count": comment_count,
                    "page_view": 0,
                    "download": info["download"],
                    "data": info['remark'],
                    "update_time": info["uploadDate"].strftime("%Y-%m-%d %H:%M:%S")
                })
        all_count = count_of_files + count_of_documents
        begin_index = int(offset) * (int(page_index) - 1)
        end_index = int(offset) * (int(page_index))
        final_result = result[begin_index:end_index]
        return {
            "result": final_result,
            "total": all_count
        }