buff_selection_request.py 1.1 KB

12345678910111213141516171819
  1. """
  2. BUFF 选品请求单表模型:用户每次发起选品生成一条请求单,按 user_id 隔离。
  3. """
  4. from sqlalchemy import Column, BigInteger, Integer, String, DateTime, Boolean
  5. from app.database import Base
  6. from app.utils.timezone import beijing_now_naive
  7. class BuffSelectionRequest(Base):
  8. """BUFF 选品请求单表"""
  9. __tablename__ = "buff_selection_request"
  10. id = Column(BigInteger, primary_key=True, autoincrement=True, comment="主键ID")
  11. user_id = Column(Integer, nullable=False, index=True, comment="用户ID,按用户隔离")
  12. config_id = Column(BigInteger, nullable=True, index=True, comment="本次选品使用的配置ID,关联 buff_selection_config.id")
  13. status = Column(String(20), nullable=False, default="pending", comment="状态:pending/running/completed/failed/cancelled")
  14. cancel_requested = Column(Boolean, nullable=False, default=False, comment="是否已请求停止")
  15. created_at = Column(DateTime, default=beijing_now_naive, comment="创建时间")
  16. updated_at = Column(DateTime, default=beijing_now_naive, onupdate=beijing_now_naive, comment="更新时间")