def on_user_logout(self, event): # 记录下线时间 ct = fttime.formatTimeMs() DaoGameDataHall.HMSET(event.userId, { HallKeys.ATT_ALIVE_TIME: ct, HallKeys.ATT_OFFLINE_TIME: ct })
def loginGame(self, userId, gameId, clientId, iscreate, isdayfirst): """ 用户登录一个游戏, 游戏自己做一些其他的业务或数据处理 """ if isdayfirst: DaoMjGameData.HSET(userId, MajangKeys.ATT_DAY_PLAY_GAME_COUNT, 0) DaoMjGameData.HSET(userId, MajangKeys.ATT_AUTHOR_TIME, fttime.formatTimeMs()) return DaoMjGameData.HINCRBY(userId, MajangKeys.ATT_LOGIN_SUM, 1)
def onHallUserEventLogin(self, event): # 记录上线时间 ct = fttime.formatTimeMs() DaoGameDataHall.HMSET(event.userId, { HallKeys.ATT_ALIVE_TIME: ct, HallKeys.ATT_AUTHOR_TIME: ct }) # 登录天数加1 if event.isDayfirst: DaoGameDataHall.HINCRBY(event.userId, HallKeys.ATT_LOGIN_DAYS, 1) # 登录次数加1 DaoGameDataHall.HINCRBY(event.userId, HallKeys.ATT_LOGIN_SUM, 1)
def checkAndInit(cls, userId): ''' 若数据字段小于3项,认为没有数据或丢失,重新建立数据 ''' if cls.HLEN(userId) < 4: attDataDict = {} ct = fttime.formatTimeMs() attDataDict[MajangKeys.ATT_CREATE_TIME] = ct attDataDict[MajangKeys.ATT_AUTHOR_TIME] = ct attDataDict[MajangKeys.ATT_OFFLINE_TIME] = ct attDataDict[MajangKeys.ATT_ALIVE_TIME] = ct attDataDict[MajangKeys.ATT_DATA_VERSION] = 5.1 cls.HMSET(userId, attDataDict) return True return False
def checkAndInit(cls, userId): ''' 若数据字段小于3项,认为没有数据或丢失,重新建立数据 ''' if cls.HLEN(userId) < 4: attDataDict = {} ct = fttime.formatTimeMs() attDataDict[HallKeys.ATT_CREATE_TIME] = ct attDataDict[HallKeys.ATT_AUTHOR_TIME] = ct attDataDict[HallKeys.ATT_OFFLINE_TIME] = ct attDataDict[HallKeys.ATT_ALIVE_TIME] = ct attDataDict[HallKeys.ATT_DATA_VERSION] = 5.1 # attDataDict[HallKeys.ATT_FIRST_GAME_LIST5] = 0 # 缺省即为0,不必初始化 # attDataDict[HallKeys.ATT_NEW_USER] = 1 # attDataDict[HallKeys.ATT_USER_CHIP_MOVE_GAME] = 1 # 新用户,肯定不需要进行hall37的数据升级 cls.HMSET(userId, attDataDict) return True return False
def userAliveTime(self, userId): # 记录活动时间 return DaoGameDataHall.HSET(userId, HallKeys.ATT_ALIVE_TIME, fttime.formatTimeMs())