|
@@ -4,15 +4,15 @@ import com.citu.framework.common.pojo.PageResult;
|
|
|
import com.citu.framework.mybatis.core.mapper.BaseMapperX;
|
|
|
import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
|
|
|
-import com.citu.module.menduner.system.controller.app.recruit.person.vo.AppRecruitPersonDetailRespVO;
|
|
|
-import com.citu.module.menduner.system.controller.base.person.info.PersonDetailRespVO;
|
|
|
+import com.citu.module.menduner.system.controller.base.person.PersonMapQueryReqVO;
|
|
|
import com.citu.module.menduner.system.controller.base.person.info.PersonInfoPageReqVO;
|
|
|
-import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
|
+import com.citu.module.menduner.system.controller.base.person.info.PersonInfoRespVO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.job.JobInterestedDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
|
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
|
-import org.springframework.util.StringUtils;
|
|
|
|
|
|
-import java.util.List;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.ZoneId;
|
|
|
|
|
|
/**
|
|
|
* 人才信息-人才档案 Mapper
|
|
@@ -36,7 +36,7 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
|
|
|
.eqIfPresent(PersonInfoDO::getEduType, reqVO.getEduType())
|
|
|
.eqIfPresent(PersonInfoDO::getExpType, reqVO.getExpType())
|
|
|
.betweenIfPresent(PersonInfoDO::getCreateTime, reqVO.getCreateTime())
|
|
|
- .like(null!=reqVO.getUserId(),PersonInfoDO::getUserId, String.valueOf(reqVO.getUserId()))
|
|
|
+ .like(null != reqVO.getUserId(), PersonInfoDO::getUserId, String.valueOf(reqVO.getUserId()))
|
|
|
.orderByDesc(PersonInfoDO::getId));
|
|
|
}
|
|
|
|
|
@@ -44,4 +44,38 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
|
|
|
return selectOne(PersonInfoDO::getUserId, userId);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据用户id和查询条件查询人才信息
|
|
|
+ **/
|
|
|
+ default PageResult<PersonInfoRespVO> queryPage(PersonMapQueryReqVO reqVO, Long[] userIds) {
|
|
|
+ MPJLambdaWrapperX<PersonInfoDO> query = new MPJLambdaWrapperX<>();
|
|
|
+ query.selectAsClass(PersonInfoDO.class, PersonInfoRespVO.class);
|
|
|
+ query.likeIfPresent(PersonInfoDO::getName, reqVO.getName());
|
|
|
+ query.eqIfPresent(PersonInfoDO::getSex, reqVO.getSex());
|
|
|
+
|
|
|
+ if (null != reqVO.getAge()) {
|
|
|
+ LocalDate now = LocalDate.now(ZoneId.systemDefault());
|
|
|
+ // 最大年龄加一天,包含最后一天
|
|
|
+ LocalDate min = now.minusYears(reqVO.getAge()[0]).plusDays(1);
|
|
|
+ LocalDate max = now.minusYears(reqVO.getAge()[1]);
|
|
|
+ query.ge(PersonInfoDO::getBirthday, min);
|
|
|
+ query.le(PersonInfoDO::getBirthday, max);
|
|
|
+ }
|
|
|
+ query.eqIfPresent(PersonInfoDO::getMaritalStatus, reqVO.getMaritalStatus());
|
|
|
+ query.inIfPresent(PersonInfoDO::getAreaId, reqVO.getAreaIds());
|
|
|
+ query.inIfPresent(PersonInfoDO::getRegId, reqVO.getRegIds());
|
|
|
+ query.eqIfPresent(PersonInfoDO::getJobType, reqVO.getJobType());
|
|
|
+ query.eqIfPresent(PersonInfoDO::getJobStatus, reqVO.getJobStatus());
|
|
|
+ query.eqIfPresent(PersonInfoDO::getEduType, reqVO.getEduType());
|
|
|
+ query.eqIfPresent(PersonInfoDO::getExpType, reqVO.getExpType());
|
|
|
+ query.inIfPresent(PersonInfoDO::getUserId, userIds);
|
|
|
+
|
|
|
+ if (null != reqVO.getPay()) {
|
|
|
+ query.leftJoin(JobInterestedDO.class, JobInterestedDO::getUserId, PersonInfoDO::getUserId);
|
|
|
+ query.ge(JobInterestedDO::getPayTo, reqVO.getPay()[0]);
|
|
|
+ query.le(JobInterestedDO::getPayTo, reqVO.getPay()[1]);
|
|
|
+ }
|
|
|
+ return selectJoinPage(reqVO, PersonInfoRespVO.class, query);
|
|
|
+ }
|
|
|
+
|
|
|
}
|