From 3752f7dd8be7ab37e8d65b277d2a032359ffab0c Mon Sep 17 00:00:00 2001 From: leguadmin Date: Thu, 30 Dec 2021 16:21:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.修改平台判断逻辑 --- to_shoumeng.py | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 to_shoumeng.py diff --git a/to_shoumeng.py b/to_shoumeng.py new file mode 100644 index 0000000..71dfcf3 --- /dev/null +++ b/to_shoumeng.py @@ -0,0 +1,98 @@ +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)