import copy import datetime from utils import create_consumer consumer, client = create_consumer() attr_default = dict() # �¼�ӳ�� legu->shoumeng legu_to_sm_event = { 'create_account': 'role_create', # '':'role_logout', # ��ɫ�dz���־ 'login': 'role_login', 'level_up': 'role_rank', 'pay': 'role_pay', } # ����ӳ�� legu->shoumeng legu_to_sm_attr_base = { # �������� 'channel': 'channel_name', 'svrindex': 'game_server', '#os': 'platform_id', # '':'sm_user_id', # �����˺�ID 'binduid': 'user_id', '#account_id': 'role_id', 'role_name': 'role_name', 'ghid': 'guild_id', 'ghname': 'guild', 'zhanli': 'power', 'lv': 'role_rank', 'vip': 'role_vip', # '':'castle_rank', # �DZ��ȼ� 'exp': 'exp' } legu_to_sm_attr = { # �ȼ��������� # '':'rank_before', 'lv': 'rank', # '':'rank_change', } template_data = { "cp_game_id": 682, "category": "cp_api", 'event_access': 'realtime', "event": { "event_time": 0, "event_name": "" }, "data": { } } def handler_os(properties): os_: str = properties.get('#os', 'Android') if os_.lower() == 'ios': properties['#os'] = 102 else: properties['#os'] = 101 for msg in consumer(): data: dict = msg.value if data.get('#type') != 'track': continue data.update(data.get('properties', {})) data.pop('properties') event_name = data.get('#event_name') if event_name not in legu_to_sm_event: continue data.update(attr_default) # if data.get('owner_name') != 'shoumeng': # continue send_data = copy.deepcopy(template_data) handler_os(data) send_data['event']['event_name'] = legu_to_sm_event[event_name] send_data['event']['event_time'] = int( datetime.datetime.strptime(data['#event_time'], '%Y-%m-%d %H:%M:%S').timestamp() * 1000) for k, v in legu_to_sm_attr_base.items(): send_data['data'][v] = data.get(k) for k, v in legu_to_sm_attr.items(): send_data['data'][v] = data.get(k) print(send_data)