You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
3.0 KiB

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