def to_cancel_collecta(aid, uid, db): isCollected = db.select(AnsCollections, and_(AnsCollections.aid == aid, AnsCollections.uid == uid)) if len(isCollected) == 0: return "Not" db.delete(AnsCollections, and_(AnsCollections.aid == aid, AnsCollections.uid == uid)) db.update(Answers, {Answers.ans_collect: Answers.ans_collect - 1}, Answers.aid == aid) return "OK"
def to_cancel_collectq(qid, uid, db): isCollected = db.select(QuesCollections, and_(QuesCollections.qid == qid, QuesCollections.uid == uid)) if len(isCollected) == 0: return "Not" db.delete(QuesCollections, and_(QuesCollections.qid == qid, QuesCollections.uid == uid)) db.update(Questions, {Questions.ques_collect: Questions.ques_collect - 1}, Questions.qid == qid) return "OK"
def updatq(uid, qid, label, title, content, nameflag, db): """ 更新问题函数 :param uid:用户ID :param qid:问题ID :param label:问题类别 :param content:问题内容 :return state:更新状态 """ isOwner = db.select(Questions, and_(Questions.uid == uid, Questions.qid == qid)) if len(isOwner) != 0: if nameflag == 'on': noname = True else: noname = False db.update( Questions, { Questions.label: label, Questions.ques_title: title, Questions.ques_content: content, Questions.ques_time: datetime.datetime.now(), Questions.ques_anonymous: noname }, Questions.qid == qid) state = True else: state = False return state
def delet_ques(qid, uid, db): """ 删除问题函数 :param qid:问题ID :param uid:用户ID :param db:数据库对象 :return: state:删除操作状态 """ isOwner = db.select(Questions, and_(Questions.qid == qid, Questions.uid == uid)) if len(isOwner) != 0: flag = db.select(Answers.aid, Answers.qid == qid) flag = [item[0] for item in flag] db.delete(AnsCollections, and_(AnsCollections.aid == flag)) db.delete(Answers, Answers.qid == qid) db.delete(QuesCollections, QuesCollections.qid == qid) db.delete(Questions, Questions.qid == qid) state = "QuesDel" else: state = "Error" return state
def query_qcontent(uid, qid, db): ''' 查询问题内容函数 :return:查询到的数据 ''' isOwner = db.select(Questions, and_(Questions.uid == uid, Questions.qid == qid)) if len(isOwner) != 0: res = db.select(Questions, Questions.qid == qid) state = True else: res = None state = False return res, state
def query_acontent(uid, aid, db): ''' 查询回答及其对应问题函数 :return:查询到的数据 ''' isOwner = db.select(Answers, and_(Answers.uid == uid, Answers.aid == aid)) if len(isOwner) != 0: qid = db.select(Answers.qid, Answers.aid == aid) qres = db.select(Questions, Questions.qid == qid[0][0]) ares = db.select(Answers, Answers.aid == aid) state = True else: qres = None ares = None state = False return qres, ares, state
def delet_ans(aid, uid, db): """ 删除回答及其收藏 :param aid:问题ID :param uid:用户ID :param db:数据库对象 :return state:删除操作状态 """ isOwner = db.select(Answers, and_(Answers.aid == aid, Answers.uid == uid)) if len(isOwner) != 0: db.delete(AnsCollections, AnsCollections.aid == aid) db.delete(Answers, Answers.aid == aid) state = "AnsDel" else: state = "Error" return state
def to_collect_ans(uid, aid, query, db): """ 收藏回答 :param uid:用户ID :param aid: 回答ID :param query:是否仅查询 :param db:数据库对象 :return: """ isCollected = db.select(AnsCollections, and_(AnsCollections.aid == aid, AnsCollections.uid == uid)) # 判断是否已经收藏 if len(isCollected) != 0: return "Duplicate" if query == "true": return "Not" else: cid = 'C' + uuid.uuid4().hex db.update(Answers, {Answers.ans_collect: Answers.ans_collect + 1}, Answers.aid == aid) ansCollextion = AnsCollections(cid=cid, uid=uid, aid=aid) db.insert(ansCollextion) return "OK"
def to_collect_ques(uid, qid, query, db): """ 收藏问题 :param uid:用户ID :param qid: 问题ID :param query:是否仅查询 :param db:数据库对象 :return: """ isCollected = db.select(QuesCollections, and_(QuesCollections.qid == qid, QuesCollections.uid == uid)) # 判断是否已经收藏 if len(isCollected) != 0: return "Duplicate" if query == "true": return "Not" else: cid = 'C' + uuid.uuid4().hex db.update(Questions, {Questions.ques_collect: Questions.ques_collect+1}, Questions.qid == qid) quesCollection = QuesCollections(cid=cid, uid=uid, qid=qid) db.insert(quesCollection) return "OK"
def updata(uid, aid, content, nameflag, db): """ 更新回答函数 :param uid:用户ID :param aid:回答ID :param content:回答内容 :return state:更新状态 """ isOwner = db.select(Answers, and_(Answers.aid == aid, Answers.uid == uid)) if len(isOwner) != 0: if nameflag == 'true': noname = True else: noname = False db.update( Answers, { Answers.ans_content: content, Answers.ans_time: datetime.datetime.now(), Answers.ans_anonymous: noname }, Answers.aid == aid) state = "OK" else: state = "NoAuth" return state