| | |
| | | import lombok.AccessLevel; |
| | | import lombok.NoArgsConstructor; |
| | | import org.dromara.common.core.utils.reflect.ReflectUtils; |
| | | import org.dromara.common.mybatis.annotation.DataPermission; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | |
| | | |
| | | private static final ThreadLocal<Stack<Integer>> REENTRANT_IGNORE = ThreadLocal.withInitial(Stack::new); |
| | | |
| | | private static final ThreadLocal<DataPermission> PERMISSION_CACHE = new ThreadLocal<>(); |
| | | |
| | | /** |
| | | * 获取当前执行mapper权限注解 |
| | | * |
| | | * @return 返回当前执行mapper权限注解 |
| | | */ |
| | | public static DataPermission getPermission() { |
| | | return PERMISSION_CACHE.get(); |
| | | } |
| | | |
| | | /** |
| | | * 设置当前执行mapper权限注解 |
| | | * |
| | | * @param dataPermission 数据权限注解 |
| | | */ |
| | | public static void setPermission(DataPermission dataPermission) { |
| | | PERMISSION_CACHE.set(dataPermission); |
| | | } |
| | | |
| | | /** |
| | | * 删除当前执行mapper权限注解 |
| | | */ |
| | | public static void removePermission() { |
| | | PERMISSION_CACHE.remove(); |
| | | } |
| | | |
| | | /** |
| | | * 从上下文中获取指定键的变量值,并将其转换为指定的类型 |
| | | * |