Files

25 lines
578 B
Python
Raw Permalink Normal View History

2026-09-10 23:21:30 +08:00
"""申购相关 DTO。"""
from decimal import Decimal
from pydantic import BaseModel, Field, field_serializer
from schemas.holdings import HoldingResp
class PurchaseReq(BaseModel):
"""申购入参。amount 为正数(元),按净值折算份额。"""
product_id: int
amount: Decimal = Field(gt=0)
class PurchaseResp(BaseModel):
"""申购结果:最新余额 + 该产品最新持仓。"""
balance: Decimal
holding: HoldingResp
@field_serializer("balance")
def _fmt_balance(self, value: Decimal) -> str:
return f"{value:.2f}"