app/job/list修改查询条件,工作经验和薪资范围
This commit is contained in:
@@ -671,24 +671,16 @@ public class ESJobSearchImpl implements IESJobSearchService
|
|||||||
List<Integer> integers = StringUtil.convertStringToIntegerList(jobQuery.getArea().trim());
|
List<Integer> integers = StringUtil.convertStringToIntegerList(jobQuery.getArea().trim());
|
||||||
wrapper.and(x->x.in(ESJobDocument::getJobLocationAreaCode,integers));
|
wrapper.and(x->x.in(ESJobDocument::getJobLocationAreaCode,integers));
|
||||||
}
|
}
|
||||||
if(hasText(jobQuery.getExperience())){
|
if(!StringUtil.isEmptyOrNull(jobQuery.getExperience())){
|
||||||
// 支持逗号分隔的多值筛选,取最大值(最宽松的经验要求)
|
List<Integer> integers = StringUtil.convertStringToIntegerList(jobQuery.getExperience());
|
||||||
String expStr = jobQuery.getExperience().trim();
|
wrapper.and(a->a.in(ESJobDocument::getExperience,integers));
|
||||||
if (expStr.contains(",")) {
|
|
||||||
Integer maxExp = StringUtil.findMaxValue(expStr);
|
|
||||||
if (maxExp != null) {
|
|
||||||
wrapper.and(a->a.le(ESJobDocument::getExperience,maxExp.toString()));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
wrapper.and(a->a.le(ESJobDocument::getExperience,expStr));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// 薪资范围:岗位最高薪资必须在用户筛选范围内
|
// 薪资范围:岗位最高薪资必须在用户筛选范围内
|
||||||
if(Objects.nonNull(jobQuery.getMaxSalary())){
|
if (Objects.nonNull(jobQuery.getMinSalary())) {
|
||||||
wrapper.and(x->x.le(ESJobDocument::getMaxSalary,jobQuery.getMaxSalary()));
|
wrapper.filter(x -> x.ge(ESJobDocument::getMaxSalary, jobQuery.getMinSalary()));
|
||||||
}
|
}
|
||||||
if(Objects.nonNull(jobQuery.getMinSalary())){
|
if (Objects.nonNull(jobQuery.getMaxSalary())) {
|
||||||
wrapper.and(x->x.ge(ESJobDocument::getMaxSalary,jobQuery.getMinSalary()));
|
wrapper.filter(x -> x.le(ESJobDocument::getMinSalary, jobQuery.getMaxSalary()));
|
||||||
}
|
}
|
||||||
if(hasText(jobQuery.getScaleDictCode())){
|
if(hasText(jobQuery.getScaleDictCode())){
|
||||||
wrapper.and(a->a.eq(ESJobDocument::getScaleDictCode,jobQuery.getScaleDictCode().trim()));
|
wrapper.and(a->a.eq(ESJobDocument::getScaleDictCode,jobQuery.getScaleDictCode().trim()));
|
||||||
|
|||||||
Reference in New Issue
Block a user