mirror of https://gitee.com/stylefeng/roses
【8.1.1】【db】更新数据范围的holder和配置
parent
e47abb2ef5
commit
2a11fc0574
|
@ -0,0 +1,52 @@
|
||||||
|
package cn.stylefeng.roses.kernel.db.mp.datascope.config;
|
||||||
|
|
||||||
|
import cn.stylefeng.roses.kernel.rule.enums.permission.DataScopeTypeEnum;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据范围权限配置
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2024-02-29 10:04
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DataScopeConfig {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户的数据范围权限类型
|
||||||
|
*/
|
||||||
|
private DataScopeTypeEnum dataScopeType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 限制的用户id
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户所在部门id
|
||||||
|
*/
|
||||||
|
private Long userDeptId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户所在公司id
|
||||||
|
*/
|
||||||
|
private Long userCompanyId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指定机构的ID列表,仅在数据范围类型为 DEFINE 时使用
|
||||||
|
*/
|
||||||
|
private List<Long> specificOrgIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 限制组织机构范围的字段名称
|
||||||
|
*/
|
||||||
|
private String orgIdFieldName = "org_id";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用来限制只查询自己数据的字段名称
|
||||||
|
*/
|
||||||
|
private String userIdFieldName = "user_id";
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
package cn.stylefeng.roses.kernel.db.mp.datascope.holder;
|
||||||
|
|
||||||
|
import cn.stylefeng.roses.kernel.db.mp.datascope.config.DataScopeConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据范围配置上下文,通过使用这个类进行数据范围的配置
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2024-02-29 10:16
|
||||||
|
*/
|
||||||
|
public class DataScopeHolder {
|
||||||
|
|
||||||
|
private static final ThreadLocal<DataScopeConfig> DATA_SCOPE_CONFIG_HOLDER = new ThreadLocal<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置数据范围配置
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2024-02-29 10:17
|
||||||
|
*/
|
||||||
|
public static void set(DataScopeConfig tenantId) {
|
||||||
|
DATA_SCOPE_CONFIG_HOLDER.set(tenantId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取数据范围的配置
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2024-02-29 10:17
|
||||||
|
*/
|
||||||
|
public static DataScopeConfig get() {
|
||||||
|
return DATA_SCOPE_CONFIG_HOLDER.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除数据范围的配置
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2024-02-29 10:17
|
||||||
|
*/
|
||||||
|
public static void remove() {
|
||||||
|
DATA_SCOPE_CONFIG_HOLDER.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue