def froze(self): """冻结账户,前两次按时间,累计三次之后永久 """ msg = '' if self.in_frozen: return '' frozen_count = self.baseinfo.get('frozen_count',0) if frozen_count: self.baseinfo['frozen_count'] += 1 else: self.baseinfo['frozen_count'] = 1 #首次冻结2天,再次7天,3次永久 now = datetime.datetime.now() if self.baseinfo['frozen_count'] == 1: frozen_days = 2 self.baseinfo['unfroze_time'] = utils.datetime_toTimestamp(now + datetime.timedelta(days=frozen_days)) msg = get_msg('login','frozen_time', self) msg = msg % (frozen_days,utils.timestamp_toString(self.baseinfo['unfroze_time'],'%m.%d %H:%M'),self.uid) elif self.baseinfo['frozen_count'] == 2: frozen_days = 7 self.baseinfo['unfroze_time'] = utils.datetime_toTimestamp(now + datetime.timedelta(days=frozen_days)) msg = get_msg('login','frozen_time', self) msg = msg % (frozen_days,utils.timestamp_toString(self.baseinfo['unfroze_time'],'%m.%d %H:%M'),self.uid) else: self.baseinfo['frozen'] = True self.baseinfo['username'] = u'(已冻结)' + self.baseinfo['username'] msg = get_msg('login','frozen', self) % self.uid self.put() return msg
def get_honor_award(self): data = {} user_real_pvp = UserRealPvp.get_instance(self.uid) r = user_real_pvp.yesterday_pvp_rank( ) # 变量名r和配置里的一致.pk_config 'get_honor':'1400-4*(r-50)' rank_conf = user_real_pvp.get_pvp_rank_conf(r) if not rank_conf: return data get_honor = eval(str(rank_conf['get_honor'])) now = datetime.datetime.now() now_timestamp = utils.datetime_toTimestamp(now) # 能够得到功勋奖励,刷新时间并放入奖励 if now_timestamp > user_real_pvp.pvp_info.get('next_refresh_time', 0): now_date = now.strftime('%Y-%m-%d') now_time = now.strftime('%H:%M:%S') tomorrow_now = now + datetime.timedelta(days=1) tomorrow_date = tomorrow_now.strftime('%Y-%m-%d') refresh_time = self.game_config.pk_store_config.get( 'auto_refresh_time', '22:00:00') if now_time > refresh_time: next_refresh_time_str = '%s %s' % (tomorrow_date, refresh_time) else: next_refresh_time_str = '%s %s' % (now_date, refresh_time) next_refresh_time = utils.string_toTimestamp(next_refresh_time_str) user_real_pvp.pvp_info['next_refresh_time'] = next_refresh_time user_real_pvp.put() data['honor_award'] = { 'title': u'pvp奖励', 'content': u'功勋奖励', 'award': { 'honor': get_honor } } return data
def auto_refresh_store(self): """ 根据 next_auto_refresh_time 判断是否刷新商品, 重置每日可刷新次数 """ now = datetime.datetime.now() now_timestamp = utils.datetime_toTimestamp(now) if now_timestamp > self.next_auto_refresh_time: # 时间点到,自动刷新pk商店 now_date = now.strftime('%Y-%m-%d') now_time = now.strftime('%H:%M:%S') tomorrow_now = now + datetime.timedelta(days=1) tomorrow_date = tomorrow_now.strftime('%Y-%m-%d') pk_store_config = self.game_config.pk_store_config refresh_time = pk_store_config.get('auto_refresh_time', '22:00:00') if now_time > refresh_time: next_refresh_time_str = '%s %s' % (tomorrow_date, refresh_time) else: next_refresh_time_str = '%s %s' % (now_date, refresh_time) # 更新自动刷新时间 next_refresh_time = utils.string_toTimestamp(next_refresh_time_str) self.next_auto_refresh_time = next_refresh_time # 重置可刷新次数 self.manual_refresh_times = 0 self.put() # 自动刷新时间,刷新商店物品 self.refresh_store_goods() return self.store_info()
def get_honor_award(self): data = {} user_real_pvp = UserRealPvp.get_instance(self.uid) r = user_real_pvp.yesterday_pvp_rank() # 变量名r和配置里的一致.pk_config 'get_honor':'1400-4*(r-50)' rank_conf = user_real_pvp.get_pvp_rank_conf(r) if not rank_conf: return data get_honor = eval(str(rank_conf['get_honor'])) now = datetime.datetime.now() now_timestamp = utils.datetime_toTimestamp(now) # 能够得到功勋奖励,刷新时间并放入奖励 if now_timestamp > user_real_pvp.pvp_info.get('next_refresh_time', 0): now_date = now.strftime('%Y-%m-%d') now_time = now.strftime('%H:%M:%S') tomorrow_now = now + datetime.timedelta(days=1) tomorrow_date = tomorrow_now.strftime('%Y-%m-%d') refresh_time = self.game_config.pk_store_config.get('auto_refresh_time', '22:00:00') if now_time > refresh_time: next_refresh_time_str = '%s %s' % (tomorrow_date, refresh_time) else: next_refresh_time_str = '%s %s' % (now_date, refresh_time) next_refresh_time = utils.string_toTimestamp(next_refresh_time_str) user_real_pvp.pvp_info['next_refresh_time'] = next_refresh_time user_real_pvp.put() data['honor_award'] = { 'title': u'pvp奖励', 'content': u'功勋奖励', 'award': {'honor': get_honor} } return data