From e5a73e66f9b7078a4bc04575a5fdfb8933f9dec0 Mon Sep 17 00:00:00 2001 From: sh Date: Tue, 2 Jun 2026 11:45:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9es=E6=8C=89=E7=85=A7=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=97=B6=E9=97=B4=E5=80=92=E5=8F=99=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=EF=BC=8C=E5=8F=91=E5=B8=83=E6=97=B6=E9=97=B4=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E6=94=BE=E6=9C=80=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/cms/service/impl/ESJobSearchImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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;