1.移动端获取推荐岗位时-如果是企业则按照只查询企业发布的岗位

2.添加根据岗位id查询岗位申请人员接口
This commit is contained in:
sh
2025-10-23 17:07:02 +08:00
parent 802ea1fe76
commit 115f47118f
7 changed files with 72 additions and 1 deletions

View File

@@ -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<ESJobDocument> 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));
}
}

View File

@@ -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<Job>
void insertBatchRowWorkTmp(List<RowWork> batchList);
VectorJob selectVectorJob(Long jobId);
List<AppUser> selectApplyJobUserList(Long jobId);
}

View File

@@ -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<ESJobDocument> littleVideoRandom(String uuid, Integer count,String jobTitle);
void publishJob(Job job);
List<AppUser> selectApplyJobUserList(Long jobId);
}

View File

@@ -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<ESJobDocument> 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);

View File

@@ -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<JobMapper,Job> implements IJobSe
}
iesJobSearchService.updateJob(job.getJobId());
}
@Override
public List<AppUser> selectApplyJobUserList(Long jobId) {
return jobMapper.selectApplyJobUserList(jobId);
}
}

View File

@@ -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;
}
}
}

View File

@@ -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>
<sql id="selectAppUserResult">
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
</sql>
<select id="selectApplyJobUserList" resultType="com.ruoyi.common.core.domain.entity.AppUser">
<include refid="selectAppUserResult"/>inner join app_user a on e.user_id =a.user_id and a.del_flag='0'
where e.del_flag='0' and e.job_id=#{jobId}
</select>
</mapper>