22
33import com .baomidou .mybatisplus .extension .plugins .MybatisPlusInterceptor ;
44import com .baomidou .mybatisplus .extension .plugins .inner .DataPermissionInterceptor ;
5+ import com .github .cadecode .uniboot .common .plugin .mybatis .aspect .DataScopeAspect ;
6+ import com .github .cadecode .uniboot .common .plugin .mybatis .aspect .DataScopeAspect .DataScopeParam ;
57import com .github .cadecode .uniboot .common .plugin .mybatis .handler .DataScopePermissionHandler ;
8+ import org .apache .ibatis .executor .Executor ;
9+ import org .apache .ibatis .mapping .BoundSql ;
10+ import org .apache .ibatis .mapping .MappedStatement ;
11+ import org .apache .ibatis .session .ResultHandler ;
12+ import org .apache .ibatis .session .RowBounds ;
613import org .springframework .context .annotation .Bean ;
714import org .springframework .context .annotation .Configuration ;
815
16+ import java .sql .SQLException ;
17+ import java .util .Objects ;
18+
919/**
1020 * mybatis 配置类
1121 *
@@ -22,7 +32,17 @@ public class MybatisConfig {
2232 public MybatisPlusInterceptor mybatisPlusInterceptor () {
2333 MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor ();
2434 // 数据权限插件
25- DataPermissionInterceptor dataPermissionInterceptor = new DataPermissionInterceptor (new DataScopePermissionHandler ());
35+ DataPermissionInterceptor dataPermissionInterceptor = new DataPermissionInterceptor (new DataScopePermissionHandler ()) {
36+ @ Override
37+ public void beforeQuery (Executor executor , MappedStatement ms , Object parameter , RowBounds rowBounds , ResultHandler resultHandler , BoundSql boundSql ) throws SQLException {
38+ // 没有使用注解时,跳过
39+ DataScopeParam dataScopeParam = DataScopeAspect .currDataScope ();
40+ if (Objects .isNull (dataScopeParam ) || !dataScopeParam .isEnableFilter ()) {
41+ return ;
42+ }
43+ super .beforeQuery (executor , ms , parameter , rowBounds , resultHandler , boundSql );
44+ }
45+ };
2646 interceptor .addInnerInterceptor (dataPermissionInterceptor );
2747
2848 // 添加分页插件,动态获取数据库类型
0 commit comments