添加岗位简历诊断
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
"""岗位简历技能差距分析 + 定制简历接口"""
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
from app.core.context import RequestContext
|
||||
from app.core.database import get_db
|
||||
from app.schemas.skill_gap import SkillGapParam, CustomizeResumeParam, AiEditParam, CustomizeResume
|
||||
from app.services.skill_gap_service import SkillGapService
|
||||
|
||||
router = APIRouter(prefix="/job", tags=["岗位简历"])
|
||||
|
||||
|
||||
@router.post("/skill-gap", summary="技能差距分析")
|
||||
async def skill_gap(param: SkillGapParam):
|
||||
"""根据岗位技能标签和用户简历,分析技能差距"""
|
||||
user_id = RequestContext.user_id.get()
|
||||
async for session in get_db():
|
||||
service = SkillGapService(session)
|
||||
result = await service.analyze_skill_gap(user_id, param.job_id)
|
||||
return result
|
||||
|
||||
|
||||
@router.post("/customize-resume", summary="生成定制简历")
|
||||
async def generate_customize_resume(param: CustomizeResumeParam):
|
||||
"""根据差距分析结果,AI 生成定制简历"""
|
||||
user_id = RequestContext.user_id.get()
|
||||
async for session in get_db():
|
||||
service = SkillGapService(session)
|
||||
await service.generate_customize_resume(
|
||||
user_id, param.job_id, param.resume_id,
|
||||
param.optimize_modules, param.add_skills,
|
||||
)
|
||||
return {"success": True}
|
||||
|
||||
|
||||
@router.get("/customize-resume", summary="查询定制简历")
|
||||
async def get_customize_resume():
|
||||
"""查询当前用户的定制简历"""
|
||||
user_id = RequestContext.user_id.get()
|
||||
async for session in get_db():
|
||||
service = SkillGapService(session)
|
||||
result = await service.get_customize_resume(user_id)
|
||||
return result
|
||||
|
||||
|
||||
@router.put("/customize-resume", summary="修改定制简历")
|
||||
async def update_customize_resume(data: CustomizeResume):
|
||||
"""手动编辑定制简历(整体覆盖)"""
|
||||
user_id = RequestContext.user_id.get()
|
||||
async for session in get_db():
|
||||
service = SkillGapService(session)
|
||||
await service.update_customize_resume(user_id, data.model_dump(by_alias=True))
|
||||
|
||||
|
||||
@router.post("/customize-resume/rollback", summary="回滚定制简历")
|
||||
async def rollback_customize_resume():
|
||||
"""回滚到上一版本的定制简历"""
|
||||
user_id = RequestContext.user_id.get()
|
||||
async for session in get_db():
|
||||
service = SkillGapService(session)
|
||||
await service.rollback_customize_resume(user_id)
|
||||
|
||||
|
||||
@router.post("/customize-resume/ai-edit", summary="AI对话编辑定制简历")
|
||||
async def ai_edit_customize_resume(param: AiEditParam):
|
||||
"""AI 对话式编辑定制简历"""
|
||||
user_id = RequestContext.user_id.get()
|
||||
# 短事务:查岗位信息
|
||||
async for session in get_db():
|
||||
service = SkillGapService(session)
|
||||
result = await service.ai_edit_customize_resume(
|
||||
user_id, param.job_id, param.instruction, param.chat_history,
|
||||
)
|
||||
return result
|
||||
Reference in New Issue
Block a user