2026-06-24 f4bd1f3c89d906131495a0aca5aaf82966378510
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package cn.iocoder.yudao.framework.tenant.core.aop;
 
import cn.iocoder.yudao.framework.tenant.config.TenantProperties;
 
import java.lang.annotation.*;
 
/**
 * 忽略租户,标记指定方法不进行租户的自动过滤
 *
 * 注意,只有 DB 的场景会过滤,其它场景暂时不过滤:
 * 1、Redis 场景:因为是基于 Key 实现多租户的能力,所以忽略没有意义,不像 DB 是一个 column 实现的
 * 2、MQ 场景:有点难以抉择,目前可以通过 Consumer 手动在消费的方法上,添加 @TenantIgnore 进行忽略
 *
 * 特殊:
 * 1、如果添加到 Controller 类上,则该 URL 自动添加到 {@link TenantProperties#getIgnoreUrls()} 中
 * 2、如果添加到 DO 实体类上,则它对应的表名“相当于”自动添加到 {@link TenantProperties#getIgnoreTables()} 中
 *
 * @author 芋道源码
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface TenantIgnore {
 
    /**
     * 是否开启忽略租户,默认为 true 开启
     *
     * 支持 Spring EL 表达式,如果返回 true 则满足条件,进行租户的忽略
     */
    String enable() default "true";
 
}