first commit
This commit is contained in:
51
backend/app/schemas/transaction.py
Normal file
51
backend/app/schemas/transaction.py
Normal file
@@ -0,0 +1,51 @@
|
||||
"""Transaction schemas."""
|
||||
|
||||
from datetime import datetime
|
||||
from decimal import Decimal
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
|
||||
class TransactionBase(BaseModel):
|
||||
app_source: str
|
||||
transaction_type: str
|
||||
amount: Decimal
|
||||
currency: str = "CNY"
|
||||
counterparty_name: str | None = None
|
||||
counterparty_account: str | None = None
|
||||
order_number: str | None = None
|
||||
transaction_time: datetime | None = None
|
||||
remark: str | None = None
|
||||
confidence: str = "medium"
|
||||
|
||||
|
||||
class TransactionCreate(TransactionBase):
|
||||
case_id: int
|
||||
screenshot_id: int
|
||||
raw_text: str | None = None
|
||||
|
||||
|
||||
class TransactionResponse(TransactionBase):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
id: int
|
||||
case_id: int
|
||||
screenshot_id: int
|
||||
raw_text: str | None = None
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class TransactionListResponse(BaseModel):
|
||||
items: list[TransactionResponse]
|
||||
|
||||
|
||||
class TransactionExtractItem(BaseModel):
|
||||
"""Single item as returned by LLM extraction (before DB insert)."""
|
||||
app_source: str
|
||||
transaction_type: str
|
||||
amount: Decimal
|
||||
currency: str = "CNY"
|
||||
counterparty_name: str | None = None
|
||||
counterparty_account: str | None = None
|
||||
order_number: str | None = None
|
||||
transaction_time: datetime | None = None
|
||||
remark: str | None = None
|
||||
confidence: str = "medium"
|
||||
Reference in New Issue
Block a user