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

View File

@ -4,7 +4,8 @@ from .handler import Handler
class HandlerPaylist(Handler): class HandlerPaylist(Handler):
@classmethod @classmethod
def get_coll(cls, *args, **kwargs): 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): def get_where(self):
props = self._data['props'] props = self._data['props']

View File

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

View File

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