|
@@ -1,5 +1,6 @@
|
|
package com.citu.module.menduner.system.dal.mysql.user;
|
|
package com.citu.module.menduner.system.dal.mysql.user;
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
import com.citu.framework.common.pojo.PageResult;
|
|
import com.citu.framework.common.pojo.PageResult;
|
|
import com.citu.framework.mybatis.core.mapper.BaseMapperX;
|
|
import com.citu.framework.mybatis.core.mapper.BaseMapperX;
|
|
import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
@@ -16,10 +17,12 @@ import com.citu.module.menduner.system.controller.base.userperson.UserPersonResp
|
|
import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.interview.InterviewInviteDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.interview.InterviewInviteDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.job.JobInterestedDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.logger.LoginLogDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.logger.LoginLogDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
|
|
import com.citu.module.menduner.system.util.RecruitAnalysisUtils;
|
|
import com.citu.module.menduner.system.util.RecruitAnalysisUtils;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
@@ -56,6 +59,7 @@ public interface MdeUserMapper extends BaseMapperX<MdeUserDO> {
|
|
query.selectAssociation(MdeUserDO.class, UserPersonRespVO::getUser);
|
|
query.selectAssociation(MdeUserDO.class, UserPersonRespVO::getUser);
|
|
query.selectAssociation(PersonInfoDO.class, UserPersonRespVO::getPerson);
|
|
query.selectAssociation(PersonInfoDO.class, UserPersonRespVO::getPerson);
|
|
query.leftJoin(PersonInfoDO.class, on -> on.eq(PersonInfoDO::getUserId, MdeUserDO::getId));
|
|
query.leftJoin(PersonInfoDO.class, on -> on.eq(PersonInfoDO::getUserId, MdeUserDO::getId));
|
|
|
|
+ query.leftJoin(JobInterestedDO.class, JobInterestedDO::getUserId, PersonInfoDO::getUserId);
|
|
|
|
|
|
query.likeRightIfExists(PersonInfoDO::getName, reqVO.getName())
|
|
query.likeRightIfExists(PersonInfoDO::getName, reqVO.getName())
|
|
.likeRightIfExists(PersonInfoDO::getForeignName, reqVO.getForeignName());
|
|
.likeRightIfExists(PersonInfoDO::getForeignName, reqVO.getForeignName());
|
|
@@ -72,12 +76,45 @@ public interface MdeUserMapper extends BaseMapperX<MdeUserDO> {
|
|
.eqIfExists(PersonInfoDO::getEduType, reqVO.getEduType())
|
|
.eqIfExists(PersonInfoDO::getEduType, reqVO.getEduType())
|
|
.eqIfExists(PersonInfoDO::getExpType, reqVO.getExpType());
|
|
.eqIfExists(PersonInfoDO::getExpType, reqVO.getExpType());
|
|
|
|
|
|
|
|
+
|
|
query.eqIfExists(MdeUserDO::getVipFlag, reqVO.getVipFlag());
|
|
query.eqIfExists(MdeUserDO::getVipFlag, reqVO.getVipFlag());
|
|
query.eqIfExists(MdeUserDO::getStatus, reqVO.getStatus());
|
|
query.eqIfExists(MdeUserDO::getStatus, reqVO.getStatus());
|
|
query.likeRightIfExists(MdeUserDO::getId, reqVO.getUserId());
|
|
query.likeRightIfExists(MdeUserDO::getId, reqVO.getUserId());
|
|
query.betweenIfPresent2(MdeUserDO::getVipExpireDate, reqVO.getVipExpireDate());
|
|
query.betweenIfPresent2(MdeUserDO::getVipExpireDate, reqVO.getVipExpireDate());
|
|
query.betweenIfPresent2(MdeUserDO::getCreateTime, reqVO.getCreateTime());
|
|
query.betweenIfPresent2(MdeUserDO::getCreateTime, reqVO.getCreateTime());
|
|
|
|
|
|
|
|
+
|
|
|
|
+ // 并且条件
|
|
|
|
+ query.in(null!=reqVO.getAreaIds() && !reqVO.getAreaIds().isEmpty(),PersonInfoDO::getAreaId, reqVO.getAreaIds());
|
|
|
|
+ query.eq(StringUtils.isNotEmpty(reqVO.getEduType()),PersonInfoDO::getEduType, reqVO.getEduType());
|
|
|
|
+ query.eq(StringUtils.isNotEmpty(reqVO.getExpType()),PersonInfoDO::getExpType, reqVO.getExpType());
|
|
|
|
+ query.eq(StringUtils.isNotEmpty(reqVO.getType()),PersonInfoDO::getType, reqVO.getType());
|
|
|
|
+ query.and(CollUtil.isNotEmpty(reqVO.getPositionIds()) || CollUtil.isNotEmpty(reqVO.getAreaIds()) , qw->qw.in(CollUtil.isNotEmpty(reqVO.getPositionIds()), JobInterestedDO::getPositionId, reqVO.getPositionIds())
|
|
|
|
+ .or(CollUtil.isNotEmpty(reqVO.getPositionIds()))
|
|
|
|
+ .in(CollUtil.isNotEmpty(reqVO.getAreaIds()), JobInterestedDO::getWorkAreaId, reqVO.getAreaIds()))
|
|
|
|
+
|
|
|
|
+ ;
|
|
|
|
+
|
|
|
|
+ query.and(StringUtils.isNotBlank(reqVO.getBrand()),
|
|
|
|
+ qw->qw.
|
|
|
|
+ apply("enterprise_name in ( select enterprise_name from mde_enterprise_brand ,mde_work_exp " +
|
|
|
|
+ " where " +
|
|
|
|
+ " (mde_work_exp.enterprise_name = mde_enterprise_brand.enterprise_en_name or mde_work_exp.enterprise_name = mde_enterprise_brand.enterprise_cn_name) and " +
|
|
|
|
+ "mde_enterprise_brand.brand = {0}",reqVO.getBrand()) );
|
|
|
|
+
|
|
|
|
+ query.in(null!=reqVO.getWorkAreaIds()&& !reqVO.getWorkAreaIds().isEmpty(),JobInterestedDO::getWorkAreaId, reqVO.getWorkAreaIds());
|
|
|
|
+
|
|
|
|
+ query.and(StringUtils.isNotEmpty(reqVO.getContent()),
|
|
|
|
+ qw->qw.like(PersonInfoDO::getName, reqVO.getContent())
|
|
|
|
+ .or()
|
|
|
|
+ .like(PersonInfoDO::getTagList, reqVO.getContent())
|
|
|
|
+ .or()
|
|
|
|
+ .like(PersonInfoDO::getAdvantage, reqVO.getContent())
|
|
|
|
+ .or()
|
|
|
|
+ .like(PersonInfoDO::getForeignName, reqVO.getContent())
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+
|
|
query.orderByDesc(PersonInfoDO::getUpdateTime);
|
|
query.orderByDesc(PersonInfoDO::getUpdateTime);
|
|
return selectJoinPage(reqVO, UserPersonRespVO.class, query);
|
|
return selectJoinPage(reqVO, UserPersonRespVO.class, query);
|
|
}
|
|
}
|