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