数据权限源码修改
This commit is contained in:
parent
92b5fe9365
commit
97b3a311c4
|
@ -118,7 +118,7 @@ public class QueryGenerator {
|
|||
|
||||
//区间条件组装 模糊查询 高级查询组装 简单排序 权限查询
|
||||
PropertyDescriptor[] origDescriptors = PropertyUtils.getPropertyDescriptors(searchObj);
|
||||
Map<String,SysPermissionDataRuleModel> ruleMap = getRuleMap();
|
||||
Map<String,SysPermissionDataRuleModel> ruleMap = getRuleMap2();
|
||||
|
||||
//权限规则自定义SQL表达式
|
||||
for (String c : ruleMap.keySet()) {
|
||||
|
@ -727,6 +727,31 @@ public class QueryGenerator {
|
|||
}
|
||||
return ruleMap;
|
||||
}
|
||||
public static Map<String, SysPermissionDataRuleModel> getRuleMap2() {
|
||||
Map<String, SysPermissionDataRuleModel> ruleMap = new HashMap<String, SysPermissionDataRuleModel>();
|
||||
List<SysPermissionDataRuleModel> list = JeecgDataAutorUtils.loadDataSearchConditon();
|
||||
if (list != null && list.size() > 0) {
|
||||
if (list.get(0) == null) {
|
||||
return ruleMap;
|
||||
}
|
||||
for (SysPermissionDataRuleModel rule : list) {
|
||||
String column = rule.getRuleColumn();
|
||||
if (QueryRuleEnum.SQL_RULES.getValue().equals(rule.getRuleConditions())) {
|
||||
column = SQL_RULES_COLUMN + rule.getId();
|
||||
}
|
||||
if (ruleMap.containsKey(column)) {
|
||||
// 如果有相同的列权限规则,进行拼接
|
||||
SysPermissionDataRuleModel ruleTemp = ruleMap.get(column);
|
||||
ruleTemp.setRuleConditions("IN");
|
||||
ruleTemp.setRuleValue(ruleTemp.getRuleValue() + "," + rule.getRuleValue());
|
||||
ruleMap.put(column, ruleTemp);
|
||||
}else {
|
||||
ruleMap.put(column, rule);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ruleMap;
|
||||
}
|
||||
|
||||
private static void addRuleToQueryWrapper(SysPermissionDataRuleModel dataRule, String name, Class propertyType, QueryWrapper<?> queryWrapper) {
|
||||
QueryRuleEnum rule = QueryRuleEnum.getByValue(dataRule.getRuleConditions());
|
||||
|
|
Loading…
Reference in New Issue