contract_store.py 1.5 KB

12345678910111213141516171819202122232425
  1. from datetime import datetime
  2. from typing import Optional
  3. from sqlalchemy import String, DateTime, BigInteger
  4. from sqlalchemy.dialects.mysql import LONGTEXT
  5. from sqlalchemy.orm import Mapped, mapped_column
  6. from alien_database.base import Base, AuditMixin
  7. class ContractStore(Base, AuditMixin):
  8. """
  9. 店铺合同模型
  10. """
  11. __tablename__ = "store_contract"
  12. id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=True, comment="主键")
  13. store_id: Mapped[int] = mapped_column(BigInteger, comment="店铺id")
  14. store_name: Mapped[str] = mapped_column(String(100), comment="商家店铺名称")
  15. business_segment: Mapped[str] = mapped_column(String(100), comment="经营板块")
  16. merchant_name: Mapped[str] = mapped_column(String(100), comment="商家姓名")
  17. contact_phone: Mapped[str] = mapped_column(String(20), comment="联系电话")
  18. signing_status: Mapped[str] = mapped_column(String(20), default="未签署", comment="签署状态(已签署,未签署,已到期,审核中)")
  19. contract_url: Mapped[str] = mapped_column(LONGTEXT, comment='合同URL')
  20. ord_id: Mapped[str] = mapped_column(LONGTEXT, comment='入驻商家的社会同一信用代码')
  21. signing_time: Mapped[Optional[datetime]] = mapped_column(DateTime, nullable=True, comment="签署时间")
  22. effective_time: Mapped[Optional[datetime]] = mapped_column(DateTime, nullable=True, comment="生效时间")
  23. expiry_time: Mapped[Optional[datetime]] = mapped_column(DateTime, nullable=True, comment="到期时间")