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 3815c23..e02c7a6 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 @@ -26,6 +26,8 @@ import org.dromara.easyes.core.conditions.select.LambdaEsQueryWrapper; import org.dromara.easyes.core.conditions.update.LambdaEsUpdateWrapper; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.unit.DistanceUnit; +import org.elasticsearch.search.sort.SortBuilders; +import org.elasticsearch.search.sort.SortOrder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -575,7 +577,7 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.and(x->x.eq(ESJobDocument::getIsPublish,esJobSearch.getIsPublish())); } if(Objects.nonNull(esJobSearch.getOrder())){ - wrapper.orderByDesc(ESJobDocument::getPostingDate); + wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); if(esJobSearch.getOrder()==1){ wrapper.orderByDesc(ESJobDocument::getIsHot); } @@ -584,7 +586,7 @@ public class ESJobSearchImpl implements IESJobSearchService } }else{ //默认按照发布时间倒叙 - wrapper.orderByDesc(ESJobDocument::getPostingDate); + wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); } //企业用户排除es去除jobIds boolean isCompanyUser = StringUtil.IS_COMPANY_USER.equals(esJobSearch.getUserType()); @@ -693,7 +695,7 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.and(x->x.eq(ESJobDocument::getIsPublish,jobQuery.getIsPublish())); } if(Objects.nonNull(jobQuery.getOrder())){ - wrapper.orderByDesc(ESJobDocument::getPostingDate); + wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); if (jobQuery.getOrder()==1){ wrapper.orderByDesc(ESJobDocument::getIsHot); wrapper.orderByDesc(ESJobDocument::getApplyNum); @@ -701,7 +703,7 @@ public class ESJobSearchImpl implements IESJobSearchService } }else{ //默认按照发布时间倒叙 - wrapper.orderByDesc(ESJobDocument::getPostingDate); + wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); } EsPageInfo esJobDocumentEsPageInfo = esJobDocumentMapper.pageQuery(wrapper, pageNum, pageSize); return esJobDocumentEsPageInfo;