from sqlalchemy import Column, Integer, String, Date, TIMESTAMP, func from ..core.database import Base class SSQLottery(Base): __tablename__ = "ssq_lottery" id = Column(Integer, primary_key=True, index=True, autoincrement=True) issue = Column(String(10), unique=True, nullable=False, comment="期号") open_time = Column(Date, nullable=False, comment="开奖日期") red_ball_1 = Column(Integer, nullable=False, comment="红球1") red_ball_2 = Column(Integer, nullable=False, comment="红球2") red_ball_3 = Column(Integer, nullable=False, comment="红球3") red_ball_4 = Column(Integer, nullable=False, comment="红球4") red_ball_5 = Column(Integer, nullable=False, comment="红球5") red_ball_6 = Column(Integer, nullable=False, comment="红球6") blue_ball = Column(Integer, nullable=False, comment="蓝球") created_at = Column(TIMESTAMP, server_default=func.now(), comment="创建时间") updated_at = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now(), comment="更新时间") class DLTLottery(Base): __tablename__ = "dlt_lottery" id = Column(Integer, primary_key=True, index=True, autoincrement=True) issue = Column(String(10), unique=True, nullable=False, comment="期号") open_time = Column(Date, nullable=False, comment="开奖日期") front_ball_1 = Column(Integer, nullable=False, comment="前区球1") front_ball_2 = Column(Integer, nullable=False, comment="前区球2") front_ball_3 = Column(Integer, nullable=False, comment="前区球3") front_ball_4 = Column(Integer, nullable=False, comment="前区球4") front_ball_5 = Column(Integer, nullable=False, comment="前区球5") back_ball_1 = Column(Integer, nullable=False, comment="后区球1") back_ball_2 = Column(Integer, nullable=False, comment="后区球2") created_at = Column(TIMESTAMP, server_default=func.now(), comment="创建时间") updated_at = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now(), comment="更新时间") class SSQLotteryBetRecord(Base): __tablename__ = "ssq_bet_record" id = Column(Integer, primary_key=True, index=True, autoincrement=True) batch_id = Column(String(32), index=True, nullable=False, comment="批次ID") issue = Column(String(10), index=True, nullable=False, comment="期号") bet_time = Column(TIMESTAMP, server_default=func.now(), comment="投注时间") numbers = Column(String(64), nullable=False, comment="投注号码,格式01,02,03,04,05,06|07") recommend_type = Column(String(32), nullable=True, comment="推荐方式") telegram_msg_id = Column(String(64), nullable=True, comment="推送消息ID") is_winner = Column(Integer, default=0, comment="是否中奖 0否 1是") win_level = Column(String(32), nullable=True, comment="中奖等级") win_amount = Column(String(32), nullable=True, comment="中奖金额") open_code = Column(String(64), nullable=True, comment="开奖号码") open_date = Column(Date, nullable=True, comment="开奖日期") prize_detail = Column(String(1024), nullable=True, comment="开奖详情JSON") created_at = Column(TIMESTAMP, server_default=func.now(), comment="创建时间") updated_at = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now(), comment="更新时间") class DLTLotteryBetRecord(Base): __tablename__ = "dlt_bet_record" id = Column(Integer, primary_key=True, index=True, autoincrement=True) batch_id = Column(String(32), index=True, nullable=False, comment="批次ID") issue = Column(String(10), index=True, nullable=False, comment="期号") bet_time = Column(TIMESTAMP, server_default=func.now(), comment="投注时间") numbers = Column(String(64), nullable=False, comment="投注号码,格式01,02,03,04,05|06,07") recommend_type = Column(String(32), nullable=True, comment="推荐方式") telegram_msg_id = Column(String(64), nullable=True, comment="推送消息ID") is_winner = Column(Integer, default=0, comment="是否中奖 0否 1是") win_level = Column(String(32), nullable=True, comment="中奖等级") win_amount = Column(String(32), nullable=True, comment="中奖金额") open_code = Column(String(64), nullable=True, comment="开奖号码") open_date = Column(Date, nullable=True, comment="开奖日期") prize_detail = Column(String(1024), nullable=True, comment="开奖详情JSON") created_at = Column(TIMESTAMP, server_default=func.now(), comment="创建时间") updated_at = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now(), comment="更新时间")