from flask import session from datetime import datetime from main import db class Thumb(db.Model): __tablename__ = 'thumb' thumbid = db.Column(db.Integer, primary_key=True, autoincrement=True) userid = db.Column(db.Integer, db.ForeignKey('user.userid')) articleid = db.Column(db.Integer, db.ForeignKey('article.articleid')) commentid = db.Column(db.Integer, db.ForeignKey('comment.commentid')) upcomment = db.Column(db.Integer, nullable=False) downcomment = db.Column(db.Integer, nullable=False) hide = db.Column(db.Integer, nullable=False) createtime = db.Column(db.DateTime, default=datetime.utcnow) updatetime = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) # 插入点赞明细 @classmethod def insert_up_detail(cls,articleid,commentid): thumb = Thumb(userid=session.get('userid'),articleid=articleid,commentid=commentid,upcomment=1,downcomment=0,hide=0,createtime=datetime.utcnow(),updatetime=datetime.utcnow()) db.session.add(thumb) db.session.commit() # 取消点赞明细 @classmethod def insert_sub_up_detail(cls, commentid): userid = session.get('userid') cls.query.filter_by(userid=userid,commentid=commentid).update({cls.upcomment: 0}) db.session.commit() # 插入反对明细 @classmethod def insert_down_detail(cls, articleid, commentid): thumb = Thumb(userid=session.get('userid'), articleid=articleid, commentid=commentid, upcomment=0, downcomment=1, hide=0,createtime=datetime.utcnow(), updatetime=datetime.utcnow()) db.session.add(thumb) db.session.commit() # 取消反对明细 @classmethod def insert_sub_down_detail(cls, commentid): userid = session.get('userid') cls.query.filter_by(userid=userid, commentid=commentid).update({cls.downcomment: 0}) db.session.commit() # 插入隐藏记录 @classmethod def insert_hide_detail(cls, articleid, commentid): thumb = Thumb(userid=session.get('userid'), articleid=articleid, commentid=commentid, upcomment=0, downcomment=1, hide=1,createtime=datetime.utcnow(), updatetime=datetime.utcnow()) db.session.add(thumb) db.session.commit() # 判断当前点赞状态 @classmethod def is_upComment(cls,articleid,commentid): result = cls.query.filter_by(userid=session.get('userid'),articleid=articleid,commentid=commentid,upcomment=1).first() if result is None: # 如果当前文章不属于点赞状态 return False else: return True # 判断当前反对状态 @classmethod def is_downComment(cls, articleid, commentid): result = cls.query.filter_by(userid=session.get('userid'), articleid=articleid, commentid=commentid, downcomment=1).first() if result is None: # 如果当前文章不属于反对状态 return False else: return True