From 3db8786e890c0a400e8a55d77766f91a8ae5597b Mon Sep 17 00:00:00 2001 From: chenshaohua <635616957@qq.com> Date: Wed, 8 Jul 2026 11:39:37 +0800 Subject: [PATCH] =?UTF-8?q?app/job/list=E4=BF=AE=E6=94=B9=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=8E=92=E5=BA=8F=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cms/service/impl/ESJobSearchImpl.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 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 9cdbe71..962c11d 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 @@ -618,18 +618,25 @@ public class ESJobSearchImpl implements IESJobSearchService // 先开启打分、优先按匹配分数排序(关键词前台命中越高越靠前) wrapper.trackScores(); wrapper.sortByScore(SortOrder.DESC); - if(Objects.nonNull(esJobSearch.getOrder())){ - wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); - if(esJobSearch.getOrder()==1){ - wrapper.orderByDesc(ESJobDocument::getIsHot); + switch (esJobSearch.getOrder()) { + case 0: // 推荐:权重 → 最新发布 + wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); + break; + case 1: // 最热:权重 → 热度 + wrapper.orderByDesc(ESJobDocument::getIsHot); + wrapper.orderByDesc(ESJobDocument::getApplyNum); + wrapper.orderByDesc(ESJobDocument::getView); + break; + case 2: // 最新发布:权重 → 最新发布 + wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); + break; + case 3: // 最大薪资:权重 → 最高薪资 + wrapper.orderByDesc(ESJobDocument::getMaxSalary); + break; + default: // 默认:权重 → 最新发布 + wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); } - if(esJobSearch.getOrder()==3){ - wrapper.orderByDesc(ESJobDocument::getMaxSalary); - } - }else{ - //默认按照发布时间倒叙 - wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); } //企业用户排除es去除jobIds boolean isCompanyUser = StringUtil.IS_COMPANY_USER.equals(esJobSearch.getUserType());