def _get_user_info(request, use_cache=True): """ 获取用户基本信息 @param request: @param use_cache: @return: """ user = request.user cache_key = "%s_get_user_info_%s" % (CACHE_PREFIX, user.username) data = cache.get(cache_key) if not (use_cache and data): userinfo = get_user_info(request) userinfo.setdefault('code', -1) if userinfo['result']: data = userinfo['data'] if data: cache.set(cache_key, data, DEFAULT_CACHE_TIME_FOR_CC) elif userinfo.get('code') in ('20101', 20101): raise exceptions.Unauthorized(userinfo['message']) elif userinfo.get('code') in ('20103', 20103, '20201', 20201, '20202', 20202): raise exceptions.Forbidden(userinfo['message']) else: raise exceptions.APIError( 'bk_api', 'get_user_info', userinfo.get('detail_message', userinfo['message'])) return data
def update_user_info(request, cc_id, use_cache=True): cache_key = "%s_update_user_info_%s" % (CACHE_PREFIX, cc_id) data = cache.get(cache_key) if not (use_cache and data): result = get_user_info(request) if result['result']: _update_user_info(result['data']) elif result['code'] in ('20101', 20101): raise exceptions.Unauthorized(result['message']) elif result['code'] in ('20103', 20103): raise exceptions.Forbidden(result['message']) else: raise exceptions.APIError( settings.ESB_AUTH_COMPONENT_SYSTEM, 'get_user', result.get('detail_message', result['message'])) cache.set(cache_key, True, DEFAULT_CACHE_TIME_FOR_CC)
def _get_user_info(username, use_cache=True): """ 获取用户基本信息 @param username: @param use_cache: @return: """ cache_key = "%s_get_user_info_%s" % (CACHE_PREFIX, username) data = cache.get(cache_key) if not (use_cache and data): userinfo = get_user_info(username) userinfo.setdefault("code", -1) if userinfo["result"]: data = userinfo["data"] if data: cache.set(cache_key, data, DEFAULT_CACHE_TIME_FOR_CC) else: raise exceptions.APIError( "bk_api", "get_user_info", userinfo.get("detail_message", userinfo["message"])) return data
def _get_user_info(username, use_cache=True): """ 获取用户基本信息 @param username: @param use_cache: @return: """ cache_key = "%s_get_user_info_%s" % (CACHE_PREFIX, username) data = cache.get(cache_key) if not (use_cache and data): userinfo = get_user_info(username) userinfo.setdefault('code', -1) if userinfo['result']: data = userinfo['data'] if data: cache.set(cache_key, data, DEFAULT_CACHE_TIME_FOR_CC) else: raise exceptions.APIError( 'bk_api', 'get_user_info', userinfo.get('detail_message', userinfo['message'])) return data