예제 #1
0
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
예제 #2
0
파일: view.py 프로젝트: cash2one/ESNS
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)
예제 #3
0
파일: view.py 프로젝트: appleface2050/ESNS
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)