This commit is contained in:
HuangHai
2026-01-18 16:02:40 +08:00
parent a8ad244ecf
commit 5c0a1a67ac
8 changed files with 786 additions and 202 deletions

View File

@@ -0,0 +1,55 @@
from typing import List, Optional
from pydantic import BaseModel
class StationBase(BaseModel):
station_hash: str
operator: str
station_name: str
address: Optional[str]
coord_x: Optional[float]
coord_y: Optional[float]
current_price: Optional[float]
class CompetitorStation(BaseModel):
station_hash: str
operator: str
station_name: str
distance_km: float
current_price: Optional[float]
class GeoCompetitionResponse(BaseModel):
base_station: StationBase
competitors: List[CompetitorStation]
ylt_price: Optional[float]
min_competitor_price: Optional[float]
max_competitor_price: Optional[float]
cheaper_count: int
same_count: int
more_expensive_count: int
class GeoCompetitionSummary(BaseModel):
summary: str
class PriceSeries(BaseModel):
operator: str
series: List[Optional[float]]
class PriceComparisonResponse(BaseModel):
hours: List[int]
ylt: PriceSeries
competitors: List[PriceSeries]
min_diff: Optional[float]
max_diff: Optional[float]
avg_diff: Optional[float]
class PriceComparisonSummary(BaseModel):
summary: str

Binary file not shown.