def get_cost_gold_table(search_start_date, server_id): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename("DAILY_CONSUME_DISTRIBUTED_GOLD",search_start_date, server_id) # 今天登录设备数 date_str = "_"+search_start_date.strftime('%Y%m%d') today_device_num = mysql_util.get_today_num('dev_id','EVENT_ACTION_ROLE_LOGIN'+str(date_str),search_start_date,game_define.EVENT_ACTION_ROLE_LOGIN) actions = new_log_dict.get("actions", set()) table_lst =[] for _action in actions: action_name = game_define.EVENT_LOG_ACTION_DICT[_action] action_generate_stone = -new_log_dict.get('action_%s_gold' % _action, 0) user_num = new_log_dict.get('action_%s_user_num' % _action, 0) action_cost_num = new_log_dict.get('action_%s_log_num'% _action, 0) action_stone_rate = -new_log_dict.get('action_%s_gold_rate'% _action, 0) cur_user_num_rate = new_log_dict.get('action_%s_user_rate' % _action, 0) take_part_rate = _get_rate(user_num, today_device_num) row = [action_name, action_generate_stone, user_num, action_cost_num, str(take_part_rate * 100)+"%", str(action_stone_rate * 100)+"%", str(cur_user_num_rate * 100)+"%"] table_lst.append(row) return table_lst
def get_cost_stone_table(search_start_date, server_id): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename( "DAILY_CONSUME_DISTRIBUTED_STONE", search_start_date, server_id) # print new_log_dict # 今天登录设备数 date_str = "_" + search_start_date.strftime('%Y%m%d') today_device_num = mysql_util.get_today_num( 'dev_id', 'EVENT_ACTION_ROLE_LOGIN' + str(date_str), search_start_date, game_define.EVENT_ACTION_ROLE_LOGIN) actions = new_log_dict.get("actions", set()) table_lst = [] for _action in actions: action_name = game_define.EVENT_LOG_ACTION_DICT[_action] action_generate_stone = -new_log_dict.get('action_%s_stone' % _action, 0) user_num = new_log_dict.get('action_%s_user_num' % _action, 0) action_cost_num = new_log_dict.get('action_%s_log_num' % _action, 0) action_stone_rate = -new_log_dict.get('action_%s_stone_rate' % _action, 0) cur_user_num_rate = new_log_dict.get('action_%s_user_rate' % _action, 0) take_part_rate = _get_rate(user_num, today_device_num) row = [ action_name, action_generate_stone, user_num, action_cost_num, str(take_part_rate * 100) + "%", str(action_stone_rate * 100) + "%", str(cur_user_num_rate * 100) + "%" ] table_lst.append(row) return table_lst
def get_row_lst(row_date, channel_id, server_id): date_str = "_"+row_date.strftime('%Y%m%d') row_lst = [] # 日期 row_date = row_date # 今天登录设备数 today_device_num = mysql_util.get_today_num('dev_id', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date, game_define.EVENT_ACTION_ROLE_LOGIN, channel_id, server_id) # 今天的登录用户数 today_user_num = mysql_util.get_today_num('uid', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date, game_define.EVENT_ACTION_ROLE_LOGIN, channel_id, server_id) # 今天新增用户数 today_new_user_num = mysql_util.get_today_new_num('uid', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date, channel_id, server_id) #新设备数 # today_new_device_num = mysql_util.get_all_count('dev_id', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date + datetime.timedelta(days=1), channel_id, server_id) - mysql_util.get_all_count('dev_id','EVENT_ACTION_ROLE_LOGIN'+str(date_str),row_date, channel_id, server_id) today_new_device_num = mysql_util.get_today_new_num('dev_id', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date, channel_id, server_id) # 新账户数 # today_new_account_num = mysql_util.get_all_count('account_id', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date + datetime.timedelta(days=1), channel_id, server_id) - mysql_util.get_all_count('account_id','EVENT_ACTION_ROLE_LOGIN'+str(date_str),row_date, channel_id, server_id) today_new_account_num = mysql_util.get_today_new_num('account_id', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date, channel_id, server_id) # print("today_new_account_num: "+str(today_new_account_num)) # 今天的登录账户 today_account_num = mysql_util.get_today_num('account_id', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date, game_define.EVENT_ACTION_ROLE_LOGIN, channel_id, server_id) # print("today_account_num: "+str(today_account_num)) # 今天充值人数 today_recharge_user_num = mysql_util.get_recharge_uid_num('uid', 'EVENT_ACTION_RECHARGE_PLAYER'+str(date_str), row_date, channel_id, server_id) # 今天新增充值人数 today_new_recharge_user_num = mysql_util.get_new_recharge_user_num('uid', 'EVENT_ACTION_RECHARGE_PLAYER'+str(date_str), row_date, channel_id, server_id) # 充值金额 today_recharge_rmb = mysql_util.get_sum('add_rmb', row_date, 'EVENT_ACTION_RECHARGE_PLAYER'+str(date_str), game_define.EVENT_ACTION_RECHARGE_PLAYER, channel_id, server_id) # 新增充值金额 today_new_recharge_rmb = mysql_util.get_new_sum('add_rmb', row_date, 'cur_rmb', 'add_rmb', 'EVENT_ACTION_RECHARGE_PLAYER'+str(date_str), game_define.EVENT_ACTION_RECHARGE_PLAYER, channel_id, server_id) # 今天登录事件次数 today_login_action_num = mysql_util.get_all_count('id', 'EVENT_ACTION_ROLE_LOGIN'+str(date_str), row_date + datetime.timedelta(days=1), channel_id, server_id) # get_sum('uid',row_date,table_name= 'EVENT_ACTION_ROLE_LOGIN', action=game_define.EVENT_ACTION_ROLE_LOGIN) # 活跃设备数 today_active_device_num = today_device_num - today_new_device_num # 活跃用户数 today_active_user_num = today_user_num - today_new_user_num # 登录用户数 today_login_user_num = today_user_num # 登录设备数 today_login_device_num = today_device_num # 活跃账户数 today_active_account_num = today_account_num - today_new_account_num # 付费率=充值人数/登录设备 pay_rate = str(100*(Division(today_recharge_user_num, today_login_device_num)))+"%" # 付费arppu 充值金额/充值人数 pay_arppu = Division(today_recharge_rmb, today_recharge_user_num) # 登录arpu 充值金额/登陆设备 login_arpu = Division(today_recharge_rmb, today_login_device_num) # 半小时精度在线人数列表 # online_user_num_lst = daily_log_dat.get_online_user_len_lst(row_date, today_log_lst) # online_user_num_lst = [0] * 48 # 平均在线人数 acu # acu = _get_acu(online_user_num_lst) # 最高在线人数 # pcu = _get_pcu(online_user_num_lst) # 平均在线时长 # avg_online_time = _get_avg_online_time(online_user_num_lst, today_login_user_num) # 人均登入次数 avg_login_count = _get_avg_login_count(today_login_action_num, today_login_user_num) row_lst.append(row_date.strftime('%Y-%m-%d')) row_lst.append(today_active_device_num) row_lst.append(today_active_user_num) row_lst.append(today_new_device_num) row_lst.append(today_new_user_num) row_lst.append(today_login_device_num) row_lst.append(today_login_user_num) row_lst.append(today_active_account_num) row_lst.append(today_new_account_num) row_lst.append(today_recharge_user_num) row_lst.append(today_new_recharge_user_num) row_lst.append(today_recharge_rmb) row_lst.append(today_new_recharge_rmb) row_lst.append(pay_rate) row_lst.append(pay_arppu) row_lst.append(login_arpu) # row_lst.append(acu) # row_lst.append(pcu) # row_lst.append(avg_online_time) row_lst.append(avg_login_count) return row_lst