diff --git a/vetti-hotakes/src/main/java/com/vetti/hotake/service/impl/HotakeAiCommonToolsServiceImpl.java b/vetti-hotakes/src/main/java/com/vetti/hotake/service/impl/HotakeAiCommonToolsServiceImpl.java index 3de37c6..1890dcf 100644 --- a/vetti-hotakes/src/main/java/com/vetti/hotake/service/impl/HotakeAiCommonToolsServiceImpl.java +++ b/vetti-hotakes/src/main/java/com/vetti/hotake/service/impl/HotakeAiCommonToolsServiceImpl.java @@ -1427,28 +1427,30 @@ public class HotakeAiCommonToolsServiceImpl extends BaseServiceImpl implements I String resultJsonOne = resultStrOne.replaceAll("```json", "").replaceAll("```", ""); log.info("候选人面试综合评估:{}", resultJsonOne); Map dataMap = JSONUtil.toBean(resultJsonOne, Map.class); - Map scoreBreakdownMap = (Map) dataMap.get("score_breakdown"); - if (scoreBreakdownMap != null) { - Map assessmentMap = (Map) scoreBreakdownMap.get("assessment"); - if (assessmentMap != null) { - dto.setAssessmentScore(assessmentMap.get("score").toString()); - dto.setAssessmentLevel(assessmentMap.get("score").toString()); - List details = (List) assessmentMap.get("details"); - dto.setAssessmentDetails(details); - } - Map ratingMap = (Map) scoreBreakdownMap.get("rating"); - if (ratingMap != null) { - dto.setRatingScore(ratingMap.get("score").toString()); - dto.setRatingLevel(ratingMap.get("score").toString()); - List details = (List) ratingMap.get("details"); - dto.setRatingDetails(details); - } - Map questionsMap = (Map) scoreBreakdownMap.get("questions"); - if (questionsMap != null) { - dto.setQuestionsScore(questionsMap.get("score").toString()); - dto.setQuestionsLevel(questionsMap.get("score").toString()); - List details = (List) questionsMap.get("details"); - dto.setQuestionsDetails(details); + if(dataMap != null){ + Map scoreBreakdownMap = (Map) dataMap.get("score_breakdown"); + if (scoreBreakdownMap != null) { + Map assessmentMap = (Map) scoreBreakdownMap.get("assessment"); + if (assessmentMap != null) { + dto.setAssessmentScore(assessmentMap.get("score").toString()); + dto.setAssessmentLevel(assessmentMap.get("score").toString()); + List details = (List) assessmentMap.get("details"); + dto.setAssessmentDetails(details); + } + Map ratingMap = (Map) scoreBreakdownMap.get("rating"); + if (ratingMap != null) { + dto.setRatingScore(ratingMap.get("score").toString()); + dto.setRatingLevel(ratingMap.get("score").toString()); + List details = (List) ratingMap.get("details"); + dto.setRatingDetails(details); + } + Map questionsMap = (Map) scoreBreakdownMap.get("questions"); + if (questionsMap != null) { + dto.setQuestionsScore(questionsMap.get("score").toString()); + dto.setQuestionsLevel(questionsMap.get("score").toString()); + List details = (List) questionsMap.get("details"); + dto.setQuestionsDetails(details); + } } } diff --git a/vetti-hotakes/src/main/java/com/vetti/hotake/service/impl/HotakeInitScreQuestionsReplyRecordInfoServiceImpl.java b/vetti-hotakes/src/main/java/com/vetti/hotake/service/impl/HotakeInitScreQuestionsReplyRecordInfoServiceImpl.java index 3085887..325d2b2 100644 --- a/vetti-hotakes/src/main/java/com/vetti/hotake/service/impl/HotakeInitScreQuestionsReplyRecordInfoServiceImpl.java +++ b/vetti-hotakes/src/main/java/com/vetti/hotake/service/impl/HotakeInitScreQuestionsReplyRecordInfoServiceImpl.java @@ -277,34 +277,37 @@ public class HotakeInitScreQuestionsReplyRecordInfoServiceImpl extends BaseServi // HotakeCandidateCompatibilityDto compatibilityDto = aiCommonToolsService.handleCandidateCompatibility(compatibilityVo); // applyInfo.setCandidateCompatibilityJson(JSONUtil.toJsonStr(compatibilityDto)); // applyInfo.setCandidateCompatibilityScore(compatibilityDto.getOverallScore()); + try{ + //候选人面试综合评估 + HotakeCandidateInterviewEvaluationVo evaluationVo = new HotakeCandidateInterviewEvaluationVo(); - //候选人面试综合评估 - HotakeCandidateInterviewEvaluationVo evaluationVo = new HotakeCandidateInterviewEvaluationVo(); + evaluationVo.setTitle(rolesInf.getRoleName()); + evaluationVo.setDescription(rolesInf.getAboutRole()); + evaluationVo.setRequiredSkills(rolesInf.getRequiredSkillsJson()); + evaluationVo.setPreferredSkills(rolesInf.getNiceToHaveSkillsJson()); + evaluationVo.setExperienceRequired(rolesInf.getJobExperience()); + HotakeCvInfoDto cvInfoDto = JSONUtil.toBean(applyInfo.getCvTemplateJson(), HotakeCvInfoDto.class); + evaluationVo.setName(cvInfoDto.getName()); + evaluationVo.setCurrentPosition(cvInfoDto.getPosition()); + evaluationVo.setEmail(cvInfoDto.getEmail()); + evaluationVo.setWorkExperience(JSONUtil.toJsonStr(cvInfoDto.getExperience())); + evaluationVo.setSkills(JSONUtil.toJsonStr(cvInfoDto.getSkillsTools())); + evaluationVo.setEducation(JSONUtil.toJsonStr(cvInfoDto.getEducation())); + evaluationVo.setCertifications(""); + evaluationVo.setInterviewData(""); + evaluationVo.setQuestions(""); + evaluationVo.setAnswers(""); + evaluationVo.setTechnical(""); + evaluationVo.setCommunication(""); + evaluationVo.setSafetyAwareness(""); + evaluationVo.setProblemSolving(""); - evaluationVo.setTitle(rolesInf.getRoleName()); - evaluationVo.setDescription(rolesInf.getAboutRole()); - evaluationVo.setRequiredSkills(rolesInf.getRequiredSkillsJson()); - evaluationVo.setPreferredSkills(rolesInf.getNiceToHaveSkillsJson()); - evaluationVo.setExperienceRequired(rolesInf.getJobExperience()); - HotakeCvInfoDto cvInfoDto = JSONUtil.toBean(applyInfo.getCvTemplateJson(), HotakeCvInfoDto.class); - evaluationVo.setName(cvInfoDto.getName()); - evaluationVo.setCurrentPosition(cvInfoDto.getPosition()); - evaluationVo.setEmail(cvInfoDto.getEmail()); - evaluationVo.setWorkExperience(JSONUtil.toJsonStr(cvInfoDto.getExperience())); - evaluationVo.setSkills(JSONUtil.toJsonStr(cvInfoDto.getSkillsTools())); - evaluationVo.setEducation(JSONUtil.toJsonStr(cvInfoDto.getEducation())); - evaluationVo.setCertifications(""); - evaluationVo.setInterviewData(""); - evaluationVo.setQuestions(""); - evaluationVo.setAnswers(""); - evaluationVo.setTechnical(""); - evaluationVo.setCommunication(""); - evaluationVo.setSafetyAwareness(""); - evaluationVo.setProblemSolving(""); - - HotakeCandidateInterviewEvaluationDto evaluationDto = aiCommonToolsService.getCandidateInterviewEvaluation(evaluationVo); - applyInfo.setEvaluationJson(JSONUtil.toJsonStr(evaluationDto)); - applyInfo.setEvaluationScore(new BigDecimal(evaluationDto.getOverallScore())); + HotakeCandidateInterviewEvaluationDto evaluationDto = aiCommonToolsService.getCandidateInterviewEvaluation(evaluationVo); + applyInfo.setEvaluationJson(JSONUtil.toJsonStr(evaluationDto)); + applyInfo.setEvaluationScore(new BigDecimal(evaluationDto.getOverallScore())); + }catch (Exception e){ + e.printStackTrace(); + } applyInfo.setRecruiterId(rolesInf.getRecruiterId()); applyInfo.setStage(StageEnum.APPLIED.getCode());