|
@@ -26,7 +26,9 @@ import com.citu.module.menduner.system.enums.unfit.UnfitTypeEnum;
|
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
/**
|
|
|
* 面试邀请 Mapper
|
|
@@ -109,6 +111,7 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
|
query.selectAll(InterviewInviteDO.class);
|
|
|
query.selectAssociation(PersonInfoDO.class, AppRecruitInterviewInviteRespVO::getPerson);
|
|
|
query.selectAssociation(JobAdvertisedDO.class, AppRecruitInterviewInviteRespVO::getJob);
|
|
|
+ query.selectAssociation(JobCvRelDO.class, AppRecruitInterviewInviteRespVO::getCvRel);
|
|
|
// 判断是否加入人才库并设置字段值
|
|
|
query.selectFunc("IF(%s IS NOT NULL, TRUE, FALSE)",
|
|
|
arg -> arg.accept(EnterpriseTalentPoolDO::getUserId),
|
|
@@ -124,6 +127,9 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
|
|
|
|
// 发布的职位
|
|
|
query.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, InterviewInviteDO::getJobId);
|
|
|
+ query.leftJoin(JobCvRelDO.class, on -> on
|
|
|
+ .eq(JobCvRelDO::getId, InterviewInviteDO::getJobCvRelId)
|
|
|
+ );
|
|
|
query.eq(InterviewInviteDO::getEnterpriseId, enterpriseId);
|
|
|
query.eq(InterviewInviteDO::getInviteUserId, userId);
|
|
|
query
|
|
@@ -258,7 +264,7 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
|
query.inIfPresent(InterviewInviteDO::getInviteUserId, reqVO.getUserId());
|
|
|
query.eqIfPresent(InterviewInviteDO::getJobId, reqVO.getJobId());
|
|
|
query.eqIfPresent(InterviewInviteDO::getStatus, status);
|
|
|
- query.eq(InterviewInviteDO::getConversationStatus, conversationStatus);
|
|
|
+ query.eqIfPresent(InterviewInviteDO::getConversationStatus, conversationStatus);
|
|
|
query.between(null != startTime && null != endTime, JobCvRelDO::getCreateTime, startTime, endTime);
|
|
|
|
|
|
query.orderByDesc(InterviewInviteDO::getUpdateTime);
|
|
@@ -282,4 +288,40 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
|
) > 0;
|
|
|
}
|
|
|
|
|
|
+ default List<InterviewInviteDO> selectUserInterviewList(Long userId, Long id){
|
|
|
+
|
|
|
+ return selectList(new LambdaQueryWrapperX<InterviewInviteDO>()
|
|
|
+ .eq(InterviewInviteDO::getUserId, userId)
|
|
|
+ .eqIfPresent(InterviewInviteDO::getJobId, id)
|
|
|
+ .orderByAsc(InterviewInviteDO::getTime)
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ default Long getUserInviteViewJobCount(Long jobCvRelId){
|
|
|
+ LambdaQueryWrapperX<InterviewInviteDO> interviewInviteDOLambdaQueryWrapperX = new LambdaQueryWrapperX<>();
|
|
|
+ interviewInviteDOLambdaQueryWrapperX.eq(InterviewInviteDO::getJobCvRelId, jobCvRelId);
|
|
|
+ return selectCount(interviewInviteDOLambdaQueryWrapperX);
|
|
|
+ };
|
|
|
+
|
|
|
+ default InterviewInviteDO selectInterviewInviteByJobCvId(Long jobCvRelId){
|
|
|
+ LambdaQueryWrapperX<InterviewInviteDO> interviewInviteDOLambdaQueryWrapperX = new LambdaQueryWrapperX<>();
|
|
|
+ interviewInviteDOLambdaQueryWrapperX.eq(InterviewInviteDO::getJobCvRelId, jobCvRelId);
|
|
|
+ interviewInviteDOLambdaQueryWrapperX.orderByDesc(InterviewInviteDO::getTime);
|
|
|
+ List<InterviewInviteDO> interviewInviteDOS = selectList(interviewInviteDOLambdaQueryWrapperX);
|
|
|
+ if(!interviewInviteDOS.isEmpty()){
|
|
|
+ return interviewInviteDOS.get(0);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ default List<InterviewInviteDO> getInterviewInviteByJobCvIds(Set<Long> jobCvId){
|
|
|
+ if(null == jobCvId || jobCvId.isEmpty()){
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ LambdaQueryWrapperX<InterviewInviteDO> interviewInviteDOLambdaQueryWrapperX = new LambdaQueryWrapperX<>();
|
|
|
+ interviewInviteDOLambdaQueryWrapperX.select(InterviewInviteDO::getId, InterviewInviteDO::getJobCvRelId);
|
|
|
+ interviewInviteDOLambdaQueryWrapperX.in(InterviewInviteDO::getJobCvRelId, jobCvId);
|
|
|
+
|
|
|
+ return selectList(interviewInviteDOLambdaQueryWrapperX);
|
|
|
+ };
|
|
|
}
|