80 lines
4.0 KiB
Python
80 lines
4.0 KiB
Python
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="选定的博彩公司")
|
||
bet_status: Optional[str] = Field(None, description="投注状态")
|
||
|
||
|
||
class OddsjamBet(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
|