diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Job.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Job.java index d3be7aa..50e6738 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Job.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Job.java @@ -118,7 +118,7 @@ public class Job extends BaseEntity @ApiModelProperty("是否发布 0未发布 1发布") private Integer isPublish; - @ApiModelProperty("数据来源") + @ApiModelProperty("数据来源 0系统自录,1 365平台同步,2招聘会同步,3岗位抓取") private String dataSource; @ApiModelProperty("岗位链接") 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 0573c44..84af6ed 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 @@ -488,9 +488,10 @@ 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()); + //Integer maxValue = StringUtil.findMaxValue(esJobSearch.getEducation()); //wrapper.and(x->x.le(ESJobDocument::getEducation_int,maxValue));//模糊查询 - wrapper.and(x->x.eq(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::getMaxSalary,esJobSearch.getMaxSalary())); @@ -499,9 +500,10 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.and(x->x.ge(ESJobDocument::getMinSalary,esJobSearch.getMinSalary())); } if(!StringUtil.isEmptyOrNull(esJobSearch.getExperience())){ - Integer maxValue = StringUtil.findMaxValue(esJobSearch.getExperience()); + //Integer maxValue = StringUtil.findMaxValue(esJobSearch.getExperience()); //wrapper.and(x->x.le(ESJobDocument::getExperience_int,maxValue)); - wrapper.and(x->x.eq(ESJobDocument::getExperience_int,maxValue));//精准查询 + List integers = StringUtil.convertStringToIntegerList(esJobSearch.getExperience()); + wrapper.and(x->x.in(ESJobDocument::getExperience_int,integers));//精准查询 } if(!StringUtil.isEmptyOrNull(esJobSearch.getJobCategory())){ //wrapper.and(x->x.eq(ESJobDocument::getJobCategory,esJobSearch.getJobCategory())); @@ -511,9 +513,10 @@ public class ESJobSearchImpl implements IESJobSearchService .like(ESJobDocument::getJobTitle, targetValue)); } if(!StringUtil.isEmptyOrNull(esJobSearch.getScale())){ - Integer maxValue = StringUtil.findMaxValue(esJobSearch.getScale()); + //Integer maxValue = StringUtil.findMaxValue(esJobSearch.getScale()); //wrapper.and(x->x.le(ESJobDocument::getScale,maxValue)); - wrapper.and(x->x.eq(ESJobDocument::getScale,maxValue));//精准查询 + List integers = StringUtil.convertStringToIntegerList(esJobSearch.getScale()); + wrapper.and(x->x.in(ESJobDocument::getScale,integers));//精准查询 } if(!StringUtil.isEmptyOrNull(esJobSearch.getArea())){ List integers = StringUtil.convertStringToIntegerList(esJobSearch.getArea()); @@ -523,7 +526,8 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.and(x->x.eq(ESJobDocument::getJobType,esJobSearch.getJobType())); } if(!StringUtil.isEmptyOrNull(esJobSearch.getType())){ - wrapper.and(x->x.eq(ESJobDocument::getType,esJobSearch.getType())); + List integers = StringUtil.convertStringToIntegerList(esJobSearch.getType()); + wrapper.and(x->x.in(ESJobDocument::getType,integers)); } if(!StringUtil.isEmptyOrNull(esJobSearch.getDescription())){ wrapper.and(x->x.like(ESJobDocument::getDescription,esJobSearch.getDescription())); @@ -591,7 +595,9 @@ public class ESJobSearchImpl implements IESJobSearchService } if(!StringUtil.isEmptyOrNull(jobQuery.getEducation())){ //wrapper.and(a->a.le(ESJobDocument::getEducation,jobQuery.getEducation())); - wrapper.and(a->a.eq(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)); } if(!StringUtil.isEmptyOrNull(jobQuery.getArea())){ List integers = StringUtil.convertStringToIntegerList(jobQuery.getArea()); @@ -599,7 +605,8 @@ public class ESJobSearchImpl implements IESJobSearchService } if(!StringUtil.isEmptyOrNull(jobQuery.getExperience())){ //wrapper.and(a->a.le(ESJobDocument::getExperience,jobQuery.getExperience())); - wrapper.and(a->a.eq(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())); @@ -617,10 +624,12 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.geoDistance(ESJobDocument::getLatAndLon,Double.valueOf(jobQuery.getRadius()), DistanceUnit.KILOMETERS,new GeoPoint(Double.parseDouble(jobQuery.getLatitude().toString()), Double.parseDouble(jobQuery.getLongitude().toString()))); } if(jobQuery.getJobLocationAreaCode()!=null){ - wrapper.and(a->a.eq(ESJobDocument::getJobLocationAreaCode,jobQuery.getJobLocationAreaCode())); + List integers = StringUtil.convertStringToIntegerList(jobQuery.getJobLocationAreaCode()); + wrapper.and(a->a.in(ESJobDocument::getJobLocationAreaCode,integers)); } if(!StringUtil.isEmptyOrNull(jobQuery.getScale())){ - wrapper.and(a->a.eq(ESJobDocument::getScale,jobQuery.getScale())); + List integers = StringUtil.convertStringToIntegerList(jobQuery.getScale()); + wrapper.and(a->a.in(ESJobDocument::getScale,integers)); } if(!StringUtil.isEmptyOrNull(jobQuery.getSearchValue())){ wrapper.and(a->a.match(ESJobDocument::getDescription,jobQuery.getSearchValue(),4.0f)); @@ -629,7 +638,8 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.and(a->a.eq(ESJobDocument::getCompanyNature,jobQuery.getCompanyNature())); } if(!StringUtil.isEmptyOrNull(jobQuery.getType())){ - wrapper.and(a->a.eq(ESJobDocument::getType,jobQuery.getType())); + List integers = StringUtil.convertStringToIntegerList(jobQuery.getType()); + wrapper.and(a->a.in(ESJobDocument::getType,integers)); } if(!StringUtil.isEmptyOrNull(jobQuery.getJobType())){ wrapper.and(a->a.eq(ESJobDocument::getJobType,jobQuery.getJobType()));