Пример #1
0
def user_add_friend(data):
    try:
        res = UserHandler.user_add_friend(data['account'], data['id'])
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    if res is not False:
        friend = {'name': res}
        res_data = general_json_data('ok', friend)
        return web.json_response(data=res_data)
    else:
        return error.handle_500()
Пример #2
0
def add_session(data):
    try:
        SessionHandler.add_session_db(data['account'], data['session'])
    except BaseException as e:
        SessionHandler.Log.exception(e)
        return error.handle_500()
    return ok_response()
Пример #3
0
def create_group(data):
    try:
        res = UserHandler.create_group(data['name'], data['account'])
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    group = {'id': res}
    res_data = general_json_data('ok', group)
    return web.json_response(data=res_data)
Пример #4
0
def add_message(data):
    try:
        MessageHandler.add_message_db(data['type'], data['id'],
                                      data['account'], data['name'],
                                      data['message'])
    except BaseException as e:
        MessageHandler.Log.exception(e)
        return error.handle_500()
    return ok_response()
Пример #5
0
def get_all_group(request):
    try:
        res = UserHandler.get_all_group()
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    group = {}
    if res:
        group = {'group_id': res}
    res_data = general_json_data('ok', group)
    return web.json_response(data=res_data)
Пример #6
0
def get_user_friend(data):
    try:
        res = UserHandler.get_user_friend_account(data['account'])
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    if res:
        friend = {'friend': res}
    else:
        friend = {'friend': []}
    res_data = general_json_data('ok', friend)
    return web.json_response(data=res_data)
Пример #7
0
def check_login(data):
    try:
        check = SessionHandler.check_login(data['account'])
    except BaseException as e:
        SessionHandler.Log.exception(e)
        return error.handle_500()
    if check:
        status = 'ok'
    else:
        status = 'error'
    data = general_json_data(status)
    return web.json_response(data=data)
Пример #8
0
async def create_group(data):
    res = await get_mongo_fetch_data(data, '/user/create_group')
    if res['status'] == 'ok':
        message = {
            'method': 'create_group',
            'm_id': res['id'],
            'name': data['name']
        }
        MessageHandler.system_message(data['account'], message)
        return ok_response()
    else:
        return error.handle_500()
Пример #9
0
def login(data):
    try:
        res = UserHandler.login(data['account'])
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    if res is not None:
        status = 'ok'
        data = general_json_data(status, res)
    else:
        status = 'error'
        data = general_json_data(status)
    return web.json_response(data=data)
Пример #10
0
def get_group(data):
    try:
        accounts, group_name = UserHandler.get_group(data['group_id'])
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    group = {}
    if accounts:
        group = {
            'account': accounts,
            'group_name': group_name,
        }
    res_data = general_json_data('ok', group)
    return web.json_response(data=res_data)
Пример #11
0
async def add_group(data):
    res = await get_mongo_fetch_data(data, '/user/user_join_group')
    if res['status'] == 'ok':
        message = {
            'method': 'add_group',
            'm_id': data['id'],
            'name': res['name']
        }
        MessageHandler.system_message(data['account'], message)
        MessageHandler.system_group_message(data['id'],
                                            '用户: ' + data['name'] + ' 加入群聊')
        return ok_response()
    else:
        return error.handle_500()
Пример #12
0
def register(data):
    try:
        register_check = UserHandler.register(
            data['account'],
            data['password'],
            data['username'],
            data['email'],
        )
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    if register_check:
        status = 'ok'
    else:
        status = 'error'
    data = general_json_data(status)
    return web.json_response(data=data)
Пример #13
0
def user_join_group(data):
    try:
        user_old_group = UserHandler.get_user_group_id(data['account'])
        if user_old_group and data['id'] not in user_old_group:
            user_old_group.append(data['id'])
            UserHandler.change_user_group(data['account'], user_old_group)
        elif not user_old_group:
            new_group = [data['id'], ]
            UserHandler.change_user_group(data['account'], new_group)
        group_old_user, group_name = UserHandler.get_group(data['id'])
        if group_old_user and data['id'] not in group_old_user:
            group_old_user.append(data['account'])
            UserHandler.change_group(data['id'], account=group_old_user)
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    group = {'name': group_name}
    res_data = general_json_data('ok', group)
    return web.json_response(data=res_data)
Пример #14
0
def get_user_info(data):
    try:
        friends = UserHandler.get_user_friend(data['account'])
        groups = UserHandler.get_user_group(data['account'])
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    res = {}
    if friends:
        res['friend'] = friends
    else:
        res['friend'] = []
    if groups:
        res['group'] = groups
    else:
        res['group'] = []
    res['method'] = 'user_info'
    res_data = general_json_data('ok', res)
    return web.json_response(data=res_data)
Пример #15
0
async def user_logout(data):
    send_data = {'account': data['account']}
    login_user_friends = await get_mongo_fetch_data(send_data,
                                                    '/user/get_user_friend')
    now_login_users = MessageHandler.now_login_users()
    all_message = '用户: ' + str(data['username']) + ' 下线'
    MessageHandler.system_all_message(all_message)
    for user in now_login_users:
        if user in login_user_friends['friend']:
            friend_message = {
                'method': 'remove_login_friend',
                'm_id': data['account'],
            }
            MessageHandler.system_message(user, friend_message)
    try:
        session.SessionHandler.delete_session_db(data['account'])
    except BaseException as e:
        MessageHandler.Log.error(e)
        return error.handle_500()
    return ok_response()
Пример #16
0
async def add_friend(data):
    res = await get_mongo_fetch_data(data, '/user/user_add_friend')
    if res['status'] == 'ok':
        now_login_users = MessageHandler.now_login_users()
        if data['account'] in now_login_users:
            owner_message = {
                'method': 'add_friend',
                'm_id': data['id'],
                'name': res['name']
            }
            MessageHandler.system_message(data['account'], owner_message)
        if data['id'] in now_login_users:
            friend_message = {
                'method': 'add_friend',
                'm_id': data['account'],
                'name': data['name']
            }
            MessageHandler.system_message(data['id'], friend_message)
        if data['account'] in now_login_users and data['id'] in now_login_users:
            owner_login_friend_message = {
                'method': 'add_login_friend',
                'm_id': [
                    data['id'],
                ],
            }
            MessageHandler.system_message(data['account'],
                                          owner_login_friend_message)
            friend_login_friend_message = {
                'method': 'add_login_friend',
                'm_id': [
                    data['account'],
                ]
            }
            MessageHandler.system_message(data['id'],
                                          friend_login_friend_message)
        return ok_response()
    else:
        return error.handle_500()
Пример #17
0
def change_group(data):
    try:
        old_accounts, *args = UserHandler.get_group(data['group_id'])
        UserHandler.change_group(data['group_id'], data['group_name'], data['account'])
        if len(old_accounts) > len(data['account']):
            for old_account in old_accounts:
                if old_account not in data['account']:
                    user_old_group = UserHandler.get_user_group(old_account)
                    new_group = user_old_group.remove(data['group_id'])
                    UserHandler.change_user_group(old_account, new_group)
        elif len(old_accounts) > len(data['account']):
            for new_account in data['account']:
                if new_account not in old_accounts:
                    user_group = UserHandler.get_user_group(new_account)
                    if user_group:
                        user_group.append(data['group_id'])
                    else:
                        user_group = [data['group_id'], ]
                    UserHandler.change_user_group(new_account, user_group)
    except BaseException as e:
        UserHandler.Log.exception(e)
        return error.handle_500()
    return ok_response()