| 123456789101112131415161718192021 |
- """
- BUFF 选品请求单表模型:用户每次发起选品生成一条请求单,按 user_id 隔离。
- """
- from sqlalchemy import Column, BigInteger, Integer, String, DateTime, Boolean, Text
- from app.database import Base
- from app.utils.timezone import beijing_now_naive
- class BuffSelectionRequest(Base):
- """BUFF 选品请求单表"""
- __tablename__ = "buff_selection_request"
- id = Column(BigInteger, primary_key=True, autoincrement=True, comment="主键ID")
- user_id = Column(Integer, nullable=False, index=True, comment="用户ID,按用户隔离")
- config_id = Column(BigInteger, nullable=True, index=True, comment="本次选品使用的配置ID,关联 buff_selection_config.id")
- # 选品条件JSON快照:固化选品时的条件信息(包括Steam卡价比例、利润率等),扫货时直接使用
- selection_condition_json = Column(Text, nullable=True, comment="选品条件JSON快照(包括Steam卡价比例、利润率等)")
- status = Column(String(20), nullable=False, default="pending", comment="状态:pending/running/completed/failed/cancelled")
- cancel_requested = Column(Boolean, nullable=False, default=False, comment="是否已请求停止")
- created_at = Column(DateTime, default=beijing_now_naive, comment="创建时间")
- updated_at = Column(DateTime, default=beijing_now_naive, onupdate=beijing_now_naive, comment="更新时间")
|