def get_used_today(cls, aid): today = datetime.date.today().strftime('%y%m%d') key = cls.USED_TODAY % ({'day': today, 'aid': aid}) if not Redis.exists(key): Redis.set(key, 0) Redis.expire(key, 60 * 60 * 24) return int(Redis.get(key))
def get_limit_config(cls, report_type): key = cls.REPORT_CONFIG % {'rtype': report_type} if not Redis.exists(key): cfg = cls.collection.find_one({'report_type': report_type}) _id = cfg and str(cfg['_id']) Redis.set(key, _id, 86400) return Redis.get(key)
def update_counter(cls, countid): key = cls.H5KEY.format(countid) if not Redis.exists(key): num = 1 else: num = int(Redis.get(key)) + 1 # 限制数字不能超过八位 if num > 99999999: num = 1 Redis.set(key, num) return num
def check_user_activity(cls, aid, phone, device): # 每个手机号码/设备ID在此类活动历史只能参与1次活动,所以将aid强制改为all aid = 'all' for k, xid in {'phone': phone, 'device': device}.iteritems(): key = cls.USER_ACTIVITY % ({'aid': aid, 'xid': xid}) if not Redis.exists(key): cnt = cls._get_user_activity(aid, k, xid) Redis.set(key, cnt, 60 * 60 * 24) cnt = int(Redis.get(key)) if cnt: return True return False
def get_all_value(cls): mon = time.strftime('%Y-%m', time.localtime(time.time())) key = 'PayForGift:all_exchange_value:{0}'.format(mon) value = Redis.get(key) if not value: value = 0 pay_for_gift_logs = list(cls.select()) for log in pay_for_gift_logs: value += log.exchange_value Redis.set(key, value) return value