From f961e8dce1394bf0ae08dd01b57e19c4657bbbf3 Mon Sep 17 00:00:00 2001 From: aszerW Date: Sun, 11 Aug 2024 18:27:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9F=BA=E7=A1=80=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_model.py | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 data_model.py diff --git a/data_model.py b/data_model.py new file mode 100644 index 0000000..6a648c3 --- /dev/null +++ b/data_model.py @@ -0,0 +1,78 @@ +from datetime import datetime +from typing import Optional, Union, List, Dict +from pydantic import BaseModel, Field, Json + + +class MysqlConfig(BaseModel): + host: str + port: int + db_name: str + user: str + password: str + + +class OddsJamOrder(BaseModel): + id: str = Field(..., description="主键,自增ID") + bet_id: Optional[str] = Field(None, description="投注ID") + game_id: Optional[str] = Field(None, description="比赛ID") + away_bet_name: Optional[str] = Field(None, description="客队投注名称") + home_bet_name: Optional[str] = Field(None, description="主队投注名称") + away_no_vig_price: Optional[float] = Field(None, description="客队无佣金价格") + home_no_vig_price: Optional[float] = Field(None, description="主队无佣金价格") + away_price: Optional[float] = Field(None, description="客队价格") + home_price: Optional[float] = Field(None, description="主队价格") + away_sportsbooks: Optional[Json[List[str]]] = Field( + None, description="客队的体育书籍,JSON格式") + home_sportsbooks: Optional[Json[List[str]]] = Field( + None, description="主队的体育书籍,JSON格式") + is_live: Optional[bool] = Field(None, description="是否为直播") + in_game_status: Optional[str] = Field(None, description="比赛状态") + period: Optional[str] = Field(None, description="比赛时段") + clock: Optional[str] = Field(None, description="比赛时钟") + last_play: Optional[str] = Field(None, description="最后一次比赛") + home_score: Optional[int] = Field(None, description="主队得分") + away_score: Optional[int] = Field(None, description="客队得分") + sport: Optional[str] = Field(None, description="运动类型") + league: Optional[str] = Field(None, description="联赛") + market: Optional[str] = Field(None, description="市场") + market_width: Optional[float] = Field(None, description="市场宽度") + percentage: Optional[float] = Field(None, description="百分比") + start_date: Optional[datetime] = Field(None, description="比赛开始日期时间") + home_team: Optional[str] = Field(None, description="主队") + away_team: Optional[str] = Field(None, description="客队") + timestamp: Optional[float] = Field(None, description="时间戳") + away_deep_link_map: Optional[str] = Field( + None, description="客队深度链接映射,JSON格式") + home_deep_link_map: Optional[str] = Field( + None, description="主队深度链接映射,JSON格式") + status: Optional[str] = Field(None, description="状态") + away_edge_percent: Optional[float] = Field(None, description="客队边缘百分比") + bet_placed: Optional[bool] = Field(None, description="是否下注") + same_market_bet_placed: Optional[bool] = Field( + None, description="是否在同一市场下注") + same_game_bet_placed: Optional[bool] = Field(None, description="是否在同一比赛下注") + away_rec_size: Optional[int] = Field(None, description="客队推荐大小") + rec_size: Optional[int] = Field(None, description="推荐大小") + home_edge_percent: Optional[float] = Field(None, description="主队边缘百分比") + order_status: int = Field(0, description="订单状态") + amount: Optional[int] = Field(None, description="下单金额,整数") + create_time: Optional[str] = Field(None, description="创建时间") + sportsbook_orderid: Optional[str] = Field(None, description="博彩公司订单ID") + home_or_away: Optional[str] = Field(None, description="主队或客队") + start_timestamp: Optional[int] = Field(None, description="开始时间戳") + selected_sportsbook: Optional[str] = Field(None, description="选定的博彩公司") + + +class OddjamsBet(BaseModel): + Sportsbook: str + BetName: str + MarketName: str + Odds: int + Stake: int + EventName: str + Sport: str + League: str + GameID: str + GameStartDate: str + BetType: str + Notes: str