候选人AI面试分析

This commit is contained in:
2026-01-19 22:28:47 +08:00
parent 62de85c6e0
commit 2f76084d98
18 changed files with 410 additions and 16 deletions

View File

@@ -182,4 +182,14 @@ public class HotakeAiCommonToolsController extends BaseController {
return R.ok(hotakeAiCommonToolsService.getAiInterviewQuestions(rolesInfo));
}
/**
* 候选人AI面试分析
*/
@ApiOperation("候选人AI面试分析")
@PostMapping(value = "/candidateAiInterviewAnalysis")
public R<?> candidateAiInterviewAnalysis(@RequestBody HotakeCandidateAiInterviewAnalysisVo analysisVo)
{
return R.ok(hotakeAiCommonToolsService.handleCandidateAiInterviewAnalysis(analysisVo));
}
}

View File

@@ -7,6 +7,7 @@ import com.vetti.common.core.page.TableWebDataInfo;
import com.vetti.common.enums.BusinessType;
import com.vetti.common.utils.SecurityUtils;
import com.vetti.hotake.domain.HotakeRolesApplyInfo;
import com.vetti.hotake.domain.vo.HotakeRolesApplyStageVo;
import com.vetti.hotake.service.IHotakeRolesApplyInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -96,4 +97,16 @@ public class HotakeRolesApplyInfoController extends BaseController
{
return R.ok(hotakeRolesApplyInfoService.deleteHotakeRolesApplyInfoByIds(ids));
}
/**
* 批量修改候选人岗位申请信息所属阶段
*/
@ApiOperation("批量修改候选人岗位申请信息所属阶段")
@Log(title = "批量修改候选人岗位申请信息所属阶段", businessType = BusinessType.UPDATE)
@PutMapping("/batchEditStage")
public R<?> batchEditStage(@RequestBody List<HotakeRolesApplyStageVo> stageVoList)
{
hotakeRolesApplyInfoService.updateBatchEditStage(stageVoList);
return R.ok();
}
}

View File

@@ -1,22 +0,0 @@
package com.vetti.web.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* AI 面试问题记录 信息对象
*
* @author wangxiangshun
* @date 2026-01-17
*/
@Data
@Accessors(chain = true)
public class HotakeAiInterviewQuestionRecordVo {
@ApiModelProperty("用户类型(user:候选者,assistant:面试者AI)")
private String userType;
@ApiModelProperty("语音转义内容")
private String contentText;
}

View File

@@ -1,5 +1,6 @@
package com.vetti.web.entity.vo;
import com.vetti.hotake.domain.vo.HotakeAiInterviewQuestionRecordVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,8 +1,6 @@
package com.vetti.web.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.vetti.common.ai.gpt.ChatGPTClient;
import com.vetti.common.exception.ServiceException;
@@ -11,14 +9,12 @@ import com.vetti.common.utils.spring.SpringUtils;
import com.vetti.web.entity.dto.ConvAiTokenDto;
import com.vetti.web.entity.dto.HotakeAiInterviewScoringDto;
import com.vetti.web.entity.vo.ConvAiTokenRequestVo;
import com.vetti.web.entity.vo.HotakeAiInterviewQuestionRecordVo;
import com.vetti.web.entity.vo.HotakeAiInterviewScoringVo;
import com.vetti.web.service.IElevenLabsConvAiTokenClientService;
import lombok.extern.slf4j.Slf4j;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import org.springframework.stereotype.Service;

View File

@@ -187,6 +187,7 @@ chatGpt:
modelPpg: gpt-4o-mini
modelRLinkAl: gpt-4o-mini
modelRLinkAl_1: gpt-4o-mini
modelAiIntPf: gpt-4o-mini
role: system
http: