封装 redis 客户端处理方案

This commit is contained in:
zk
2026-04-10 10:34:41 +08:00
parent c001ba8146
commit 70a080d9b3
4 changed files with 49 additions and 44 deletions
+11 -11
View File
@@ -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)