Ejemplo n.º 1
0
 def left_change_times(self):
     cache = CacheManager().cache
     redis_key = flower_user_name_update_limit_key % self.user_id
     if cache.exists(redis_key):
         update_count = cache.get(redis_key)
         return 3 - int(update_count)
     else:
         return 3
Ejemplo n.º 2
0
    def post(self):
        try:
            user_id = self.get_argument('user_id')
            name = self.get_argument('name')
        except MissingArgumentError:
            return self.error(MISSING_PARAMS)

        if FlowerUser.exists_name(name):
            return self.error(FLOWER_USER_NAME_EXISTS)

        if get_str_length(name) < 2:
            return self.error(FLOWER_NAME_LESS_MINIMUM_LIMIT)

        if get_str_length(name) > 20:
            return self.error(FLOWER_NAME_OVER_MAXIMUM_LIMIT)

        group_user_info = FlowerUser.get_by_user(user_id)
        if not group_user_info:
            try:
                random_name = random.choice(FLOWER_AVATAR_ARR)
                avatar_uri = 'static/avatar/flower/image_huaming_%[email protected]' % random_name
                group_user_info = FlowerUser.add(user_id, name, avatar_uri)
            except Exception as e:
                logger.error(u'添加用户花名成功。Error:[%s]' % e)
                return self.error(SYSTEM_ERROR)
        else:
            try:
                cache = CacheManager().cache
                redis_key = flower_user_name_update_limit_key % user_id
                if cache.exists(redis_key):
                    update_count = cache.get(redis_key)
                    if int(update_count) >= 3:
                        return self.error(FLOWER_USER_NAME_UPDATE_OVER_LIMIT)
                    else:
                        group_user_info.update_name(name)
                        cache.incr(redis_key, 1)
                else:
                    group_user_info.update_name(name)
                    cache.set(redis_key, 1)
                    cache.expire(redis_key, flower_user_name_update_limit_time)
            except Exception as e:
                logger.error(u'更新用户花名失败。Error:[%s]', e)
                return self.error(SYSTEM_ERROR)

        if UserChatStatus.is_flower_identity(user_id):
            rong_client.user_refresh(user_id, name=name)

        return self.render({
            'status': 0,
            'data': {
                'left_change_times': group_user_info.left_change_times(),
            }
        })
Ejemplo n.º 3
0
 def get_verify_code(cls, verify_type, telephone):
     cache = CacheManager().cache
     key = VERIFY_CODE_CACHE_KEY.get(verify_type) % telephone
     verify_code = cache.get(key)
     return verify_code