ES针对于companyId的查询处理

This commit is contained in:
daihh
2022-10-22 19:50:59 +08:00
parent 300e77d19c
commit ac42a232f2

View File

@@ -282,11 +282,20 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
} }
//增加companyId过滤 //增加companyId过滤
if(StringUtils.isNotBlank(params.getCompanyId())) { if(StringUtils.isNotBlank(params.getCompanyId())) {
boolQuery.filter(QueryBuilders.termQuery("companyId", params.getCompanyId())); BoolQueryBuilder companyFilter= QueryBuilders.boolQuery();
companyFilter.should(QueryBuilders.termQuery("source",2));//新系统的数据
BoolQueryBuilder old= QueryBuilders.boolQuery();
old.must(QueryBuilders.termQuery("source",1));//必须是老系统的数据
old.must(QueryBuilders.termQuery("companyId",params.getCompanyId()));//必须是老系统的数据
companyFilter.should(old);
companyFilter.minimumShouldMatch(1);
boolQuery.filter(companyFilter);
} }
//加上Source判断是为了应对后台查询后台查询时不需要权限但是需要指定数据来源 //加上Source判断是为了应对后台查询后台查询时不需要权限但是需要指定数据来源
if(params.getSource()==null || params.getSource()==0 ) { if(params.getSource()==null || params.getSource()==0 ) {
//受众权限条件,必须是有受众的课程并且受众条件不为空 //受众权限条件,必须是有受众的课程并且受众条件不为空
if(params.getAudiences()!=null && params.getAudiences().length>0) { if(params.getAudiences()!=null && params.getAudiences().length>0) {