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 }
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"], } )
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"] } )
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 }