fix finance balance delta recharges

This commit is contained in:
SmartUp Developer
2026-07-03 20:05:28 +08:00
parent bb7ed5a7e0
commit 1670503720
12 changed files with 745 additions and 24 deletions
+27 -2
View File
@@ -1,5 +1,5 @@
from datetime import datetime
from typing import Optional, Any
from datetime import date, datetime
from typing import Optional, Any, Literal
from pydantic import BaseModel, Field
@@ -37,6 +37,7 @@ class UpstreamCreate(BaseModel):
balance_response_path: str = ""
balance_divisor: float = 1.0
balance_alert_threshold: Optional[float] = None
finance_cost_mode: Literal["usage_stats", "balance_delta"] = "usage_stats"
class UpstreamUpdate(BaseModel):
@@ -54,6 +55,7 @@ class UpstreamUpdate(BaseModel):
balance_response_path: Optional[str] = None
balance_divisor: Optional[float] = None
balance_alert_threshold: Optional[float] = None
finance_cost_mode: Optional[Literal["usage_stats", "balance_delta"]] = None
class UpstreamResponse(BaseModel):
@@ -77,12 +79,35 @@ class UpstreamResponse(BaseModel):
balance_response_path: str = ""
balance_divisor: float = 1.0
balance_alert_threshold: Optional[float] = None
finance_cost_mode: Literal["usage_stats", "balance_delta"] = "usage_stats"
created_at: datetime
updated_at: datetime
model_config = {"from_attributes": True}
class UpstreamRechargeCreate(BaseModel):
date: date
amount: float = Field(gt=0)
note: str = ""
class UpstreamRechargeUpdate(BaseModel):
date: Optional[date] = None
amount: Optional[float] = Field(default=None, gt=0)
note: Optional[str] = None
class UpstreamRechargeResponse(BaseModel):
id: int
upstream_id: int
date: date
amount: float
note: str = ""
created_at: datetime
updated_at: datetime
class SnapshotResponse(BaseModel):
id: int
upstream_id: int