buff_sweep_request.py 1.2 KB

1234567891011121314151617181920212223242526272829
  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 BuffSweepRequest(Base):
  8. """BUFF 扫货请求单表"""
  9. __tablename__ = "buff_sweep_request"
  10. id = Column(BigInteger, primary_key=True, autoincrement=True, comment="主键ID")
  11. user_id = Column(Integer, nullable=False, index=True, comment="用户ID,按用户隔离")
  12. selection_request_id = Column(
  13. BigInteger,
  14. nullable=False,
  15. index=True,
  16. comment="本次扫货基于的选品请求单ID(最新一次)",
  17. )
  18. status = Column(
  19. String(20),
  20. nullable=False,
  21. default="pending",
  22. comment="状态:pending/running/completed/failed/cancelled",
  23. )
  24. cancel_requested = Column(Boolean, nullable=False, default=False, comment="是否已请求停止")
  25. created_at = Column(DateTime, default=beijing_now_naive, comment="创建时间")
  26. updated_at = Column(DateTime, default=beijing_now_naive, onupdate=beijing_now_naive, comment="更新时间")