Пример #1
0
def set_auth_qu_use(userids, qu_ids, is_add):
    userids = list(map(lambda x: ObjectId(x), userids))
    qu_ids = list(map(lambda x: ObjectId(x), qu_ids))
    if is_add:
        for userid in userids:
            for qu_id in qu_ids:
                has_qu = __get_qu(userid, qu_id) is not None
                if not has_qu:
                    User.update_by_id_add(userid, {
                        'qus': {
                            'qu_id': ObjectId(qu_id),
                            'info': {
                                'auth': 1
                            }
                        }
                    })
    else:
        User.update({'_id': {
            '$in': userids
        }}, {'$pull': {
            'qus': {
                'qu_id': {
                    '$in': qu_ids
                }
            }
        }})
    return True
Пример #2
0
def set_qu_data(userid, qu_id, qu_data):
    has_qu = __get_qu(userid, qu_id) is not None
    if not has_qu:
        User.update_by_id_add(
            userid, {'qus': {
                'qu_id': ObjectId(qu_id),
                'info': {
                    'auth': 1
                }
            }})
    qu_report = Report.generate_report(qu_id, qu_data)
    return User.update_one(
        {
            "_id": ObjectId(userid),
            "qus": {
                '$elemMatch': {
                    "qu_id": ObjectId(qu_id)
                }
            }
        }, {'$set': {
            'qus.$.qu_data': qu_data,
            'qus.$.qu_report': qu_report
        }})
Пример #3
0
def set_user_qu_info(userid, qu_id, info):
    has_qu = __get_qu(userid, qu_id) is not None
    if not has_qu:
        return User.update_by_id_add(
            userid, {'qus': {
                'qu_id': ObjectId(qu_id),
                'info': info
            }})
    else:
        return User.update_one(
            {
                "_id": ObjectId(userid),
                "qus": {
                    '$elemMatch': {
                        "qu_id": ObjectId(qu_id)
                    }
                }
            }, {'$set': {
                'qus.$.info': info
            }})
Пример #4
0
def add_qu(userid, qu_id):
    return User.update_by_id_add(userid, {'qus': {'qu_id': ObjectId(qu_id)}})