优化逻辑完善,接口补充

This commit is contained in:
2026-02-03 21:41:36 +08:00
parent 6d531c1b99
commit 540e1fa2bf
7 changed files with 107 additions and 4 deletions

View File

@@ -43,6 +43,14 @@ public interface HotakeRolesApplyInfoMapper
*/
public List<HotakeRolesApplyInfo> selectHotakeRolesApplyInfoCompatibilityScoreList(HotakeRolesApplyInfo hotakeRolesApplyInfo);
/**
* 查询候选人岗位申请信息列表
*
* @param hotakeRolesApplyInfo 候选人岗位申请信息
* @return 候选人岗位申请信息集合
*/
public List<HotakeRolesApplyInfo> selectHotakeRolesApplyInfoCompatibilityScoreOneList(HotakeRolesApplyInfo hotakeRolesApplyInfo);
/**
* 新增候选人岗位申请信息
*

View File

@@ -101,4 +101,12 @@ public interface IHotakeRolesApplyInfoService
*/
public HotakeRolesApplyStageStatisticalDto handleHotakeRolesApplyStageStatistical(HotakeRolesApplyInfo hotakeRolesApplyInfo);
/**
* 候选人面试综合评估
*
* @param hotakeRolesApplyInfo 候选人岗位申请信息
* @return 候选人岗位申请信息集合
*/
public HotakeRolesApplyInfo handleCandidateInterviewEvaluation(HotakeRolesApplyInfo hotakeRolesApplyInfo);
}

View File

@@ -11,10 +11,7 @@ import com.vetti.common.enums.StageEnum;
import com.vetti.common.exception.ServiceException;
import com.vetti.common.utils.SecurityUtils;
import com.vetti.hotake.domain.*;
import com.vetti.hotake.domain.dto.HotakeAiCvScoringRankingDto;
import com.vetti.hotake.domain.dto.HotakeCandidateCompatibilityDto;
import com.vetti.hotake.domain.dto.HotakeCvInfoDto;
import com.vetti.hotake.domain.dto.HotakeRolesApplyStageStatisticalDto;
import com.vetti.hotake.domain.dto.*;
import com.vetti.hotake.domain.dto.VcDto.*;
import com.vetti.hotake.domain.vo.HotakeRolesApplyStageVo;
import com.vetti.hotake.mapper.HotakeInitScreQuestionsReplyRecordInfoMapper;
@@ -548,4 +545,37 @@ public class HotakeRolesApplyInfoServiceImpl extends BaseServiceImpl implements
return dto;
}
/**
* 候选人面试综合评估
* @param hotakeRolesApplyInfo 候选人岗位申请信息
* @return
*/
@Override
public HotakeRolesApplyInfo handleCandidateInterviewEvaluation(HotakeRolesApplyInfo hotakeRolesApplyInfo) {
if(CollectionUtil.isEmpty(hotakeRolesApplyInfo.getApplyRoleIdList())){
throw new ServiceException("Please select at least one piece of business data");
}
List<HotakeRolesApplyInfo> applyInfoList = hotakeRolesApplyInfoMapper.selectHotakeRolesApplyInfoCompatibilityScoreOneList(hotakeRolesApplyInfo);
if(CollectionUtil.isNotEmpty(applyInfoList)) {
HotakeRolesApplyInfo applyInfo = applyInfoList.get(0);
if(StrUtil.isNotEmpty(applyInfo.getEvaluationJson())){
HotakeCandidateInterviewEvaluationDto evaluationDto = JSONUtil.toBean(applyInfo.getEvaluationJson(), HotakeCandidateInterviewEvaluationDto.class);
applyInfo.setEvaluationDto(evaluationDto);
}
HotakeRolesInfo rolesInfo = hotakeRolesInfoMapper.selectHotakeRolesInfoById(applyInfo.getRoleId());
applyInfo.setRolesInfo(rolesInfo);
SysUser user = userService.selectUserById(applyInfo.getCandidateId());
applyInfo.setCandidateUSer(user);
if(StrUtil.isNotEmpty(applyInfo.getCandidateCompatibilityJson())){
HotakeCandidateCompatibilityDto compatibilityDto = JSONUtil.toBean(applyInfo.getCandidateCompatibilityJson(), HotakeCandidateCompatibilityDto.class);
applyInfo.setCompatibilityDto(compatibilityDto);
}
return applyInfo;
}
return new HotakeRolesApplyInfo();
}
}