Compare commits
2 Commits
7dd3b96b92
...
803e8f3fcc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
803e8f3fcc | ||
|
|
af953826e4 |
@@ -373,4 +373,12 @@ public class CmsJobController extends BaseController
|
|||||||
}
|
}
|
||||||
return success(jobService.updateReviewStatus(jobId, reviewStatus));
|
return success(jobService.updateReviewStatus(jobId, reviewStatus));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("根据岗位ID获取推荐的人")
|
||||||
|
@GetMapping("/getRecommendByJobId")
|
||||||
|
public AjaxResult getRecommendByJobId(@RequestParam("jobId") Long jobId)
|
||||||
|
{
|
||||||
|
return AjaxResult.success(jobService.getRecommendByJobId(jobId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,28 @@
|
|||||||
package com.ruoyi.cms.mapper;
|
package com.ruoyi.cms.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.ruoyi.cms.domain.query.JobSearch;
|
|
||||||
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.Job;
|
||||||
import com.ruoyi.cms.domain.RowWork;
|
import com.ruoyi.cms.domain.RowWork;
|
||||||
import com.ruoyi.cms.domain.VectorJob;
|
import com.ruoyi.cms.domain.VectorJob;
|
||||||
import com.ruoyi.cms.domain.query.ESJobSearch;
|
import com.ruoyi.cms.domain.query.ESJobSearch;
|
||||||
|
import com.ruoyi.cms.domain.query.JobSearch;
|
||||||
|
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||||
|
import com.ruoyi.common.core.domain.entity.Company;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 岗位Mapper接口
|
* 岗位Mapper接口
|
||||||
|
*
|
||||||
* @author lishundong
|
* @author lishundong
|
||||||
* @date 2024-09-03
|
* @date 2024-09-03
|
||||||
*/
|
*/
|
||||||
public interface JobMapper extends BaseMapper<Job>
|
public interface JobMapper extends BaseMapper<Job> {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* 查询岗位列表
|
* 查询岗位列表
|
||||||
*
|
*
|
||||||
* @param job 岗位
|
* @param job 岗位
|
||||||
* @return 岗位集合
|
* @return 岗位集合
|
||||||
*/
|
*/
|
||||||
@@ -40,7 +39,6 @@ public interface JobMapper extends BaseMapper<Job>
|
|||||||
List<Company> selectRowCompany();
|
List<Company> selectRowCompany();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void batchInsert(List<Job> jobBatch);
|
void batchInsert(List<Job> jobBatch);
|
||||||
|
|
||||||
List<Job> selectAllJob(Map<String, Object> params);
|
List<Job> selectAllJob(Map<String, Object> params);
|
||||||
@@ -56,7 +54,8 @@ public interface JobMapper extends BaseMapper<Job>
|
|||||||
List<AppUser> selectApplyJobUserList(Long jobId);
|
List<AppUser> selectApplyJobUserList(Long jobId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*查询单条岗位信息
|
* 查询单条岗位信息
|
||||||
|
*
|
||||||
* @param jobId
|
* @param jobId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -67,6 +66,7 @@ public interface JobMapper extends BaseMapper<Job>
|
|||||||
Long updateReviewStatus(@Param("jobId") Long jobId, @Param("reviewStatus") String reviewStatus);
|
Long updateReviewStatus(@Param("jobId") Long jobId, @Param("reviewStatus") String reviewStatus);
|
||||||
|
|
||||||
//删除岗位
|
//删除岗位
|
||||||
@InterceptorIgnore(blockAttack = "true")
|
|
||||||
Long delRowWork();
|
Long delRowWork();
|
||||||
|
|
||||||
|
List<AppUser> getRecommendAppUser(@Param("jobId") Long jobId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,4 +114,6 @@ public interface IJobService
|
|||||||
public Integer getTotals(Job job);
|
public Integer getTotals(Job job);
|
||||||
|
|
||||||
Long updateReviewStatus(Long jobId, String reviewStatus);
|
Long updateReviewStatus(Long jobId, String reviewStatus);
|
||||||
|
|
||||||
|
List<AppUser> getRecommendByJobId(Long jobId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import com.ruoyi.common.utils.SiteSecurityUtils;
|
|||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
|
import io.swagger.models.auth.In;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.dromara.easyes.core.biz.EsPageInfo;
|
import org.dromara.easyes.core.biz.EsPageInfo;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -1260,4 +1261,9 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
|||||||
public Long updateReviewStatus(Long jobId, String reviewStatus) {
|
public Long updateReviewStatus(Long jobId, String reviewStatus) {
|
||||||
return jobMapper.updateReviewStatus(jobId, reviewStatus);
|
return jobMapper.updateReviewStatus(jobId, reviewStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AppUser> getRecommendByJobId(Long jobId) {
|
||||||
|
return jobMapper.getRecommendAppUser(jobId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -367,4 +367,49 @@
|
|||||||
<delete id="delRowWork">
|
<delete id="delRowWork">
|
||||||
delete from row_work
|
delete from row_work
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="getRecommendAppUser" resultType="com.ruoyi.common.core.domain.entity.AppUser">
|
||||||
|
SELECT
|
||||||
|
*,
|
||||||
|
CASE match_level
|
||||||
|
WHEN 1 THEN '一级: 学历+区域+薪资+岗位类别'
|
||||||
|
WHEN 2 THEN '二级: 区域+薪资+岗位类别'
|
||||||
|
WHEN 3 THEN '三级: 薪资+岗位类别'
|
||||||
|
WHEN 4 THEN '四级: 仅岗位类别'
|
||||||
|
WHEN 5 THEN '五级: 无满足条件'
|
||||||
|
END AS match_level_desc
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
*,
|
||||||
|
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY match_level asc) AS best_rn
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
r.*,
|
||||||
|
CASE
|
||||||
|
WHEN CAST(j.job_id AS TEXT) = ANY(string_to_array(r.job_title_id, ','))
|
||||||
|
AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL)
|
||||||
|
AND (CAST(r.area AS INTEGER) = CAST(p.job_location_area_code AS INTEGER) OR p.job_location_area_code IS NULL)
|
||||||
|
AND (CAST(r.education AS INTEGER) >=CAST(p.education AS INTEGER) OR p.education IS NULL OR p.education = '-1')
|
||||||
|
THEN 1
|
||||||
|
WHEN CAST(j.job_id AS TEXT) = ANY(string_to_array(r.job_title_id, ','))
|
||||||
|
AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL)
|
||||||
|
AND (CAST(r.area AS INTEGER) = CAST(p.job_location_area_code AS INTEGER) OR p.job_location_area_code IS NULL)
|
||||||
|
THEN 2
|
||||||
|
WHEN CAST(j.job_id AS TEXT) = ANY(string_to_array(r.job_title_id, ','))
|
||||||
|
AND ((CAST(r.salary_min AS INTEGER) <= p.max_salary AND CAST(r.salary_max AS INTEGER) >= p.min_salary) OR p.max_salary IS NULL)
|
||||||
|
THEN 3
|
||||||
|
WHEN (CAST(j.job_id AS TEXT) = ANY(string_to_array(r.job_title_id, ',')) OR p.job_category IS NULL)
|
||||||
|
THEN 4
|
||||||
|
ELSE 5
|
||||||
|
END AS match_level
|
||||||
|
FROM shz.job p
|
||||||
|
JOIN shz.app_user r ON r.del_flag = '0'
|
||||||
|
JOIN shz.job_title j ON j.job_name = p.job_category
|
||||||
|
WHERE p.job_id = #{jobId}
|
||||||
|
) c
|
||||||
|
) t
|
||||||
|
WHERE best_rn = 1
|
||||||
|
ORDER BY match_level ASC, login_date DESC
|
||||||
|
LIMIT (SELECT vacancies FROM shz.job WHERE job_id = #{jobId})
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -172,4 +172,8 @@ public class AppUser extends BaseEntity
|
|||||||
/** 1-大龄人员;2-低保人员;3-残疾人员;4-失地农名或联队职工;5-防止返贫;6-未就业大中专毕业生;7-退役军人;8-长期失业人员;9-城镇零就业家庭成员;10.刑满释放人员 **/
|
/** 1-大龄人员;2-低保人员;3-残疾人员;4-失地农名或联队职工;5-防止返贫;6-未就业大中专毕业生;7-退役军人;8-长期失业人员;9-城镇零就业家庭成员;10.刑满释放人员 **/
|
||||||
@ApiModelProperty("用户类型,以逗号分隔")
|
@ApiModelProperty("用户类型,以逗号分隔")
|
||||||
private String userType;
|
private String userType;
|
||||||
|
|
||||||
|
//匹配描述
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String matchLevelDesc;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user