fix: analysis
This commit is contained in:
@@ -3,7 +3,7 @@ import logging
|
||||
from uuid import UUID
|
||||
|
||||
import httpx
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy import delete, select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.core.config import settings
|
||||
@@ -15,7 +15,14 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
async def assess_case(case_id: UUID, db: AsyncSession) -> list[FraudAssessment]:
|
||||
"""Run rule-based assessment on all non-duplicate transactions and generate reasons."""
|
||||
"""Run rule-based assessment on all non-duplicate transactions and replace old results."""
|
||||
# Replace mode: rerun analysis for the same case should overwrite prior assessments
|
||||
# instead of appending duplicated rows.
|
||||
await db.execute(
|
||||
delete(FraudAssessment).where(FraudAssessment.case_id == case_id)
|
||||
)
|
||||
await db.flush()
|
||||
|
||||
result = await db.execute(
|
||||
select(TransactionRecord)
|
||||
.where(TransactionRecord.case_id == case_id)
|
||||
|
||||
Reference in New Issue
Block a user