def get_alias_by_project_id_flag(project_id, flag, file_group_id=None): """ 通过缓存查找alias by:尚宗凯 at:2015-04-09 修复bug by:尚宗凯 at:2015-04-09 优化缓存结果的非空判断 by:王健 at:2015-05-21 修复逻辑bug by:尚宗凯 at:2015-05-21 修改获取alias逻辑 by:尚宗凯 at:2015-05-31 """ cache_key = PROJECT_ID_FLAG_OR_FILEGROUP_ID_ALIAS % (project_id, flag) alias = cache.get(cache_key) if alias is None: if file_group_id is None: from util.cache_handle import query_project_filegroup_data_ result = query_project_filegroup_data_(project_id) file_group_id = result['flags2'][flag] alias = [] users = [] from util.cache_handle import get_project_user_group_use_cache project_user_group = get_project_user_group_use_cache(project_id) for user_list in project_user_group.values(): users.extend(user_list) users = list(set(users)) for user_id in users: powers = get_real_power_by_project_user(project_id,user_id) if int(file_group_id)*100 in powers: alias.append(user_id) cache.set(cache_key, alias, CACHES_JPUSH_ALIAS_TIME_OUT) return alias
def user_activity(request, project_id): """ 获取用户活跃度 by:尚宗凯 at:2016-06-04 """ # now_date = request.REQUEST.get('date', '') # days = int(request.REQUEST.get('days', '7')) # if not now_date: # now_date = timezone.now() # else: # now_date = datetime.datetime.strptime(now_date, "%Y-%m-%d") # start_date = now_date - datetime.timedelta(days=days) # # tody = get_date(1) + datetime.timedelta(days=1) # yest = tody - datetime.timedelta(days=1) start_date = request.REQUEST.get('start_date', '') end_date = request.REQUEST.get('end_date', '') tody = time_start(datetime.datetime.now(), 'day') if end_date: end_date = datetime.datetime.strptime(end_date, '%Y-%m-%d') else: end_date = tody if start_date: start_date = datetime.datetime.strptime(start_date, '%Y-%m-%d') else: start_date = end_date - datetime.timedelta(days=7) if start_date and end_date and start_date > end_date: return getResult(False, u"开始时间不能小于结束时间") project_user_group = get_project_user_group_use_cache(project_id) user_id_list = [] for user_list in project_user_group.values(): user_id_list.extend(user_list) user_id_list = list(set(user_id_list)) # result = {} result = [] for user_id in user_id_list: # result[user_id] = get_user_activity(user_id, project_id, start_date, end_date) result.append({ str(user_id): get_user_activity(user_id, project_id, start_date, end_date) }) return getResult(True, u'获取用户活跃度成功', result)
def user_activity(request, project_id): """ 获取用户活跃度 by:尚宗凯 at:2016-06-04 """ # now_date = request.REQUEST.get('date', '') # days = int(request.REQUEST.get('days', '7')) # if not now_date: # now_date = timezone.now() # else: # now_date = datetime.datetime.strptime(now_date, "%Y-%m-%d") # start_date = now_date - datetime.timedelta(days=days) # # tody = get_date(1) + datetime.timedelta(days=1) # yest = tody - datetime.timedelta(days=1) start_date = request.REQUEST.get('start_date', '') end_date = request.REQUEST.get('end_date', '') tody = time_start(datetime.datetime.now(),'day') if end_date: end_date = datetime.datetime.strptime(end_date,'%Y-%m-%d') else: end_date = tody if start_date: start_date = datetime.datetime.strptime(start_date,'%Y-%m-%d') else: start_date = end_date - datetime.timedelta(days=7) if start_date and end_date and start_date>end_date: return getResult(False, u"开始时间不能小于结束时间") project_user_group = get_project_user_group_use_cache(project_id) user_id_list = [] for user_list in project_user_group.values(): user_id_list.extend(user_list) user_id_list = list(set(user_id_list)) # result = {} result = [] for user_id in user_id_list: # result[user_id] = get_user_activity(user_id, project_id, start_date, end_date) result.append({str(user_id) : get_user_activity(user_id, project_id, start_date, end_date)}) return getResult(True, u'获取用户活跃度成功', result)