忽略数据权限

This commit is contained in:
guoshengxiong 2024-07-29 17:30:42 +08:00
parent bf46f8776f
commit 35e47a4e56

View File

@ -48,19 +48,28 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte
if (parameter instanceof Map) {
Map<?, ?> map = (Map<?, ?>) parameter;
for (Object k : map.keySet()) {
Object val = map.get(k);
if (k instanceof String) {
if (k.equals(Cts.IGNORE_DATA_SCOPE)) {
//查询只有一个参数map的时候key等于IGNORE_DATA_SCOPE
//查询只有一个参数map的时候key等于IGNORE_DATA_SCOPE不使用@Param时候
return true;
}
}
Object val = map.get(k);
if (val instanceof QueryWrapper) {
String sqlSegment = ((QueryWrapper) val).getSqlSegment();
if (StrUtil.isNotBlank(sqlSegment) && sqlSegment.contains(Cts.IGNORE_DATA_SCOPE_CONDITION)) {
//调用mybatisplus的mapper方法使用last方法添加参数IGNORE_DATA_SCOPE_CONDITION
return true;
}
} else if (val instanceof Map) {
Map innerMap = (Map) val;
for (Object entry : innerMap.entrySet()) {
Map.Entry<Object, Object> et = (Map.Entry<Object, Object>) entry;
if (et.getKey().equals(Cts.IGNORE_DATA_SCOPE)) {
//查询只有一个参数map的时候key等于IGNORE_DATA_SCOPE使用@Param时候
return true;
}
}
}
}
}