Пример #1
0
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"
Пример #2
0
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"
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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
Пример #8
0
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"
Пример #9
0
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"
Пример #10
0
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