package com.youlai.boot.common.enums; import com.youlai.boot.common.base.IBaseEnum; import lombok.Getter; /** * 数据权限枚举 *
* 多角色数据权限合并策略:取并集(OR),即用户能看到所有角色权限范围内的数据。
* 如果任一角色是 ALL,则直接跳过数据权限过滤。
*
* @author Ray.Hao
* @since 2.3.0
*/
@Getter
public enum DataScopeEnum implements IBaseEnum
* 需要配合 sys_role_dept 表使用,存储角色可访问的部门ID列表
*/
CUSTOM(5, "自定义部门数据");
private final Integer value;
private final String label;
DataScopeEnum(Integer value, String label) {
this.value = value;
this.label = label;
}
/**
* 判断是否为全部数据权限
*
* @param value 数据权限值
* @return 是否为全部数据权限
*/
public static boolean isAll(Integer value) {
return ALL.getValue().equals(value);
}
/**
* 根据值获取枚举
*
* @param value 数据权限值
* @return 枚举对象,未找到则返回 null
*/
public static DataScopeEnum getByValue(Integer value) {
if (value == null) {
return null;
}
for (DataScopeEnum dataScope : values()) {
if (dataScope.getValue().equals(value)) {
return dataScope;
}
}
return null;
}
}