This commit is contained in:
wuhao 2020-11-13 21:38:47 +08:00
parent 0106e1f818
commit c18895a9ab
4 changed files with 16 additions and 14 deletions

View File

@ -7,8 +7,9 @@ class HandlerEvent(Handler):
@classmethod
def get_coll(cls, *args, **kwargs):
event_date = kwargs.get('event_date')
appid = kwargs.get('appid')
coll_name = f'event_{event_date}'
return cls.g_mdb[coll_name]
return cls.g_mdb[appid][coll_name]
def handler_event(self):
update_data = self._data.get('props', {})
@ -25,6 +26,6 @@ class HandlerEvent(Handler):
'_ut': self._nt,
'_ct': self._nt,
})
coll = self.get_coll(event_date=event_date)
coll = self.get_coll(appid=self.appid, event_date=event_date)
coll.insert(update_data)

View File

@ -4,7 +4,8 @@ from .handler import Handler
class HandlerPaylist(Handler):
@classmethod
def get_coll(cls, *args, **kwargs):
return cls.g_mdb['paylist']
appid = kwargs.get('appid')
return cls.g_mdb[appid]['paylist']
def get_where(self):
props = self._data['props']

View File

@ -4,7 +4,8 @@ from .handler import Handler
class HandlerUser(Handler):
@classmethod
def get_coll(cls, *args, **kwargs):
return cls.g_mdb['user']
appid = kwargs.get('appid')
return cls.g_mdb[appid]['user']
def get_where(self):
props = self._data['props']
@ -12,4 +13,3 @@ class HandlerUser(Handler):
'_game_role_id': props.get('_game_role_id'), # 游戏角色id
}
return where

View File

@ -14,20 +14,20 @@ class Handler(metaclass=ABCMeta):
def __init__(self, data):
self._data = data
appid = data['appid']
self.appid = data['appid']
self._event = self._data['event']
self._game = self._data['project']
self._type = self._data['type']
Handler._init_game_config()
Handler._init_mdb(f'{settings.DB_PREFIX}_{Handler.game_config[appid]["id_name"]}')
self.secret_token = Handler.game_config[appid].get('secret_token', '')
self._nt = arrow.now(tz=Handler.game_config[appid].get('timezone', 'local')).timestamp
Handler._init_mdb()
self.secret_token = Handler.game_config[self.appid].get('secret_token', '')
self._nt = arrow.now(tz=Handler.game_config[self.appid].get('timezone', 'local')).timestamp
@classmethod
def _init_mdb(cls, dbname):
def _init_mdb(cls):
if not cls.g_mdb:
cls.g_mdb = settings.mdb_clint[dbname]
cls.g_mdb = {appid: settings.mdb_clint[f'{settings.DB_PREFIX}_{item["id_name"]}']
for appid, item in cls.game_config.items()}
return cls.g_mdb
def set_handle(self):
@ -37,7 +37,7 @@ class Handler(metaclass=ABCMeta):
:return:
"""
where = self.get_where()
coll = self.get_coll()
coll = self.get_coll(appid=self._appid)
update_data = self._data.get('props', {})
if update_data:
update_data.update({