app/job/list修改查询条件,工作经验和薪资范围

This commit is contained in:
chenshaohua
2026-07-08 10:59:23 +08:00
parent fdfe4276a3
commit f56fbe9591

View File

@@ -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()));