Files

25 lines
583 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 RedeemReq(BaseModel):
"""赎回入参。shares 为正数(份额),按净值折算入账金额。"""
product_id: int
shares: Decimal = Field(gt=0)
class RedeemResp(BaseModel):
"""赎回结果:最新余额 + 该产品最新持仓。"""
balance: Decimal
holding: HoldingResp
@field_serializer("balance")
def _fmt_balance(self, value: Decimal) -> str:
return f"{value:.2f}"