def get_table(search_start_date, search_end_date, player_min_lv, player_max_lv, register_start_date=None, register_end_date=None, cur_server=-1): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ search_days = (search_end_date - search_start_date).days + 1 table_result = [] for i in xrange(search_days): cur_date = search_start_date + datetime.timedelta(days=i) new_log_lst = dat_log_util.read_file_with_single_day( "USER_DETAIL", cur_date, cur_server) user_level_state = dat_log_util.read_file_with_single_day( "USER_LEVEL_STATE", cur_date, cur_server) if new_log_lst and user_level_state: # 到此时的总用户数 by_this_time_uid_num = len(new_log_lst) # 登录用户数 today_login_uid_num = user_level_state[0] # 新增用户数 today_new_uid_num = user_level_state[1] # 等级用户数 level_user_num_lst = [] for _lv in xrange(player_min_lv, player_max_lv + 1): # 计算等级用户数 _user_detail_dict = new_log_lst if register_start_date and register_end_date: user_num = len([ _dat['uid'] for _dat in _user_detail_dict.values() if _dat['level'] == _lv and _dat['server_id'] > 0 and _dat['platform_id'] > 0 and register_start_date <= _dat['install'] <= register_end_date ]) else: user_num = len([ _dat['uid'] for _dat in _user_detail_dict.values() if _dat['level'] == _lv ]) # 插入数据 level_user_num_lst.append(user_num) row = [ cur_date.strftime('%Y-%m-%d'), by_this_time_uid_num, today_login_uid_num, today_new_uid_num ] row.extend(level_user_num_lst) table_result.append(row) return table_result
def get_table(search_start_date, search_end_date, register_start_date=None, register_end_date=None, channel_id=-1, cur_server_id=-1): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_lst = [] total_days = (search_end_date - search_start_date).days + 1 for i in xrange(total_days): search_date = search_start_date + datetime.timedelta(days=i) new_log = dat_log_util.read_file_with_single_day( "TONIC", search_date, cur_server_id) if new_log: new_log.insert(0, search_date.strftime('%m/%d/%Y')) new_log[4] = str(new_log[4] * 100) + "%" new_log_lst.append(new_log) # new_log_lst = dat_log_util.read_file_with_user_level_state("TONIC", search_start_date, search_end_date, cur_server_id) # for index, new_log in enumerate(new_log_lst): # cur_date = search_start_date + datetime.timedelta(days=index) # new_log.insert(0, cur_date.strftime('%m/%d/%Y')) # new_log[4] = str(new_log[4] * 100)+"%" return new_log_lst
def get_table(search_start_date, search_end_date, cur_server_id=-1): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_lst = [] total_days = (search_end_date-search_start_date).days+1 for i in xrange(total_days): search_date = search_start_date+datetime.timedelta(days=i) new_log = dat_log_util.read_file_with_single_day("FINGER_GUESS", search_date, cur_server_id) if new_log: new_log.insert(0, search_date.strftime('%m/%d/%Y')) new_log[4] = str(new_log[4] * 100)+"%" new_log_lst.append(new_log) # for index, new_log in enumerate(new_log_lst): # cur_date = search_start_date + datetime.timedelta(days=index) # new_log.insert(0, cur_date.strftime('%m/%d/%Y')) # new_log[4] = str(new_log[4] * 100)+"%" return new_log_lst
def get_table(search_start_date, search_end_date, player_min_lv, player_max_lv, register_start_date=None, register_end_date=None, cur_server=-1): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ search_days = (search_end_date - search_start_date).days + 1 table_result = [] for i in xrange(search_days): cur_date = search_start_date + datetime.timedelta(days=i) new_log_lst = dat_log_util.read_file_with_single_day("USER_DETAIL", cur_date, cur_server) user_level_state = dat_log_util.read_file_with_single_day("USER_LEVEL_STATE", cur_date, cur_server) if new_log_lst and user_level_state: # 到此时的总用户数 by_this_time_uid_num = len(new_log_lst) # 登录用户数 today_login_uid_num = user_level_state[0] # 新增用户数 today_new_uid_num = user_level_state[1] # 等级用户数 level_user_num_lst = [] for _lv in xrange(player_min_lv, player_max_lv + 1): # 计算等级用户数 _user_detail_dict = new_log_lst if register_start_date and register_end_date: user_num = len([_dat['uid'] for _dat in _user_detail_dict.values() if _dat['level'] == _lv and _dat['server_id'] > 0 and _dat['platform_id'] > 0 and register_start_date <= _dat['install'] <= register_end_date]) else: user_num = len([_dat['uid'] for _dat in _user_detail_dict.values() if _dat['level'] == _lv]) # 插入数据 level_user_num_lst.append(user_num) row = [cur_date.strftime('%Y-%m-%d'), by_this_time_uid_num, today_login_uid_num, today_new_uid_num] row.extend(level_user_num_lst) table_result.append(row) return table_result