|
@ -46,8 +46,7 @@ public class UserSearchServiceImpl implements UserSearchService { |
|
|
List<Criteria> userCriteriaList = new ArrayList<>(); |
|
|
List<Criteria> userCriteriaList = new ArrayList<>(); |
|
|
/** |
|
|
/** |
|
|
* 前端已将【queryCriteria、机构查询条件、角色查询条件】重新使用 and 操作进行组装,后端需提取出来进行处理。 |
|
|
* 前端已将【queryCriteria、机构查询条件、角色查询条件】重新使用 and 操作进行组装,后端需提取出来进行处理。 |
|
|
* 只要存在查询条件,最外层一定是 { fieldName: null, operator: 'and', criteria: [...] }; |
|
|
* 组装的条件在 queryParameter 中数组下标第一位,格式一定是 { fieldName: null, operator: 'and', criteria: [...] }; |
|
|
* 所以最外层无需处理,直接处理最外层的 criteria 数组。 |
|
|
|
|
|
*/ |
|
|
*/ |
|
|
List<Criteria> criterias = queryParameter.getCriterias().get(0).getCriteria(); |
|
|
List<Criteria> criterias = queryParameter.getCriterias().get(0).getCriteria(); |
|
|
for (Criteria criteria: criterias) { |
|
|
for (Criteria criteria: criterias) { |
|
@ -72,12 +71,22 @@ public class UserSearchServiceImpl implements UserSearchService { |
|
|
userCriteriaList.add(criteria); |
|
|
userCriteriaList.add(criteria); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
// 界面上查询条件进行过滤的条件会增加到 queryParameter 中的 criteria 数组中,需增加到 userCriteriaList 中。
|
|
|
|
|
|
addOtherCriteria(userCriteriaList, queryParameter); |
|
|
return CriteriaHandler.buildQueryParameter(queryParameter, userCriteriaList); |
|
|
return CriteriaHandler.buildQueryParameter(queryParameter, userCriteriaList); |
|
|
} else { |
|
|
} else { |
|
|
return queryParameter; |
|
|
return queryParameter; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void addOtherCriteria(List<Criteria> userCriteriaList, QueryParameter queryParameter) { |
|
|
|
|
|
if (queryParameter.getCriterias().size() > 1) { |
|
|
|
|
|
for (int i=1; i<queryParameter.getCriterias().size(); i++) { |
|
|
|
|
|
userCriteriaList.add(queryParameter.getCriterias().get(i)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private void roleCriteriaHandler(Equals roleCriteria, List<Criteria> userCriteriaList) throws Exception { |
|
|
private void roleCriteriaHandler(Equals roleCriteria, List<Criteria> userCriteriaList) throws Exception { |
|
|
QueryParameter roleQueryParameter = new QueryParameter(); |
|
|
QueryParameter roleQueryParameter = new QueryParameter(); |
|
|
roleQueryParameter.setCriteria(roleCriteria.getValue()); |
|
|
roleQueryParameter.setCriteria(roleCriteria.getValue()); |
|
|