order.py 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. from sqlalchemy import Column, String, Integer, DateTime, JSON, Enum
  2. from datetime import datetime
  3. from app.core.database import Base
  4. class VasOrder(Base):
  5. __tablename__ = "vas_order"
  6. id = Column(String(128), primary_key=True)
  7. user_id = Column(String(128), nullable=False)
  8. product_id = Column(Integer, nullable=False)
  9. product_name = Column(String(100))
  10. user_name = Column(String(100))
  11. base_amount = Column(Integer, nullable=False)
  12. adjustment_delta = Column(Integer, default=0)
  13. # 负数 = 优惠,正数 = 加价
  14. # 订单最终价(冗余字段,方便查询)
  15. final_amount = Column(Integer, nullable=False)
  16. base_currency = Column(String(10), nullable=False)
  17. status = Column(
  18. Enum('pending','paid','completed','closed'),
  19. default='pending',
  20. nullable=False
  21. )
  22. user_inputs = Column(JSON)
  23. created_at = Column(DateTime, default=datetime.utcnow)
  24. updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)