buff_sweep_request_log.py 1.6 KB

1234567891011121314151617181920212223242526272829
  1. """
  2. BUFF 扫货请求单-扫货日志模型:记录每个饰品的扫货判断过程。
  3. """
  4. from sqlalchemy import Column, BigInteger, Integer, String, DateTime, Numeric, Boolean
  5. from app.database import Base
  6. from app.utils.timezone import beijing_now_naive
  7. class BuffSweepRequestLog(Base):
  8. """BUFF 扫货请求单-扫货日志表"""
  9. __tablename__ = "buff_sweep_request_log"
  10. id = Column(BigInteger, primary_key=True, autoincrement=True, comment="主键ID")
  11. sweep_request_id = Column(BigInteger, nullable=False, index=True, comment="扫货请求单ID")
  12. user_id = Column(Integer, nullable=False, index=True, comment="用户ID")
  13. goods_id = Column(String(64), nullable=False, comment="BUFF饰品ID")
  14. goods_name = Column(String(256), nullable=True, comment="饰品名称")
  15. sequence_no = Column(Integer, nullable=False, default=0, comment="处理序号")
  16. result = Column(
  17. String(32),
  18. nullable=False,
  19. comment="结果:success-成功购买, skipped-跳过, failed-失败, stopped-已停止",
  20. )
  21. message = Column(String(512), nullable=True, comment="日志描述")
  22. retry_attempts = Column(Integer, nullable=False, default=0, comment="代理重试次数")
  23. proxy_refreshed = Column(Boolean, nullable=False, default=False, comment="是否刷新过代理")
  24. target_price_usd = Column(Numeric(12, 2), nullable=True, comment="目标扫货价(美元)")
  25. purchase_price_usd = Column(Numeric(12, 2), nullable=True, comment="实际购买价(美元)")
  26. created_at = Column(DateTime, default=beijing_now_naive, comment="创建时间")