fix:批量修复了一些问题
This commit is contained in:
@@ -19,13 +19,19 @@ router = APIRouter(prefix="/api/v1", tags=["eval"])
|
||||
async def settle(req: SettleRequest, db: AsyncSession = Depends(get_db)):
|
||||
"""回填实际结果。
|
||||
|
||||
status 为 degraded/failed 的预测无法结算。
|
||||
status 为 degraded/failed 的预测无法结算(返回 400);
|
||||
记录不存在返回 404。
|
||||
"""
|
||||
try:
|
||||
pred = await settle_prediction(req.prediction_id, req.home_goals, req.away_goals)
|
||||
return {"id": pred.id, "settled": pred.settled}
|
||||
except ValueError as e:
|
||||
logger.warning("settle failed: %s", e)
|
||||
msg = str(e)
|
||||
# degraded/failed 拒绝:明确的 400,而非与"未找到"混为一谈
|
||||
if "无法结算" in msg:
|
||||
logger.warning("settle rejected: %s", msg)
|
||||
raise HTTPException(400, msg)
|
||||
logger.warning("settle failed: %s", msg)
|
||||
raise HTTPException(404, "预测记录不存在")
|
||||
except Exception as e:
|
||||
logger.exception("settle error")
|
||||
|
||||
Reference in New Issue
Block a user