Commit 03c341ac by zhangkb

修改查询标签接口

parent 09ad151b
...@@ -222,10 +222,8 @@ public class TagService { ...@@ -222,10 +222,8 @@ public class TagService {
page.setData(new ArrayList<ExtTag>()); page.setData(new ArrayList<ExtTag>());
page.setTotal(0L); page.setTotal(0L);
if(!companyOrgIdList.isEmpty()) { if(!companyOrgIdList.isEmpty()) {
Criteria andCriterias = createPersonalDimensionTagCriteria(userName, path, companyOrgIdList); Criteria andCriterias = createPersonalDimensionTagCriteria(userName, path,
if (StringUtils.isNotBlank(keyword) && !"*".equals(keyword)) { companyOrgIdList, keyword);
andCriterias.andOperator(createKeywordRegexQuery(Arrays.asList("name", "nameEn", "desc"), keyword));
}
Query q = createPageQuery(page, andCriterias); Query q = createPageQuery(page, andCriterias);
List<Tag> tags = mongoOperations.find(q, Tag.class); List<Tag> tags = mongoOperations.find(q, Tag.class);
long count = mongoOperations.count(q, Tag.class); long count = mongoOperations.count(q, Tag.class);
...@@ -256,10 +254,8 @@ public class TagService { ...@@ -256,10 +254,8 @@ public class TagService {
page.setTotal(0L); page.setTotal(0L);
List<String> companyOrgIdList = this.getCompanyOrgIdListByUserOrgIds(orgIds); List<String> companyOrgIdList = this.getCompanyOrgIdListByUserOrgIds(orgIds);
if(!companyOrgIdList.isEmpty()) { if(!companyOrgIdList.isEmpty()) {
Criteria andCriterias = createPersonalTagCriteria(userName, orgIds, companyOrgIdList, path); Criteria andCriterias = createPersonalTagCriteria(userName, orgIds,
if (StringUtils.isNotBlank(keyword) && !"*".equals(keyword)) { companyOrgIdList, path, keyword);
andCriterias.andOperator(createKeywordRegexQuery(Arrays.asList("name", "nameEn", "desc"), keyword));
}
Query q = createPageQuery(page, andCriterias); Query q = createPageQuery(page, andCriterias);
List<Tag> tags = mongoOperations.find(q, Tag.class); List<Tag> tags = mongoOperations.find(q, Tag.class);
...@@ -468,7 +464,7 @@ public class TagService { ...@@ -468,7 +464,7 @@ public class TagService {
} }
//拼接根据机构id查询个人维度标签 //拼接根据机构id查询个人维度标签
private Criteria createPersonalDimensionTagCriteria(String userName, private Criteria createPersonalDimensionTagCriteria(String userName,
String path, List<String> companyOrgIdList)throws TagNotExistException { String path, List<String> companyOrgIdList,String keyword)throws TagNotExistException {
Criteria criteriaOr = new Criteria(); Criteria criteriaOr = new Criteria();
List<Criteria> criteriaOrList = new ArrayList<>(); List<Criteria> criteriaOrList = new ArrayList<>();
Criteria criteria = Criteria.where("tagType").is(Constants.TAG_PERSONAL_TYPE) Criteria criteria = Criteria.where("tagType").is(Constants.TAG_PERSONAL_TYPE)
...@@ -478,7 +474,12 @@ public class TagService { ...@@ -478,7 +474,12 @@ public class TagService {
criteriaOrList.add(criteriaPro); criteriaOrList.add(criteriaPro);
} }
criteriaOr.orOperator(criteriaOrList.toArray(new Criteria[0])); criteriaOr.orOperator(criteriaOrList.toArray(new Criteria[0]));
if (StringUtils.isNotBlank(keyword) && !"*".equals(keyword)) {
criteria.andOperator(criteriaOr,
createKeywordRegexQuery(Arrays.asList("name", "nameEn", "desc"), keyword));
}else {
criteria.andOperator(criteriaOr); criteria.andOperator(criteriaOr);
}
if (StringUtils.isNotBlank(path)) { if (StringUtils.isNotBlank(path)) {
criteria.and("path").regex("^"+path); criteria.and("path").regex("^"+path);
} }
...@@ -509,7 +510,7 @@ public class TagService { ...@@ -509,7 +510,7 @@ public class TagService {
} }
//拼接个人标签查询条件 //拼接个人标签查询条件
private Criteria createPersonalTagCriteria(String userName, List<String> orgIds, private Criteria createPersonalTagCriteria(String userName, List<String> orgIds,
List<String> companyOrgIdList, String path) throws TagNotExistException{ List<String> companyOrgIdList, String path,String keyword) throws TagNotExistException{
Criteria criteria = Criteria.where("tagType").is(Constants.TAG_PERSONAL_TYPE); Criteria criteria = Criteria.where("tagType").is(Constants.TAG_PERSONAL_TYPE);
Criteria criteriaOr = new Criteria(); Criteria criteriaOr = new Criteria();
List<Criteria> criteriaOrList = new ArrayList<>(); List<Criteria> criteriaOrList = new ArrayList<>();
...@@ -529,7 +530,12 @@ public class TagService { ...@@ -529,7 +530,12 @@ public class TagService {
criteriaOrList.add(criteriaUser); criteriaOrList.add(criteriaUser);
} }
criteriaOr.orOperator(criteriaOrList.toArray(new Criteria[0])); criteriaOr.orOperator(criteriaOrList.toArray(new Criteria[0]));
if (StringUtils.isNotBlank(keyword) && !"*".equals(keyword)) {
criteria.andOperator(criteriaOr,
createKeywordRegexQuery(Arrays.asList("name", "nameEn", "desc"), keyword));
}else {
criteria.andOperator(criteriaOr); criteria.andOperator(criteriaOr);
}
return criteria; return criteria;
} }
//拼接查询当前系统标签子标签条件 //拼接查询当前系统标签子标签条件
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment