|
@@ -14,8 +14,10 @@ import com.citu.module.menduner.system.controller.base.interview.InterviewInvite
|
|
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.JobCvRelDO;
|
|
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.unfit.UnfitCandidateDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.unfit.UnfitCandidateDO;
|
|
|
|
+import com.citu.module.menduner.system.enums.cv.ConversationStatusEnum;
|
|
import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
|
|
import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
|
|
import com.citu.module.menduner.system.enums.unfit.UnfitTypeEnum;
|
|
import com.citu.module.menduner.system.enums.unfit.UnfitTypeEnum;
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
@@ -45,6 +47,33 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
.orderByDesc(InterviewInviteDO::getId));
|
|
.orderByDesc(InterviewInviteDO::getId));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 求职端 获取面试邀约列表
|
|
|
|
+ *
|
|
|
|
+ * @param inviteUserId 邀请用户id
|
|
|
|
+ * @param userId 受邀用户id
|
|
|
|
+ **/
|
|
|
|
+ default List<AppInterviewInviteRespVO> getListByInviteUserId(Long inviteUserId, Long userId) {
|
|
|
|
+ MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
|
|
|
|
+ query.selectAll(InterviewInviteDO.class);
|
|
|
|
+ query.selectAssociation(JobAdvertisedDO.class, AppInterviewInviteRespVO::getJob);
|
|
|
|
+ query.selectAssociation(EnterpriseDO.class, AppInterviewInviteRespVO::getEnterprise);
|
|
|
|
+
|
|
|
|
+ query.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, InterviewInviteDO::getJobId);
|
|
|
|
+ query.innerJoin(EnterpriseDO.class, EnterpriseDO::getId, JobAdvertisedDO::getEnterpriseId);
|
|
|
|
+
|
|
|
|
+ query.eq(InterviewInviteDO::getUserId, userId);
|
|
|
|
+ query.eq(InterviewInviteDO::getInviteUserId, inviteUserId);
|
|
|
|
+
|
|
|
|
+ query.orderByDesc(InterviewInviteDO::getUpdateTime);
|
|
|
|
+
|
|
|
|
+ return selectJoinList(AppInterviewInviteRespVO.class, query);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 求职端 面试邀约列表分页
|
|
|
|
+ **/
|
|
default PageResult<AppInterviewInviteRespVO> page(AppInterviewInvitePageReqVO reqVO, Long userId) {
|
|
default PageResult<AppInterviewInviteRespVO> page(AppInterviewInvitePageReqVO reqVO, Long userId) {
|
|
MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
|
|
MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
|
|
query.selectAll(InterviewInviteDO.class);
|
|
query.selectAll(InterviewInviteDO.class);
|
|
@@ -68,6 +97,9 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
return selectJoinPage(reqVO, AppInterviewInviteRespVO.class, query);
|
|
return selectJoinPage(reqVO, AppInterviewInviteRespVO.class, query);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 招聘端 面试邀约列表分页
|
|
|
|
+ **/
|
|
default PageResult<AppAdminInterviewInviteRespVO> page(AppAdminInterviewInviteReqPageVO reqVO,
|
|
default PageResult<AppAdminInterviewInviteRespVO> page(AppAdminInterviewInviteReqPageVO reqVO,
|
|
Long enterpriseId, Long userId) {
|
|
Long enterpriseId, Long userId) {
|
|
MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
|
|
MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
|
|
@@ -129,6 +161,9 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 获取3个小时内的面试邀约列表
|
|
|
|
+ **/
|
|
default List<InterviewInviteDO> getApproachingInterviewList() {
|
|
default List<InterviewInviteDO> getApproachingInterviewList() {
|
|
// 获取当前时间
|
|
// 获取当前时间
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDateTime now = LocalDateTime.now();
|
|
@@ -145,4 +180,21 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
return selectJoinList(InterviewInviteDO.class, query);
|
|
return selectJoinList(InterviewInviteDO.class, query);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ default List<CommonRespVO> getRecommendCount(List<Long> jobIdList) {
|
|
|
|
+ MPJLambdaWrapperX<InterviewInviteDO> wrapper = new MPJLambdaWrapperX<>();
|
|
|
|
+ wrapper.
|
|
|
|
+ selectAs(InterviewInviteDO::getConversationStatus, "`key`")
|
|
|
|
+ .selectCount(InterviewInviteDO::getId, CommonRespVO::getValue)
|
|
|
|
+ .innerJoin(JobCvRelDO.class, JobCvRelDO::getJobId, InterviewInviteDO::getJobId)
|
|
|
|
+ .eq(JobCvRelDO::getType, "1")
|
|
|
|
+ .in(JobCvRelDO::getJobId, jobIdList)
|
|
|
|
+ .in(InterviewInviteDO::getConversationStatus,
|
|
|
|
+ ConversationStatusEnum.ENTRY.getStatus(), ConversationStatusEnum.SETTLEMENT.getStatus())
|
|
|
|
+ .groupBy(InterviewInviteDO::getConversationStatus);
|
|
|
|
+
|
|
|
|
+ wrapper.orderByDesc("`key`");
|
|
|
|
+ return selectJoinList(CommonRespVO.class, wrapper);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|