Exemplo n.º 1
0
    def search_key(self, param):
        """
		查询黑名单 通过content
		:return:
		"""
        try:
            if not param:
                return False
            """从redis读取字段"""
            result = BusinessUtil.get_redis_by_key(param)
            if result:
                return result
            """从数据库内查询"""
            _db = MySqlHelper()
            result = _db.fetch_all(black_roll_call_sql.search_key)
            """未查到数据"""
            if not result:
                return False
            black_dict = {}
            """循环遍历数据"""
            for item in result:
                if not item:
                    continue
                """生成分组"""
                item_key = BusinessUtil.get_verify_key(item.get("content"))
                if not item_key:
                    continue
                if item_key in black_dict:
                    black_dict[item_key].append(item.get("content"))
                else:
                    black_dict.setdefault(item_key, [])
                    black_dict[item_key].append(item.get("content"))
            """存入redis"""
            result_str = None
            for key in list(black_dict.keys()):
                item = black_dict[key]
                item_list = list(set(item))
                item_str = ",".join(item_list)
                if key == param:
                    result_str = item_str
                BusinessUtil.set_redis_reset_time_ex(key, item_str)
            return result_str
        except Exception as e:
            self.logger.error("【查询黑名单】查询异常信息为:%s" % traceback.format_exc())
        return False
Exemplo n.º 2
0
	def verify_email_is_in_black_roll_call(self, email):
		"""
		校验是否在黑名单内
		:param email:
		:return:
		"""
		"""获取redis key值"""
		redis_key = BusinessUtil.get_verify_key(email)
		"""如果未获取到值"""
		if not redis_key:
			return False
		"""通过key值查询redis"""
		redis_verify_email_value = BlackRollCallService().search_key(redis_key)
		"""未找到值"""
		if not redis_verify_email_value:
			return False
		"""从黑名单内查到字段"""
		if redis_verify_email_value.find(email) > -1:
			return True
		return False