From b88eac52b4271d63e84cfe879cee60a6ef7c2f8b Mon Sep 17 00:00:00 2001 From: zk Date: Wed, 29 Apr 2026 18:37:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E8=8E=B7=E5=8F=96=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/customize_resume_store.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/app/services/customize_resume_store.py b/app/services/customize_resume_store.py index 2f65a7b..1f8a5d8 100644 --- a/app/services/customize_resume_store.py +++ b/app/services/customize_resume_store.py @@ -9,7 +9,7 @@ import string from sqlalchemy import select, update -from app.core.database import async_session_factory +from app.core.database import get_db from app.core.redis import RedisManager from app.models.user_job_customize_resume import UserJobCustomizeResume from app.schemas.customize_resume import ( @@ -76,7 +76,7 @@ async def save(user_id: int, job_id: int, cr: CustomizeResume) -> None: """保存定制简历:备份旧版本到 Redis 用于回滚 + 写数据库""" content = cr.model_dump(by_alias=True) - async with async_session_factory() as session: + async for session in get_db(): # 查已有记录,备份旧版本到 Redis 用于回滚 result = await session.execute(select(UserJobCustomizeResume).where(UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id)) record = result.scalar_one_or_none() @@ -87,12 +87,11 @@ async def save(user_id: int, job_id: int, cr: CustomizeResume) -> None: UserJobCustomizeResume.id == record.id).values(content=content)) else: session.add(UserJobCustomizeResume(id=next_id(), user_id=user_id, job_id=job_id, content=content)) - await session.commit() async def get(user_id: int, job_id: int) -> dict | None: """查询定制简历,查不到则加载默认简历构建返回""" - async with async_session_factory() as session: + async for session in get_db(): result = await session.execute(select(UserJobCustomizeResume).where( UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id)) record = result.scalar_one_or_none() @@ -111,7 +110,7 @@ async def rollback(user_id: int, job_id: int) -> None: raise ValueError("没有可回滚的版本") content = CustomizeResume.model_validate_json(data).model_dump(by_alias=True) - async with async_session_factory() as session: + async for session in get_db(): result = await session.execute(select(UserJobCustomizeResume).where( UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id)) record = result.scalar_one_or_none() @@ -120,5 +119,4 @@ async def rollback(user_id: int, job_id: int) -> None: UserJobCustomizeResume.id == record.id).values(content=content)) else: session.add(UserJobCustomizeResume(id=next_id(), user_id=user_id, job_id=job_id, content=content)) - await session.commit() - await RedisManager.client.delete(rollback_k) + await RedisManager.client.delete(rollback_k)