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
Example #2
0
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