xlegudata_consumer/handler/handle_event.py
2020-11-13 15:27:13 +08:00

31 lines
814 B
Python

import arrow
from .handler import Handler
class HandlerEvent(Handler):
@classmethod
def get_coll(cls, *args, **kwargs):
event_date = kwargs.get('event_date')
coll_name = f'event_{event_date}'
return cls.g_mdb[coll_name]
def handler_event(self):
update_data = self._data.get('props', {})
if not update_data:
return
event_time = update_data.get('_event_time', None)
if not event_time:
return
event_date = arrow.get(event_time) \
.to(Handler.game_config.get('timezone', 'local')) \
.strftime('%Y-%m-%d')
update_data.update({
'_ut': self._nt,
'_ct': self._nt,
})
coll = self.get_coll(event_date=event_date)
coll.insert(update_data)