fix: 代码审查问题修复

- unit_of_work.py: 简化为纯 session 上下文管理器,消除 double-close 风险
- validation.py: 移除未使用的 import,简化 _score_to_1x2 逻辑
- repositories.py: 将 func 导入移到模块顶层
- 更新所有 get_uow() 调用点使用新接口(yield session 而非 uow 对象)
This commit is contained in:
shangfangjian
2026-09-15 01:18:35 +08:00
parent 74586aa5b7
commit 53e602b4f6
8 changed files with 40 additions and 86 deletions
+4 -6
View File
@@ -186,9 +186,8 @@ async def predict_match_multi(
).hexdigest()
# 4. 存库(使用 UnitOfWork)
async with get_uow() as uow:
db = uow.session
m = await db.get(Match, match_id)
async with get_uow() as session:
m = await session.get(Match, match_id)
if m is None:
raise ValueError(f"match {match_id} not found")
@@ -219,9 +218,8 @@ async def predict_match_multi(
cutoff_at=cutoff_at,
input_hash=input_hash,
)
db.add(pred)
await uow.commit()
await db.refresh(pred)
session.add(pred)
await session.refresh(pred)
return MultiPredictResult(
prediction_id=pred.id,