# -*- coding: utf-8 -*- from mytask.tga import GetFromTga import logging log = logging.getLogger(__name__) tap_items = {'1': '登录按钮', '2': '进入游戏主界面', '3': '单人模式', '4': '组队模式', '5': '角色', '6': '观看视频试用皮肤按钮', '7': '角色满级体验', '8': '武器', '9': '武器满级体验', '10': '任务', '11': '补给', '12': '补给视频领取', '13': '商城', '14': '等待区域', '15': '跳伞', '16': '战斗结束', '17': '战斗结束看视频翻倍按钮', '60': '组队开始游戏', '61': '战斗链接', '62': '链接成功', '63': 'Join成功', '70': '签到双倍领取', '71': '签到领取', '72': '排行榜', '73': '金币获取', '74': '宝箱', '75': '邀请', '76': '福利', } class TGA_event(GetFromTga): def event_tap(self): keys = tuple(tap_items.keys()) sql = f"""SELECT button_name, count(1) AS num, count(distinct "#account_id") AS num_dis FROM v_event_22 WHERE "$part_event"='event_11_31' AND "$part_date"='{self.date}' and button_name !='NaN' and cast(button_name as varchar) in {keys} GROUP BY button_name order by button_name""" data = self.tga.get_data(sql) if data: for line in data: if line: try: name, num, num_dis = line if name in tap_items.keys(): temp = {} temp['name'] = tap_items[name] temp['num'] = num temp['dis_num'] = num_dis self.write_tga_files(temp) except Exception: log.error(f"split {data} failed!", exc_info=True) def event_tap_new(self): keys = tuple(tap_items.keys()) sql = f"""SELECT button_name, count(1) AS num, count(distinct "#account_id") AS num_dis FROM v_event_22 WHERE "$part_event"='event_11_31' AND "$part_date"='{self.date}' and button_name !='NaN' and cast(button_name as varchar) in {keys} and account_register_date BETWEEN timestamp'{self.date} 00:00:00' and timestamp'{self.date} 23:59:59' GROUP BY button_name order by button_name""" data = self.tga.get_data(sql) if data: for line in data: if line: try: name, num, num_dis = line if name in tap_items.keys(): temp = {} temp['name'] = tap_items[name] temp['num'] = num temp['dis_num'] = num_dis self.write_tga_files(temp) except Exception: log.error(f"split {data} failed!", exc_info=True) def run_event_tap_2001(kwargs): mytga = TGA_event(**kwargs) mytga.event_tap() def run_event_tap_new_2001(kwargs): mytga = TGA_event(**kwargs) mytga.event_tap_new()