예제 #1
0
 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
예제 #2
0
 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
예제 #3
0
    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()
예제 #4
0
 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