hku-class/backend/app/schemas/fund.py
2026-04-17 22:41:50 +08:00

46 lines
954 B
Python

from datetime import date, datetime
from pydantic import BaseModel
class FundRecordCreate(BaseModel):
type: str # income | expense
amount: float
category: str
description: str | None = None
record_date: date
class FundRecordUpdate(BaseModel):
type: str | None = None
amount: float | None = None
category: str | None = None
description: str | None = None
record_date: date | None = None
class FundRecordOut(BaseModel):
id: int
class_id: int
type: str
amount: float
category: str
description: str | None
record_date: date
recorder_id: int
recorder_name: str
created_at: datetime
updated_at: datetime
class CategoryAmount(BaseModel):
category: str
amount: float
class FundStatistics(BaseModel):
total_income: float
total_expense: float
balance: float
income_by_category: list[CategoryAmount]
expense_by_category: list[CategoryAmount]