diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppJobController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppJobController.java index 3d343d8..a0683ba 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppJobController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppJobController.java @@ -3,13 +3,16 @@ package com.ruoyi.cms.controller.app; import com.ruoyi.cms.domain.ESJobDocument; import com.ruoyi.cms.domain.Job; import com.ruoyi.cms.domain.query.ESJobSearch; +import com.ruoyi.cms.service.ICompanyService; import com.ruoyi.cms.service.IESJobSearchService; import com.ruoyi.cms.service.IJobCollectionService; import com.ruoyi.cms.service.IJobService; +import com.ruoyi.cms.util.RoleUtils; import com.ruoyi.cms.util.sensitiveWord.SensitiveWordChecker; import com.ruoyi.common.annotation.BussinessLog; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.Company; import com.ruoyi.common.core.page.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -20,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Objects; /** * 岗位Controller @@ -40,6 +44,8 @@ public class AppJobController extends BaseController private IESJobSearchService esJobSearchService; @Autowired private SensitiveWordChecker sensitiveWordChecker; + @Autowired + private ICompanyService companyService; /** * 查询岗位列表 @@ -70,6 +76,10 @@ public class AppJobController extends BaseController @GetMapping("/recommend") public AjaxResult recommend(ESJobSearch esJobSearch) { + if (RoleUtils.getAppCurrentUseridCard() != null) { + Company company = companyService.queryCodeCompany(RoleUtils.getAppCurrentUseridCard()); + esJobSearch.setCompanyId(Objects.nonNull(company) ? company.getCompanyId() : null); + } List jobList = jobService.recommend(esJobSearch); return success(jobList); } @@ -217,4 +227,13 @@ public class AppJobController extends BaseController } return success(esJobSearchService.selectByIds(jobIds)); } + + @GetMapping("/applyJobList") + @ApiOperation("根据岗位id查询岗位申请人员") + public AjaxResult applyJobList(@ApiParam("岗位id") @RequestParam("jobId") Long jobId) { + if (jobId==null) { + return AjaxResult.error("请传递岗位ID"); + } + return success(jobService.selectApplyJobUserList(jobId)); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/JobMapper.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/JobMapper.java index d6cc804..68465b7 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/JobMapper.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/JobMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; import java.util.Map; +import com.ruoyi.common.core.domain.entity.AppUser; import com.ruoyi.common.core.domain.entity.Company; import com.ruoyi.cms.domain.Job; import com.ruoyi.cms.domain.RowWork; @@ -48,4 +49,6 @@ public interface JobMapper extends BaseMapper void insertBatchRowWorkTmp(List batchList); VectorJob selectVectorJob(Long jobId); + + List selectApplyJobUserList(Long jobId); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IJobService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IJobService.java index 63998ec..b924bf2 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IJobService.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IJobService.java @@ -7,6 +7,7 @@ import com.ruoyi.cms.domain.Job; import com.ruoyi.cms.domain.query.ESJobSearch; import com.ruoyi.cms.domain.vo.CandidateVO; import com.ruoyi.cms.util.AppWechatEntity; +import com.ruoyi.common.core.domain.entity.AppUser; import org.dromara.easyes.core.biz.EsPageInfo; /** @@ -89,4 +90,6 @@ public interface IJobService List littleVideoRandom(String uuid, Integer count,String jobTitle); void publishJob(Job job); + + List selectApplyJobUserList(Long jobId); } 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 801230c..38efb8b 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 @@ -184,6 +184,9 @@ public class ESJobSearchImpl implements IESJobSearchService if(!StringUtil.isEmptyOrNull(esJobSearch.getCompanyNature())){ newSearch.setCompanyNature(esJobSearch.getCompanyNature()); } + if(esJobSearch.getCompanyId()!=null){ + newSearch.setCompanyId(esJobSearch.getCompanyId()); + } } LambdaEsQueryWrapper wrapper = getWrapper(newSearch,jobIds); @@ -417,6 +420,9 @@ public class ESJobSearchImpl implements IESJobSearchService if(!StringUtil.isEmptyOrNull(esJobSearch.getCompanyNature())){ wrapper.and(x->x.eq(ESJobDocument::getCompanyNature,esJobSearch.getCompanyNature())); } + if(esJobSearch.getCompanyId()!=null){ + wrapper.and(x->x.eq(ESJobDocument::getCompanyId,esJobSearch.getCompanyId())); + } if(Objects.nonNull(esJobSearch.getOrder())){ if(esJobSearch.getOrder()==1){ wrapper.orderByDesc(ESJobDocument::getIsHot); diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java index a189f95..de53ff0 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java @@ -17,6 +17,7 @@ import com.ruoyi.cms.service.*; import com.ruoyi.cms.util.*; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.TreeSelect; +import com.ruoyi.common.core.domain.entity.AppUser; import com.ruoyi.common.core.domain.entity.Company; import com.ruoyi.common.core.domain.entity.JobTitle; import com.ruoyi.common.core.redis.RedisCache; @@ -803,4 +804,9 @@ public class JobServiceImpl extends ServiceImpl implements IJobSe } iesJobSearchService.updateJob(job.getJobId()); } + + @Override + public List selectApplyJobUserList(Long jobId) { + return jobMapper.selectApplyJobUserList(jobId); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/RoleUtils.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/RoleUtils.java index 800e0be..565d580 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/RoleUtils.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/RoleUtils.java @@ -1,8 +1,11 @@ package com.ruoyi.cms.util; +import com.ruoyi.common.core.domain.entity.AppUser; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginSiteUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.SiteSecurityUtils; /** * 判断是否企业用户 @@ -25,7 +28,7 @@ public class RoleUtils { } /** - * 获取获取身份证或统一信用代码 + * 获取身份证或统一信用代码 * @return */ public static String getCurrentUseridCard() { @@ -36,4 +39,26 @@ public class RoleUtils { } return sysUser.getIdCard(); } + + /** + * 获取App用户身份证或统一信用代码 + * @return + */ + public static String getAppCurrentUseridCard(){ + if (!SiteSecurityUtils.isLogin()) { + throw new IllegalArgumentException("未登录!"); // 未登录仍抛异常,确保登录状态有效性 + } + + LoginSiteUser loginSiteUser = SiteSecurityUtils.getLoginUser(); + AppUser appUser = loginSiteUser.getUser(); + if (appUser == null) { + throw new IllegalArgumentException("用户信息为空,无法获取身份证号"); // 用户信息为空仍抛异常,避免空指针 + } + + if ("0".equals(appUser.getIsCompanyUser())) { + return appUser.getIdCard(); + } else { + return null; + } + } } \ No newline at end of file diff --git a/ruoyi-bussiness/src/main/resources/mapper/app/JobMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/app/JobMapper.xml index 9136b3c..6ab4653 100644 --- a/ruoyi-bussiness/src/main/resources/mapper/app/JobMapper.xml +++ b/ruoyi-bussiness/src/main/resources/mapper/app/JobMapper.xml @@ -254,4 +254,13 @@ left join qd.bussiness_dict_data as ac on ac.dict_type = 'scale' and ac.dict_value = c.scale where job_id =#{jobId} + + + select a.user_id, a.name, a.age, a.sex, a.birth_date, a.education, a.political_affiliation, a.phone, a.avatar, a.salary_min, a.salary_max, a.area, a.status, a.del_flag, a.login_ip, a.login_date, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,a.job_title_id,a.is_recommend,a.id_card,a.work_experience,a.is_company_user from job_apply e + + + \ No newline at end of file