diff --git a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java index 91e08fe5..473e6951 100644 --- a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java +++ b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java @@ -369,17 +369,22 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ //has.must(QueryBuilders.termsQuery("audience", ids)); has.must(QueryBuilders.termsQuery("audiences", params.getAudiences())); //查询出例外人员创建的课程 - BoolQueryBuilder exception =QueryBuilders.boolQuery(); - exception.must(QueryBuilders.termQuery("sysCreateAid",params.getSysCreateAids())); - audience.should(exception); + if(params.getSysCreateAids()!=null && params.getSysCreateAids().length>0) { + BoolQueryBuilder exception =QueryBuilders.boolQuery(); + exception.must(QueryBuilders.termQuery("sysCreateAid",params.getSysCreateAids())); + audience.should(exception); + } audience.should(has); audience.minimumShouldMatch(1); - boolQuery.filter(audience); //log.error("audience="+audience.toString()); }else { //如果当前用户无受众,只能查询未设置受众的课程 - boolQuery.must(QueryBuilders.termQuery("isSetAudience",0)); + boolQuery.should(QueryBuilders.termQuery("isSetAudience",0)); + if(params.getSysCreateAids()!=null && params.getSysCreateAids().length>0) { + boolQuery.should(QueryBuilders.termQuery("sysCreateAid",params.getSysCreateAids())); + + } } }