|
@@ -1,7 +1,6 @@
|
|
package com.citu.module.menduner.system.dal.mysql.interview;
|
|
package com.citu.module.menduner.system.dal.mysql.interview;
|
|
|
|
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
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,7 +15,9 @@ 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.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.enums.interview.InterviewInviteStatusEnum;
|
|
import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
|
|
|
|
+import com.citu.module.menduner.system.enums.unfit.UnfitTypeEnum;
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
@@ -93,12 +94,29 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
.eqIfPresent(InterviewInviteDO::getStatus, reqVO.getStatus())
|
|
.eqIfPresent(InterviewInviteDO::getStatus, reqVO.getStatus())
|
|
.eqIfPresent(InterviewInviteDO::getConversationStatus, reqVO.getConversationStatus());
|
|
.eqIfPresent(InterviewInviteDO::getConversationStatus, reqVO.getConversationStatus());
|
|
|
|
|
|
|
|
+ setUnfitCandidate(query);
|
|
|
|
+
|
|
query.orderByDesc(InterviewInviteDO::getUpdateTime);
|
|
query.orderByDesc(InterviewInviteDO::getUpdateTime);
|
|
|
|
|
|
return selectJoinPage(reqVO, AppAdminInterviewInviteRespVO.class, query);
|
|
return selectJoinPage(reqVO, AppAdminInterviewInviteRespVO.class, query);
|
|
}
|
|
}
|
|
|
|
|
|
- /** 按时间分组统计面试邀请的数量 **/
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 过滤不合适的候选人
|
|
|
|
+ **/
|
|
|
|
+ default void setUnfitCandidate(MPJLambdaWrapperX<InterviewInviteDO> wrapper) {
|
|
|
|
+ // 不合适的候选人表 过滤不合适的数据
|
|
|
|
+ wrapper.leftJoin(UnfitCandidateDO.class, on ->
|
|
|
|
+ on.eq(UnfitCandidateDO::getType, UnfitTypeEnum.INTERVIEW.getStatus())
|
|
|
|
+ .eq(UnfitCandidateDO::getBizId, InterviewInviteDO::getId)
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ wrapper.isNull(UnfitCandidateDO::getId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 按时间分组统计面试邀请的数量
|
|
|
|
+ **/
|
|
default List<CommonRespVO> getCountByTime(Long enterpriseId, Long userId) {
|
|
default List<CommonRespVO> getCountByTime(Long enterpriseId, Long userId) {
|
|
MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
|
|
MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
|
|
query.selectFunc("DATE(%s)", arg -> arg.accept(InterviewInviteDO::getTime), "`key`");
|
|
query.selectFunc("DATE(%s)", arg -> arg.accept(InterviewInviteDO::getTime), "`key`");
|
|
@@ -111,7 +129,7 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- default List<InterviewInviteDO> getApproachingInterviewList(){
|
|
|
|
|
|
+ default List<InterviewInviteDO> getApproachingInterviewList() {
|
|
// 获取当前时间
|
|
// 获取当前时间
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
|