""" 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="创建时间")