All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yixan.base.controlling.DataIsolationTools Maven / Gradle / Ivy

The newest version!
package com.yixan.base.controlling;

import java.util.List;

import com.yixan.base.common.api.system.model.IUser;
import com.yixan.tools.common.feature.orm.mybatis.interceptor.DataIsolationBaseControlling;

/**
 * 通过注解@DataIsolation实现数据隔离
* 如果具体业务实现时需要查询全部数据(即不需要带隔离条件):
* 调接口前先禁用 DataIsolationTools.disable("xxx")
* 调完之后再启用 DataIsolationTools.enable("xxx")
* * @author zhaohuihua * @version V1.0 2017年6月13日 * @see DataIsolationBaseControlling */ public class DataIsolationTools { private static final String GROUP = "DataIsolation"; private static IControllingVars vars = ControllingVars.me; /** 当前登录用户(用于非WEB端发起的数据隔离) **/ public static void setOperator(IUser operator) { vars.setOperator(operator); } /** 当前登录用户(用于非WEB端发起的数据隔离) **/ public static IUser getOperator() { return vars.getOperator(); } /** 禁用指定字段的数据隔离 **/ public static void disable(String field, String... fields) { vars.disableDataIsolation(field, fields); } /** 启用指定字段的数据隔离 **/ public static void enable(String field, String... fields) { vars.enableDataIsolation(field, fields); } /** 检查指定字段是否启用数据隔离 **/ public static boolean using(String field) { return vars.useDataIsolation(field); } /** 根据KEY保存数据 **/ public static void put(String key, Object value) { vars.put(GROUP, key, value); } /** 根据KEY获取数据 **/ public static Object get(String key) { return vars.get(GROUP, key); } /** 根据KEY获取数据 **/ public static T get(String key, Class clazz) { return vars.get(GROUP, key, clazz); } /** 根据KEY获取数据 **/ public static List getList(String key, Class clazz) { return vars.getList(GROUP, key, clazz); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy