From e9a9509f7c54ed1db6499c40ac44380ef7eddc23 Mon Sep 17 00:00:00 2001 From: chenshaohua <635616957@qq.com> Date: Tue, 21 Jul 2026 12:42:41 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E4=BC=81=E4=B8=9A=E8=81=94?= =?UTF-8?q?=E7=B3=BB=E4=BA=BA=E4=BF=9D=E5=AD=98=202.=E4=BF=AE=E6=94=B9es?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cms/service/impl/CompanyServiceImpl.java | 19 ++++++++----- .../cms/service/impl/ESJobSearchImpl.java | 28 +++++++++++-------- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyServiceImpl.java index 5cc9f19..ef5dec1 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/CompanyServiceImpl.java @@ -169,13 +169,18 @@ public class CompanyServiceImpl extends ServiceImpl impl companyContactMapper.update(null,Wrappers.lambdaUpdate() .eq(CompanyContact::getCompanyId, company.getCompanyId()) .set(CompanyContact::getDelFlag, Constants.Del_FLAG_DELETE)); - if(!Objects.isNull(company.getCompanyContactList())){ - company.getCompanyContactList().forEach(x -> { - CompanyContact companyContact = new CompanyContact(); - companyContact.setCompanyId(company.getCompanyId()); - BeanUtils.copyProperties(x, companyContact); - companyContactMapper.insert(companyContact); - }); + List contactList = company.getCompanyContactList(); + if (!Objects.isNull(contactList)) { + for (CompanyContact x : contactList) { + CompanyContact entity = new CompanyContact(); + entity.setCompanyId(company.getCompanyId()); + BeanUtils.copyProperties(x, entity); + if (entity.getId() != null) { + companyContactMapper.updateById(entity); + } else { + companyContactMapper.insert(entity); + } + } } if (companyNatureChanged) { List jobIds = jobMapper.selectList(Wrappers.lambdaQuery() 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 8a159f5..863f7c9 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 @@ -778,18 +778,24 @@ public class ESJobSearchImpl implements IESJobSearchService wrapper.trackScores(); wrapper.sortByScore(SortOrder.DESC); if(Objects.nonNull(jobQuery.getOrder())){ - wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); - if(jobQuery.getOrder()==1){ - wrapper.orderByDesc(ESJobDocument::getIsHot); - wrapper.orderByDesc(ESJobDocument::getApplyNum); - wrapper.orderByDesc(ESJobDocument::getView); + switch (jobQuery.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(jobQuery.getOrder()==3){ - wrapper.orderByDesc(ESJobDocument::getMaxSalary); - } - }else{ - //默认按照发布时间倒叙 - wrapper.sort(SortBuilders.fieldSort("postingDate").order(SortOrder.DESC).missing("_last")); } EsPageInfo esJobDocumentEsPageInfo = esJobDocumentMapper.pageQuery(wrapper, pageNum, pageSize); return esJobDocumentEsPageInfo;