|
@@ -6,9 +6,13 @@ import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
|
|
|
import com.citu.module.menduner.system.controller.appadmin.cv.AppAdminJobCvRelPageReqVO;
|
|
|
import com.citu.module.menduner.system.controller.appadmin.cv.AppAdminJobCvRelRespVO;
|
|
|
+import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonSimpleRespVO;
|
|
|
import com.citu.module.menduner.system.controller.base.job.JobCvRelPageReqVO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.eduexp.EduExpDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.workexp.WorkExpDO;
|
|
|
import com.citu.module.menduner.system.enums.MendunerStatusEnum;
|
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
|
|
|
@@ -35,25 +39,54 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
|
|
|
}
|
|
|
|
|
|
default PageResult<AppAdminJobCvRelRespVO> selectPage(AppAdminJobCvRelPageReqVO reqVO) {
|
|
|
- MPJLambdaWrapperX<JobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
|
|
|
+ // 职位投递userId inner 招聘职位userId and 职位投递userId inner 人才信息userId
|
|
|
+ // 人才信息userId inner 工作经验userId and 人才信息userId inner 教育经历userId
|
|
|
+ MPJLambdaWrapperX<JobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
|
|
|
wrapper.selectAsClass(JobCvRelDO.class, AppAdminJobCvRelRespVO.class);
|
|
|
- wrapper.selectAssociation(JobAdvertisedDO.class,AppAdminJobCvRelRespVO::getJob);
|
|
|
- wrapper.innerJoin(JobAdvertisedDO.class,JobAdvertisedDO::getId,JobCvRelDO::getJobId);
|
|
|
- wrapper.eqIfPresent(JobCvRelDO::getJobId, reqVO.getJobId());
|
|
|
+ wrapper.selectAssociation(JobAdvertisedDO.class, AppAdminJobCvRelRespVO::getJob);
|
|
|
+
|
|
|
+ wrapper.selectAssociation(PersonInfoDO.class, AppAdminJobCvRelRespVO::getPerson, p ->
|
|
|
+ p.collection(WorkExpDO.class, AppAdminPersonSimpleRespVO::getWorkExpList)
|
|
|
+ .collection(EduExpDO.class, AppAdminPersonSimpleRespVO::getEduExpList)
|
|
|
+ );
|
|
|
+// wrapper.selectCollection(WorkExpDO.class,AppAdminPersonSimpleRespVO::getWorkExpList);
|
|
|
+// wrapper.selectCollection(EduExpDO.class,AppAdminPersonSimpleRespVO::getEduExpList);
|
|
|
+
|
|
|
+
|
|
|
+ // 投递的职位 inner 招聘职位
|
|
|
+ wrapper.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, JobCvRelDO::getJobId);
|
|
|
+ // 招聘职位的条件
|
|
|
+ wrapper.eqIfExists(JobCvRelDO::getJobId, reqVO.getJobId());
|
|
|
wrapper.eqIfPresent(JobCvRelDO::getStatus, reqVO.getStatus());
|
|
|
+
|
|
|
+ // 投递的职位 inner 人才信息
|
|
|
+ wrapper.innerJoin(PersonInfoDO.class, PersonInfoDO::getUserId, JobCvRelDO::getUserId);
|
|
|
+ // 人才相关的条件
|
|
|
+ wrapper.eqIfExists(PersonInfoDO::getJobStatus, reqVO.getJobStatus());
|
|
|
+ wrapper.eqIfExists(PersonInfoDO::getEduType, reqVO.getEduType());
|
|
|
+ wrapper.eqIfExists(PersonInfoDO::getExpType, reqVO.getExpType());
|
|
|
+ wrapper.likeIfExists(PersonInfoDO::getName, reqVO.getName());
|
|
|
+ wrapper.likeIfExists(PersonInfoDO::getUserId, reqVO.getUserId());
|
|
|
+
|
|
|
+ // 项目经验、教育经历的连接
|
|
|
+ wrapper.leftJoin(WorkExpDO.class, WorkExpDO::getUserId, PersonInfoDO::getUserId);
|
|
|
+ wrapper.leftJoin(EduExpDO.class, EduExpDO::getUserId, PersonInfoDO::getUserId);
|
|
|
+
|
|
|
+
|
|
|
wrapper.orderByDesc(JobCvRelDO::getUpdateTime);
|
|
|
return selectJoinPage(reqVO, AppAdminJobCvRelRespVO.class, wrapper);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 根据用户ID和职位id判断15天内是否有数据,如果有返回true
|
|
|
- default Boolean checkDataWithin15Day(Long userId, Long jobId){
|
|
|
+ default Boolean checkDataWithin15Day(Long userId, Long jobId) {
|
|
|
return selectCount(new LambdaQueryWrapperX<JobCvRelDO>()
|
|
|
.eq(JobCvRelDO::getUserId, userId)
|
|
|
.eq(JobCvRelDO::getJobId, jobId)
|
|
|
.ge(JobCvRelDO::getCreateTime, LocalDateTime.now().minusDays(15))) > 0;
|
|
|
}
|
|
|
|
|
|
- default List<JobCvRelDO> selectByJobIdList(List<Long> jobIdList){
|
|
|
+ default List<JobCvRelDO> selectByJobIdList(List<Long> jobIdList) {
|
|
|
return selectList(new LambdaQueryWrapperX<JobCvRelDO>()
|
|
|
.in(JobCvRelDO::getJobId, jobIdList)
|
|
|
.eq(JobCvRelDO::getStatus, MendunerStatusEnum.ENABLE.getStatus())
|
|
@@ -61,5 +94,4 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
}
|