pointapi/handler_data/ta_handler.py
2021-04-02 01:10:23 +08:00

50 lines
1.0 KiB
Python

from settings import settings
class TaHandler:
handler_link = []
def __init__(self, func):
TaHandler.handler_link.append(func)
@staticmethod
def format_data(data: dict):
msg = dict()
for k in settings.TA_OUTER:
v = data.get(k)
if v:
msg[k] = data.pop(k)
msg['properties'] = data
return msg
@TaHandler
async def add_ip(request, rdb, data):
"""
添加源ip
:param request:
:param rdb:
:param data:
:return:
"""
ip = request.client.host
data['ip'] = data.get('ip') or ip
@TaHandler
async def device_label(request, rdb, data):
"""
标记新设备
:param request:
:param rdb:
:param data:
:return:
"""
# 条件
if data.get('type') == 'user_add':
v = await rdb.execute('sadd', f'{data.game}.devices', data.properties.get('#device_id', ''))
if v:
data.properties['is_new_device'] = 1
else:
data.properties['is_new_device'] = 0