1、实现思路,通过ThreadLocal获取是否开启数据权限,开启则通过mybatis-plus的DataPermissionHandler实现数据权限
controller上添加的注解DataScope.java
package com.pojo.common.datascope.annotation;
import com.pojo.common.core.config.HkhjDataPermissionHandler;
import com.pojo.common.core.utils.DataScopeContext;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 数据权限过滤注解
*
* @author zsj
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataScope {
/**
* 部门数据权限查询列名
*/
String deptId() default DataScopeContext.DEPT_ID;
/**
* 用户数据权限查询列名
*/
String userSelf() default DataScopeContext.USER_SELF;
}
2、aop切面DataScopeAspect.java
package com.pojo.common.datascope.