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)