课程多选查询

This commit is contained in:
daihh
2022-12-14 18:52:36 +08:00
parent 97a83f6326
commit 8dc050e01c
2 changed files with 33 additions and 4 deletions

View File

@@ -15,7 +15,6 @@ public class CourseFullText {
/**es中的id*/ /**es中的id*/
private String esId; private String esId;
/**名称*/ /**名称*/
private String name; private String name;
@@ -29,6 +28,8 @@ public class CourseFullText {
/**10无目录录播课20 有目录录播课30:面授课40学习项目*/ /**10无目录录播课20 有目录录播课30:面授课40学习项目*/
private Integer type; private Integer type;
/**多个时用到*/
private String types;
/**原系统的企业id,对应sass模式的字段*/ /**原系统的企业id,对应sass模式的字段*/
private String companyId; private String companyId;

View File

@@ -264,7 +264,19 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
}else { }else {
boolQuery.filter(QueryBuilders.termQuery("type", params.getType())); boolQuery.filter(QueryBuilders.termQuery("type", params.getType()));
} }
}else if(StringUtils.isNotBlank(params.getTypes())) {
List<Integer> typeList=new ArrayList<>();
if(params.getTypes().indexOf("20")>-1) {
typeList.add(10);
} }
String[] typeArray=params.getTypes().split("-");
for(String s:typeArray) {
typeList.add(Integer.valueOf(s));
}
boolQuery.filter(QueryBuilders.termsQuery("type", typeList));
}
if(params.getSource()!=null) { if(params.getSource()!=null) {
boolQuery.filter(QueryBuilders.termQuery("source", params.getSource())); boolQuery.filter(QueryBuilders.termQuery("source", params.getSource()));
@@ -273,14 +285,30 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
boolQuery.filter(QueryBuilders.termQuery("openCourse", params.getOpenCourse())); boolQuery.filter(QueryBuilders.termQuery("openCourse", params.getOpenCourse()));
} }
if(StringUtils.isNotBlank(params.getSysType1())) { if(StringUtils.isNotBlank(params.getSysType1())) {
if(params.getSysType1().indexOf("-")>-1) {
String[] typeArray=params.getSysType1().split("-");
boolQuery.filter(QueryBuilders.termsQuery("sysType1", typeArray));
}else {
boolQuery.filter(QueryBuilders.termQuery("sysType1", params.getSysType1())); boolQuery.filter(QueryBuilders.termQuery("sysType1", params.getSysType1()));
} }
}
if(StringUtils.isNotBlank(params.getSysType2())) { if(StringUtils.isNotBlank(params.getSysType2())) {
if(params.getSysType2().indexOf("-")>-1) {
String[] typeArray=params.getSysType2().split("-");
boolQuery.filter(QueryBuilders.termsQuery("sysType2", typeArray));
}else {
boolQuery.filter(QueryBuilders.termQuery("sysType2", params.getSysType2())); boolQuery.filter(QueryBuilders.termQuery("sysType2", params.getSysType2()));
} }
}
if(StringUtils.isNotBlank(params.getSysType3())) { if(StringUtils.isNotBlank(params.getSysType3())) {
if(params.getSysType3().indexOf("-")>-1) {
String[] typeArray=params.getSysType3().split("-");
boolQuery.filter(QueryBuilders.termsQuery("sysType3", typeArray));
}else {
boolQuery.filter(QueryBuilders.termQuery("sysType3", params.getSysType3())); boolQuery.filter(QueryBuilders.termQuery("sysType3", params.getSysType3()));
} }
}
//增加companyId过滤 //增加companyId过滤
if(StringUtils.isNotBlank(params.getCompanyId())) { if(StringUtils.isNotBlank(params.getCompanyId())) {
BoolQueryBuilder companyFilter= QueryBuilders.boolQuery(); BoolQueryBuilder companyFilter= QueryBuilders.boolQuery();