|
@@ -2,6 +2,7 @@ package com.citu.module.menduner.system.service.job;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
|
+import com.citu.framework.common.exception.ServiceException;
|
|
import com.citu.framework.common.pojo.PageParam;
|
|
import com.citu.framework.common.pojo.PageParam;
|
|
import com.citu.framework.common.pojo.PageResult;
|
|
import com.citu.framework.common.pojo.PageResult;
|
|
import com.citu.module.menduner.common.util.LoginUserContext;
|
|
import com.citu.module.menduner.common.util.LoginUserContext;
|
|
@@ -27,9 +28,11 @@ import com.citu.module.menduner.system.controller.base.person.student.StudentRes
|
|
import com.citu.module.menduner.system.convert.EnterpriseConvert;
|
|
import com.citu.module.menduner.system.convert.EnterpriseConvert;
|
|
import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
|
|
import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
|
|
import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
|
|
|
|
+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.job.JobCvRelDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
|
|
import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
|
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.unfit.UnfitCandidateDO;
|
|
import com.citu.module.menduner.system.dal.es.job.ESJobAdvertisedMergeDO;
|
|
import com.citu.module.menduner.system.dal.es.job.ESJobAdvertisedMergeDO;
|
|
import com.citu.module.menduner.system.dal.mysql.area.AreaMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.area.AreaMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
|
|
import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
|
|
@@ -44,6 +47,7 @@ import com.citu.module.menduner.system.service.area.AreaService;
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
|
|
import com.citu.module.menduner.system.service.interview.InterviewInviteService;
|
|
import com.citu.module.menduner.system.service.interview.InterviewInviteService;
|
|
import com.citu.module.menduner.system.service.person.student.StudentService;
|
|
import com.citu.module.menduner.system.service.person.student.StudentService;
|
|
|
|
+import com.citu.module.menduner.system.service.unfit.UnfitCandidateService;
|
|
import com.citu.module.menduner.system.util.ESQueryBuildUtils;
|
|
import com.citu.module.menduner.system.util.ESQueryBuildUtils;
|
|
import com.citu.module.menduner.system.util.RedisUtils;
|
|
import com.citu.module.menduner.system.util.RedisUtils;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -66,6 +70,8 @@ import java.time.temporal.ChronoUnit;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_REQUEST_ILLEGAL;
|
|
|
|
+
|
|
@Slf4j
|
|
@Slf4j
|
|
@Service
|
|
@Service
|
|
@Validated
|
|
@Validated
|
|
@@ -104,6 +110,9 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
|
|
@Resource
|
|
@Resource
|
|
private UnfitCandidateMapper unfitCandidateMapper;
|
|
private UnfitCandidateMapper unfitCandidateMapper;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private UnfitCandidateService unfitCandidateService;
|
|
|
|
+
|
|
@Resource
|
|
@Resource
|
|
private ElasticsearchRestTemplate elasticsearchTemplate;
|
|
private ElasticsearchRestTemplate elasticsearchTemplate;
|
|
|
|
|
|
@@ -378,13 +387,33 @@ public class JobIntegrationServiceImpl implements JobIntegrationService {
|
|
if (CollUtil.isEmpty(pageResult.getList())) {
|
|
if (CollUtil.isEmpty(pageResult.getList())) {
|
|
return PageResult.empty();
|
|
return PageResult.empty();
|
|
}
|
|
}
|
|
|
|
+ Set<Long> jobCvId = new HashSet<>();
|
|
pageResult.getList().forEach(item -> {
|
|
pageResult.getList().forEach(item -> {
|
|
|
|
+
|
|
if(null!=item.getJob() && null != item.getJob().getAreaId()) {
|
|
if(null!=item.getJob() && null != item.getJob().getAreaId()) {
|
|
item.getJob().setArea(areaService.getById(item.getJob().getAreaId()));
|
|
item.getJob().setArea(areaService.getById(item.getJob().getAreaId()));
|
|
}
|
|
}
|
|
// 查询当前职位加入哪些招聘会
|
|
// 查询当前职位加入哪些招聘会
|
|
item.setJobFairIds(fairDetailMapper.selectJobFairIdsByJobId(item.getId()));
|
|
item.setJobFairIds(fairDetailMapper.selectJobFairIdsByJobId(item.getId()));
|
|
|
|
+ if(null == item.getUserId() || null == item.getJob().getId()){
|
|
|
|
+ throw new ServiceException(MDE_REQUEST_ILLEGAL);
|
|
|
|
+ }
|
|
|
|
+ jobCvId.add(item.getId());
|
|
|
|
+// Boolean unfitCandidajobCvStatus =unfitCandidateService.checkJobCvStatus(item.getId());
|
|
|
|
+// item.setInterViewStatus(interviewInviteService.checkInviteViewStatus(item.getId()));
|
|
|
|
+
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+ List<InterviewInviteDO> interviewInviteDOS = interviewInviteService.getInterviewInviteByJobCvIds(jobCvId);
|
|
|
|
+ List<UnfitCandidateDO> unfitCandidateDOS = unfitCandidateService.getUnfitCandidateByJobCvIds(jobCvId);
|
|
|
|
+ Map<Long,Boolean> jobCvHandleMap = new HashMap<>();
|
|
|
|
+ interviewInviteDOS.forEach(item->jobCvHandleMap.put(item.getJobCvRelId(),true));
|
|
|
|
+ unfitCandidateDOS.forEach(item->jobCvHandleMap.put(item.getJobCvRelId(),true));
|
|
|
|
+
|
|
|
|
+ for (AppRecruitJobCvRelRespVO appRecruitJobCvRelRespVO : pageResult.getList()) {
|
|
|
|
+ appRecruitJobCvRelRespVO.setHandleStatus(jobCvHandleMap.get(appRecruitJobCvRelRespVO.getId()));
|
|
|
|
+ }
|
|
|
|
+
|
|
redisUtils.setEnterpriseUserLookPersonPermission(pageResult.getList().stream()
|
|
redisUtils.setEnterpriseUserLookPersonPermission(pageResult.getList().stream()
|
|
.map(AppRecruitJobCvRelRespVO::getUserId)
|
|
.map(AppRecruitJobCvRelRespVO::getUserId)
|
|
.collect(Collectors.toSet()));
|
|
.collect(Collectors.toSet()));
|