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)
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)