封装 redis 客户端处理方案
This commit is contained in:
@@ -20,7 +20,7 @@ from app.ai.skill_gap_analyzer.analyzer import (
|
||||
)
|
||||
from app.ai.skill_gap_analyzer.prompts import MODULE_SCHEMAS
|
||||
from app.core.logger import log
|
||||
from app.core.redis import redis_client
|
||||
from app.core.redis import RedisManager
|
||||
from app.schemas.skill_gap import (
|
||||
CustomizeResume, ResumeProfile, Education, Work, Internship, Project, Competition, Paragraph,
|
||||
)
|
||||
@@ -177,10 +177,10 @@ class SkillGapService:
|
||||
async def get_customize_resume(self, user_id: int) -> dict | None:
|
||||
"""查询定制简历"""
|
||||
key = f"{CUSTOMIZE_RESUME_KEY_PREFIX}{user_id}"
|
||||
data = await redis_client.get(key)
|
||||
if not data:
|
||||
return None
|
||||
return CustomizeResume.model_validate_json(data).model_dump(by_alias=True)
|
||||
data = await RedisManager.client.get(key)
|
||||
if data:
|
||||
return CustomizeResume.model_validate_json(data).model_dump(by_alias=True)
|
||||
return None
|
||||
|
||||
async def update_customize_resume(self, user_id: int, data: dict) -> None:
|
||||
"""手动编辑定制简历(整体覆盖)"""
|
||||
@@ -190,12 +190,12 @@ class SkillGapService:
|
||||
async def rollback_customize_resume(self, user_id: int) -> None:
|
||||
"""回滚定制简历"""
|
||||
rollback_key = f"{CUSTOMIZE_RESUME_ROLLBACK_KEY_PREFIX}{user_id}"
|
||||
data = await redis_client.get(rollback_key)
|
||||
data = await RedisManager.client.get(rollback_key)
|
||||
if not data:
|
||||
raise ValueError("没有可回滚的版本")
|
||||
key = f"{CUSTOMIZE_RESUME_KEY_PREFIX}{user_id}"
|
||||
await redis_client.set(key, data, ex=CUSTOMIZE_RESUME_EXPIRE)
|
||||
await redis_client.delete(rollback_key)
|
||||
await RedisManager.client.set(key, data, ex=CUSTOMIZE_RESUME_EXPIRE)
|
||||
await RedisManager.client.delete(rollback_key)
|
||||
|
||||
# ===== AI 对话编辑 =====
|
||||
|
||||
@@ -204,7 +204,7 @@ class SkillGapService:
|
||||
"""AI 对话式编辑定制简历"""
|
||||
# 1. 取当前定制简历
|
||||
key = f"{CUSTOMIZE_RESUME_KEY_PREFIX}{user_id}"
|
||||
raw = await redis_client.get(key)
|
||||
raw = await RedisManager.client.get(key)
|
||||
if not raw:
|
||||
raise ValueError("定制简历不存在,请先生成")
|
||||
cr = CustomizeResume.model_validate_json(raw)
|
||||
@@ -241,7 +241,7 @@ class SkillGapService:
|
||||
self._apply_edit_result(cr, mod_key, result)
|
||||
# 6. 保存回滚 + 新版本
|
||||
rollback_key = f"{CUSTOMIZE_RESUME_ROLLBACK_KEY_PREFIX}{user_id}"
|
||||
await redis_client.set(rollback_key, raw, ex=CUSTOMIZE_RESUME_ROLLBACK_EXPIRE)
|
||||
await RedisManager.client.set(rollback_key, raw, ex=CUSTOMIZE_RESUME_ROLLBACK_EXPIRE)
|
||||
await self._save_customize_resume(user_id, cr)
|
||||
label = plan.get("updatedModulesLabel", "简历内容")
|
||||
return {"type": "updated", "message": f"完成!已更新:{label}"}
|
||||
@@ -352,4 +352,4 @@ class SkillGapService:
|
||||
async def _save_customize_resume(user_id: int, cr: CustomizeResume) -> None:
|
||||
"""存定制简历到 Redis"""
|
||||
key = f"{CUSTOMIZE_RESUME_KEY_PREFIX}{user_id}"
|
||||
await redis_client.set(key, cr.model_dump_json(by_alias=True), ex=CUSTOMIZE_RESUME_EXPIRE)
|
||||
await RedisManager.client.set(key, cr.model_dump_json(by_alias=True), ex=CUSTOMIZE_RESUME_EXPIRE)
|
||||
|
||||
Reference in New Issue
Block a user