Files
auv/backend/models.py
T
2026-07-05 21:29:17 +08:00

122 lines
2.4 KiB
Python

from pydantic import BaseModel
from typing import Optional
class StockQuote(BaseModel):
code: str
market: str
name: str
todayOpen: float
yesterdayClose: float
currentPrice: float
high: float
low: float
volume: float
amount: float
outerDisk: float
innerDisk: float
date: str
time: str
change: float
changePercent: float
class KLineData(BaseModel):
date: str
open: float
close: float
high: float
low: float
volume: float
class StockSearchResult(BaseModel):
code: str
name: str
market: str
type: str
class FundFlowData(BaseModel):
date: str
mainNetInflow: float
superLargeInflow: float
superLargeOutflow: float
largeInflow: float
largeOutflow: float
mediumInflow: float
mediumOutflow: float
smallInflow: float
smallOutflow: float
mainNetInflowPercent: float
superLargeInflowPercent: float
superLargeOutflowPercent: float
largeInflowPercent: float
largeOutflowPercent: float
mediumInflowPercent: float
mediumOutflowPercent: float
smallInflowPercent: float
smallOutflowPercent: float
turnover: float
mainForceNet: float
retailNet: float
cumulativeMainNet: float
cumulativeRetailNet: float
changePercent: float
closePrice: float
class FundFlowSummary(BaseModel):
totalMainNet: float
totalTurnover: float
totalLargeInflow: Optional[float] = 0
avgDailyMainNet: float
positiveDays: int
negativeDays: int
class StockCollection(BaseModel):
id: int
name: str
description: Optional[str] = None
user_id: str
last_accessed_at: str
created_at: str
updated_at: str
class StockCollectionCreate(BaseModel):
name: str
description: Optional[str] = None
user_id: str
class StockCollectionUpdate(BaseModel):
name: Optional[str] = None
description: Optional[str] = None
user_id: Optional[str] = None
last_accessed_at: Optional[str] = None
class CollectionStock(BaseModel):
id: int
collection_id: int
stock_code: str
stock_name: str
added_price: Optional[float] = None
added_at: str
class CollectionStockCreate(BaseModel):
stock_code: str
stock_name: str
added_price: Optional[float] = None
class ShareLink(BaseModel):
id: int
collection_id: int
short_code: str
created_at: str
expires_at: Optional[str] = None