diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java index af653d6..207074f 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java @@ -524,20 +524,16 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.geoDistance(ESJobDocument::getLatAndLon,Double.valueOf(esJobSearch.getRadius()), DistanceUnit.KILOMETERS,new GeoPoint(Double.parseDouble(esJobSearch.getLatitude().toString()), Double.parseDouble(esJobSearch.getLongitude().toString()))); } if(!StringUtil.isEmptyOrNull(esJobSearch.getEducation())){ - //Integer maxValue = StringUtil.findMaxValue(esJobSearch.getEducation()); - //wrapper.and(x->x.le(ESJobDocument::getEducation_int,maxValue));//模糊查询 List integers=StringUtil.convertStringToIntegerList(esJobSearch.getEducation()); wrapper.and(x->x.in(ESJobDocument::getEducation,integers)); } - if(Objects.nonNull(esJobSearch.getMaxSalary())){ - wrapper.and(x->x.le(ESJobDocument::getMinSalary,esJobSearch.getMaxSalary())); + if (Objects.nonNull(esJobSearch.getMinSalary())) { + wrapper.filter(x -> x.ge(ESJobDocument::getMaxSalary, esJobSearch.getMinSalary())); } - if(Objects.nonNull(esJobSearch.getMinSalary())){ - wrapper.and(x->x.ge(ESJobDocument::getMaxSalary,esJobSearch.getMinSalary())); + if (Objects.nonNull(esJobSearch.getMaxSalary())) { + wrapper.filter(x -> x.le(ESJobDocument::getMinSalary, esJobSearch.getMaxSalary())); } if(!StringUtil.isEmptyOrNull(esJobSearch.getExperience())){ - //Integer maxValue = StringUtil.findMaxValue(esJobSearch.getExperience()); - //wrapper.and(x->x.le(ESJobDocument::getExperience_int,maxValue)); List integers = StringUtil.convertStringToIntegerList(esJobSearch.getExperience()); wrapper.and(x->x.in(ESJobDocument::getExperience_int,integers));//精准查询 } @@ -654,8 +650,6 @@ public class ESJobSearchImpl implements IESJobSearchService .match(ESJobDocument::getDescription,jobQuery.getJobTitle(),1.0f)); } if(!StringUtil.isEmptyOrNull(jobQuery.getEducation())){ - //wrapper.and(a->a.le(ESJobDocument::getEducation,jobQuery.getEducation())); - //wrapper.and(a->a.eq(ESJobDocument::getEducation,jobQuery.getEducation())); List integers=StringUtil.convertStringToIntegerList(jobQuery.getEducation()); wrapper.and(a->a.in(ESJobDocument::getEducation,integers)); } @@ -664,15 +658,14 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.and(x->x.in(ESJobDocument::getJobLocationAreaCode,integers)); } if(!StringUtil.isEmptyOrNull(jobQuery.getExperience())){ - //wrapper.and(a->a.le(ESJobDocument::getExperience,jobQuery.getExperience())); List integers = StringUtil.convertStringToIntegerList(jobQuery.getExperience()); wrapper.and(a->a.in(ESJobDocument::getExperience,integers)); } - if(Objects.nonNull(jobQuery.getMaxSalary())){ - wrapper.and(x->x.le(ESJobDocument::getMaxSalary,jobQuery.getMaxSalary())); + if (Objects.nonNull(jobQuery.getMinSalary())) { + wrapper.filter(x -> x.ge(ESJobDocument::getMaxSalary, jobQuery.getMinSalary())); } - if(Objects.nonNull(jobQuery.getMinSalary())){ - wrapper.and(x->x.ge(ESJobDocument::getMinSalary,jobQuery.getMinSalary())); + if (Objects.nonNull(jobQuery.getMaxSalary())) { + wrapper.filter(x -> x.le(ESJobDocument::getMinSalary, jobQuery.getMaxSalary())); } if(!StringUtil.isEmptyOrNull(jobQuery.getScaleDictCode())){ wrapper.and(a->a.eq(ESJobDocument::getScaleDictCode,jobQuery.getScaleDictCode())); diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java index 564b193..9d47137 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java @@ -451,7 +451,7 @@ public class StringUtil { */ public static Long extractVacancyNum(String source) { if (StringUtils.isBlank(source)) { - return -1L; + return 1L; } String text = source.trim(); if (text.contains("若干")) { @@ -468,6 +468,6 @@ public class StringUtil { } } catch (NumberFormatException ignored) {} } - return maxNum == null ? -1L : maxNum; + return maxNum == null ? 1L : maxNum; } }