添加基础数据类

This commit is contained in:
2024-08-11 18:27:42 +08:00
parent 0cc8052fac
commit f961e8dce1

78
data_model.py Normal file
View File

@@ -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