| 123456789101112131415161718192021222324 |
- """
- BUFF 选品请求单-选中饰品明细表模型:每条记录为某次选品请求选中的一件饰品,按 user_id 与 request_id 隔离。
- """
- from sqlalchemy import Column, BigInteger, Integer, String, DateTime, UniqueConstraint, Numeric
- from app.database import Base
- from app.utils.timezone import beijing_now_naive
- class BuffSelectionRequestItem(Base):
- """BUFF 选品请求单-选中饰品明细表"""
- __tablename__ = "buff_selection_request_item"
- __table_args__ = (UniqueConstraint("request_id", "goods_id", name="uk_request_goods"),)
- id = Column(BigInteger, primary_key=True, autoincrement=True, comment="主键ID")
- request_id = Column(BigInteger, nullable=False, index=True, comment="选品请求单ID")
- user_id = Column(Integer, nullable=False, index=True, comment="用户ID,与请求单一致,便于按用户隔离")
- goods_id = Column(String(64), nullable=False, index=True, comment="BUFF饰品ID")
- goods_name = Column(String(256), nullable=True, comment="饰品名称")
- icon_url = Column(String(512), nullable=True, comment="饰品图片URL")
- steam_link = Column(String(512), nullable=True, comment="饰品Steam链接")
- price_cny = Column(Numeric(12, 2), nullable=True, comment="价格(人民币)")
- price_usd = Column(Numeric(12, 2), nullable=True, comment="价格(美元)")
- wear_range = Column(String(64), nullable=True, comment="磨损区间,如 0.00-0.02")
- created_at = Column(DateTime, default=beijing_now_naive, comment="创建时间")
|