修改数据库会员获取方式

This commit is contained in:
zk
2026-04-29 18:37:34 +08:00
parent 87bddf6aca
commit b88eac52b4
+5 -7
View File
@@ -9,7 +9,7 @@ import string
from sqlalchemy import select, update 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.core.redis import RedisManager
from app.models.user_job_customize_resume import UserJobCustomizeResume from app.models.user_job_customize_resume import UserJobCustomizeResume
from app.schemas.customize_resume import ( from app.schemas.customize_resume import (
@@ -76,7 +76,7 @@ async def save(user_id: int, job_id: int, cr: CustomizeResume) -> None:
"""保存定制简历:备份旧版本到 Redis 用于回滚 + 写数据库""" """保存定制简历:备份旧版本到 Redis 用于回滚 + 写数据库"""
content = cr.model_dump(by_alias=True) content = cr.model_dump(by_alias=True)
async with async_session_factory() as session: async for session in get_db():
# 查已有记录,备份旧版本到 Redis 用于回滚 # 查已有记录,备份旧版本到 Redis 用于回滚
result = await session.execute(select(UserJobCustomizeResume).where(UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id)) result = await session.execute(select(UserJobCustomizeResume).where(UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id))
record = result.scalar_one_or_none() 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)) UserJobCustomizeResume.id == record.id).values(content=content))
else: else:
session.add(UserJobCustomizeResume(id=next_id(), user_id=user_id, job_id=job_id, content=content)) 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 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( result = await session.execute(select(UserJobCustomizeResume).where(
UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id)) UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id))
record = result.scalar_one_or_none() record = result.scalar_one_or_none()
@@ -111,7 +110,7 @@ async def rollback(user_id: int, job_id: int) -> None:
raise ValueError("没有可回滚的版本") raise ValueError("没有可回滚的版本")
content = CustomizeResume.model_validate_json(data).model_dump(by_alias=True) 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( result = await session.execute(select(UserJobCustomizeResume).where(
UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id)) UserJobCustomizeResume.user_id == user_id, UserJobCustomizeResume.job_id == job_id))
record = result.scalar_one_or_none() 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)) UserJobCustomizeResume.id == record.id).values(content=content))
else: else:
session.add(UserJobCustomizeResume(id=next_id(), user_id=user_id, job_id=job_id, content=content)) 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)