|
@@ -1,123 +0,0 @@
|
|
|
-package com.citu.module.menduner.system.dal.mysql.hire;
|
|
|
|
|
-
|
|
|
|
|
-import com.citu.framework.common.pojo.PageParam;
|
|
|
|
|
-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.hire.vo.AppHireJobCvRelQueryReqVO;
|
|
|
|
|
-import com.citu.module.menduner.system.controller.app.hire.vo.AppHireJobCvRelRespVO;
|
|
|
|
|
-import com.citu.module.menduner.system.controller.appadmin.hire.vo.AppAdminHireJobCvRelPageReqVO;
|
|
|
|
|
-import com.citu.module.menduner.system.controller.appadmin.hire.vo.AppAdminHireJobCvRelRespVO;
|
|
|
|
|
-import com.citu.module.menduner.system.controller.appadmin.person.cv.AppAdminJobCvRelRespVO;
|
|
|
|
|
-import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonSimpleRespVO;
|
|
|
|
|
-import com.citu.module.menduner.system.controller.base.hire.HireJobCvRelPageReqVO;
|
|
|
|
|
-import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
|
|
|
|
|
-import com.citu.module.menduner.system.dal.dataobject.hire.HireJobCvRelDO;
|
|
|
|
|
-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 org.apache.ibatis.annotations.Mapper;
|
|
|
|
|
-
|
|
|
|
|
-import java.time.LocalDateTime;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-
|
|
|
|
|
-/**
|
|
|
|
|
- * 众聘-简历投递 Mapper
|
|
|
|
|
- *
|
|
|
|
|
- * @author Rayson
|
|
|
|
|
- */
|
|
|
|
|
-@Mapper
|
|
|
|
|
-public interface HireJobCvRelMapper extends BaseMapperX<HireJobCvRelDO> {
|
|
|
|
|
-
|
|
|
|
|
- default PageResult<HireJobCvRelDO> selectPage(HireJobCvRelPageReqVO reqVO) {
|
|
|
|
|
- return selectPage(reqVO, new LambdaQueryWrapperX<HireJobCvRelDO>()
|
|
|
|
|
- .eqIfPresent(HireJobCvRelDO::getEnterpriseId, reqVO.getEnterpriseId())
|
|
|
|
|
- .eqIfPresent(HireJobCvRelDO::getJobId, reqVO.getJobId())
|
|
|
|
|
- .eqIfPresent(HireJobCvRelDO::getPublishUserId, reqVO.getPublishUserId())
|
|
|
|
|
- .eqIfPresent(HireJobCvRelDO::getRecommendUserId, reqVO.getRecommendUserId())
|
|
|
|
|
- .eqIfPresent(HireJobCvRelDO::getUserId, reqVO.getUserId())
|
|
|
|
|
- .likeIfPresent(HireJobCvRelDO::getName, reqVO.getName())
|
|
|
|
|
- .eqIfPresent(HireJobCvRelDO::getPhone, reqVO.getPhone())
|
|
|
|
|
- .eqIfPresent(HireJobCvRelDO::getUrl, reqVO.getUrl())
|
|
|
|
|
- .eqIfPresent(HireJobCvRelDO::getStatus, reqVO.getStatus())
|
|
|
|
|
- .betweenIfPresent(HireJobCvRelDO::getCreateTime, reqVO.getCreateTime())
|
|
|
|
|
- .orderByDesc(HireJobCvRelDO::getId));
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- default PageResult<AppAdminHireJobCvRelRespVO> page(AppAdminHireJobCvRelPageReqVO reqVO) {
|
|
|
|
|
- // 职位投递userId inner 招聘职位userId and 职位投递userId inner 人才信息userId
|
|
|
|
|
- MPJLambdaWrapperX<HireJobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
|
|
|
|
|
- wrapper.selectAsClass(HireJobCvRelDO.class, AppAdminHireJobCvRelRespVO.class);
|
|
|
|
|
- wrapper.selectAssociation(JobAdvertisedDO.class, AppAdminJobCvRelRespVO::getJob);
|
|
|
|
|
- wrapper.selectAssociation("person", PersonInfoDO.class, AppAdminHireJobCvRelRespVO::getPerson);
|
|
|
|
|
- wrapper.selectAssociation("recommend", PersonInfoDO.class, AppAdminHireJobCvRelRespVO::getRecommendPerson);
|
|
|
|
|
-
|
|
|
|
|
- // 投递的职位 inner 招聘职位
|
|
|
|
|
- wrapper.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, HireJobCvRelDO::getJobId);
|
|
|
|
|
- // 招聘职位的条件
|
|
|
|
|
- wrapper.eqIfExists(HireJobCvRelDO::getJobId, reqVO.getJobId());
|
|
|
|
|
- wrapper.eqIfExists(HireJobCvRelDO::getStatus, reqVO.getStatus());
|
|
|
|
|
-
|
|
|
|
|
- // 投递的职位 inner 人才信息 (投递人)
|
|
|
|
|
- wrapper.innerJoin(PersonInfoDO.class, "person", PersonInfoDO::getUserId, HireJobCvRelDO::getUserId);
|
|
|
|
|
- // 人才相关的条件
|
|
|
|
|
- wrapper.likeIfExists("person.name", reqVO.getName());
|
|
|
|
|
-
|
|
|
|
|
- // 投递的职位 inner 人才信息 (推荐人)
|
|
|
|
|
- wrapper.innerJoin(PersonInfoDO.class,"recommend", PersonInfoDO::getUserId, HireJobCvRelDO::getRecommendUserId);
|
|
|
|
|
- // 人才相关的条件
|
|
|
|
|
- wrapper.likeIfExists("recommend.name", reqVO.getName());
|
|
|
|
|
-
|
|
|
|
|
- wrapper.orderByDesc(HireJobCvRelDO::getUpdateTime);
|
|
|
|
|
- return selectJoinPage(reqVO, AppAdminHireJobCvRelRespVO.class, wrapper);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- default PageResult<AppHireJobCvRelRespVO> page(AppHireJobCvRelQueryReqVO reqVO, Long userId) {
|
|
|
|
|
- // 职位投递userId inner 招聘职位userId and 职位投递userId inner 人才信息userId
|
|
|
|
|
- MPJLambdaWrapperX<HireJobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
|
|
|
|
|
- wrapper.selectAsClass(HireJobCvRelDO.class, AppHireJobCvRelRespVO.class);
|
|
|
|
|
- wrapper.selectAssociation(JobAdvertisedDO.class, AppHireJobCvRelRespVO::getJob);
|
|
|
|
|
- wrapper.selectAssociation(PersonInfoDO.class, AppHireJobCvRelRespVO::getRecommendPerson);
|
|
|
|
|
- wrapper.selectAssociation(EnterpriseDO.class, AppHireJobCvRelRespVO::getEnterprise);
|
|
|
|
|
- // 投递的职位 inner 招聘职位
|
|
|
|
|
- wrapper.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, HireJobCvRelDO::getJobId);
|
|
|
|
|
- // 投递的职位 inner 企业信息
|
|
|
|
|
- wrapper.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, JobAdvertisedDO::getEnterpriseId);
|
|
|
|
|
- // 投递的职位 inner 人才信息 (推荐人)
|
|
|
|
|
- wrapper.innerJoin(PersonInfoDO.class, PersonInfoDO::getUserId, HireJobCvRelDO::getRecommendUserId);
|
|
|
|
|
-
|
|
|
|
|
- wrapper.eq(HireJobCvRelDO::getRecommendUserId, userId);
|
|
|
|
|
- wrapper.eq(HireJobCvRelDO::getStatus, reqVO.getStatus());
|
|
|
|
|
-
|
|
|
|
|
- wrapper.orderByDesc(HireJobCvRelDO::getUpdateTime);
|
|
|
|
|
- return selectJoinPage(reqVO, AppHireJobCvRelRespVO.class, wrapper);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 获取投递简历中的推荐人列表
|
|
|
|
|
- **/
|
|
|
|
|
- default List<AppAdminPersonSimpleRespVO> getRecommendUser() {
|
|
|
|
|
- MPJLambdaWrapperX<HireJobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
|
|
|
|
|
- wrapper.selectAsClass(HireJobCvRelDO.class, AppAdminHireJobCvRelRespVO.class);
|
|
|
|
|
- wrapper.selectAssociation(PersonInfoDO.class, AppAdminHireJobCvRelRespVO::getRecommendPerson);
|
|
|
|
|
- // 投递的职位 inner 人才信息 (推荐人)
|
|
|
|
|
- wrapper.innerJoin(PersonInfoDO.class, PersonInfoDO::getUserId, HireJobCvRelDO::getRecommendUserId);
|
|
|
|
|
- wrapper.orderByDesc(HireJobCvRelDO::getUpdateTime);
|
|
|
|
|
- return selectJoinList(AppAdminPersonSimpleRespVO.class, wrapper);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- default List<HireJobCvRelDO> selectByRecommendUserId(Long userId) {
|
|
|
|
|
- return selectList(HireJobCvRelDO::getRecommendUserId, userId);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 根据用户ID和职位id判断15天内是否有数据,如果有返回true
|
|
|
|
|
- default Boolean checkDataWithin15Day(Long userId, Long jobId) {
|
|
|
|
|
- return selectCount(new LambdaQueryWrapperX<HireJobCvRelDO>()
|
|
|
|
|
- .eq(HireJobCvRelDO::getUserId, userId)
|
|
|
|
|
- .eq(HireJobCvRelDO::getJobId, jobId)
|
|
|
|
|
- .ge(HireJobCvRelDO::getCreateTime, LocalDateTime.now().minusDays(15))) > 0;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-}
|
|
|