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()
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()
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)
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()
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)
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)
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)
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()
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)
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)
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()
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)
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)
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)
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()
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()
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()