Exemple #1
0
def news_comment():
    '''添加评论数据'''
    # 1.接收
    news_id = request.json.get('news_id')
    content = request.json.get('comment')
    # 评论编号
    comment_id = request.json.get('parent_id')

    # 2.验证
    # 2.1非空
    if not all([news_id, content]):  # ,comment_id
        return jsonify(errno=RET.NODATA, errmsg='数据不完整')
    # 2.2新闻编号有效性
    try:
        news = News.query.get(news_id)
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errno=RET.DBERR, errmg='数据库连接失败')
    if news is None:
        return jsonify(errno=RET.DATAERR, errmsg='新闻编号无效')
    # 2.3验证登录
    if g.user is None:
        return jsonify(errno=RET.LOGINERR, errmsg='请先登录')

    # 3.处理:创建对象并保存
    comment = Comment()
    comment.user_id = g.user.id
    comment.news_id = int(news_id)
    comment.content = content
    # 如果评论编号不为空,表示当前添加回复数据,则指定comment_id属性
    if comment_id:
        comment.comment_id = int(comment_id)
    db.session.add(comment)
    try:
        db.session.commit()
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errno=RET.DBERR, errmg='保存失败')

    # 4.响应
    if comment_id:
        data = comment.to_back_dict()
    else:
        data = comment.to_dict()
    return jsonify(errno=RET.OK, errmsg='', data=data)
Exemple #2
0
def news_comment():
    # 新闻评论
    news_id = request.json.get("news_id")
    # 获得新闻的内容
    msg = request.json.get("comment")
    # 父子评论的id comment.id
    parent_id = request.json.get("parent_id")

    if not all([news_id, msg]):
        return jsonify(errno=RET.NODATA, errmsg="数据不全")
    if g.user is None:
        return jsonify(errno=RET.NODATA, errmsg="用户没有登录")
    try:
        news = News.query.get(news_id)
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errno=RET.DBERR, errmsg='数据库连接失败')
    if news is None:
        return jsonify(errno=RET.NODATA, errmsg="数据无效")
    comment_new = Comment()
    if parent_id:
        # 向评论表中加id 自关联id 代表是子评论
        comment_new.parent_id = parent_id
    comment_new.user_id = g.user.id
    comment_new.news_id = int(news_id)
    comment_new.content = msg
    try:
        db.session.add(comment_new)
        db.session.commit()
    except Exception as e:
        current_app.logger.error(e)
        return jsonify(errno=RET.DBERR, errmsg="数据库链接失败")

    if parent_id:
        data = comment_new.to_back_dict()
    else:
        data = comment_new.to_dict()
    return jsonify(errno=RET.OK, errmsg="", data=data)