feat:新增接口

This commit is contained in:
zhangyongcai
2026-09-10 23:21:30 +08:00
parent bd7adfd919
commit ea091c041b
25 changed files with 897 additions and 20 deletions
+34
View File
@@ -0,0 +1,34 @@
"""资金账户相关 DTO。
金额统一序列化为两位小数字符串(如 "48000.00"),避免 JSON number 的浮点精度隐患。
"""
from datetime import datetime
from decimal import Decimal
from typing import Literal
from pydantic import BaseModel, Field, field_serializer
class BalanceResp(BaseModel):
"""用户余额响应体。available_balance = balance - frozen_amount,由 service 派生。"""
customer_id: int
balance: Decimal
available_balance: Decimal
frozen_amount: Decimal
currency: str
status: str
update_time: datetime | None = None
@field_serializer("balance", "available_balance", "frozen_amount")
def _fmt_money(self, value: Decimal) -> str:
return f"{value:.2f}"
class AdjustReq(BaseModel):
"""加减余额入参。amount 为正数(元),direction 决定加/减。"""
direction: Literal["add", "sub"] = Field(
..., description="add=入账(充值),sub=出账(提现)"
)
amount: Decimal = Field(gt=0)