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());
|
||||
wrapper.and(x->x.in(ESJobDocument::getJobLocationAreaCode,integers));
|
||||
}
|
||||
if(hasText(jobQuery.getExperience())){
|
||||
// 支持逗号分隔的多值筛选,取最大值(最宽松的经验要求)
|
||||
String expStr = jobQuery.getExperience().trim();
|
||||
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(!StringUtil.isEmptyOrNull(jobQuery.getExperience())){
|
||||
List<Integer> 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.and(x->x.ge(ESJobDocument::getMaxSalary,jobQuery.getMinSalary()));
|
||||
wrapper.filter(x -> x.ge(ESJobDocument::getMaxSalary, jobQuery.getMinSalary()));
|
||||
}
|
||||
if (Objects.nonNull(jobQuery.getMaxSalary())) {
|
||||
wrapper.filter(x -> x.le(ESJobDocument::getMinSalary, jobQuery.getMaxSalary()));
|
||||
}
|
||||
if(hasText(jobQuery.getScaleDictCode())){
|
||||
wrapper.and(a->a.eq(ESJobDocument::getScaleDictCode,jobQuery.getScaleDictCode().trim()));
|
||||
|
||||
Reference in New Issue
Block a user