feat(candidate): 增加候选人LLM筛选及评分功能

- 在候选人数据库表中新增llm_filtered标记、llm_score评分及详情字段及索引
- 在领域模型Candidate中新增LLM筛选状态和评分相关属性
- 更新ORM映射类添加llm_filtered、llm_score、llm_score_details字段映射
- 扩展候选人数据访问层,支持基于LLM筛选状态和评分范围的查询与分页
- 提供批量标记候选人LLM筛选状态的接口支持
- 新增候选人管理API路由,包含查询、筛选、标记和更新评分的接口
- 定义完整的请求和响应Schema,使用统一响应封装结构
- 更新应用启动代码注册候选人管理接口路由,完善模块导入及初始化逻辑
This commit is contained in:
2026-03-24 18:34:37 +08:00
parent 7e60476175
commit 1343561979
8 changed files with 511 additions and 17 deletions

View File

@@ -54,6 +54,9 @@ CREATE TABLE IF NOT EXISTS candidates (
salary_min INT, -- 期望薪资下限(K)
salary_max INT, -- 期望薪资上限(K)
status VARCHAR(32) DEFAULT 'NEW', -- NEW, ANALYZED, PUSHED, CONTACTED, INTERVIEWED, HIRED, REJECTED
llm_filtered TINYINT DEFAULT 0, -- 是否通过LLM筛选: 0-否, 1-是
llm_score DECIMAL(4,1), -- LLM综合评分 0-100
llm_score_details JSON, -- LLM各维度评分详情
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY uk_source_source_id (source, source_id),
@@ -61,7 +64,10 @@ CREATE TABLE IF NOT EXISTS candidates (
INDEX idx_email (email),
INDEX idx_name (name),
INDEX idx_status (status),
INDEX idx_created_at (created_at)
INDEX idx_created_at (created_at),
INDEX idx_llm_filtered (llm_filtered),
INDEX idx_llm_score (llm_score),
INDEX idx_llm_filtered_score (llm_filtered, llm_score)
);
-- ============================================