bundle.py 1.4 KB

123456789101112131415161718192021
  1. from sqlalchemy import BigInteger, String
  2. from sqlalchemy.orm import Mapped, mapped_column
  3. from alien_database.base import Base, AuditMixin
  4. class ContractBundle(Base, AuditMixin):
  5. """合同包"""
  6. __tablename__ = "contract_bundle"
  7. id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=True, comment="合同包唯一标识")
  8. subject_type: Mapped[str] = mapped_column(String(20), comment="签约主体类型(store/lawyer)")
  9. subject_id: Mapped[int] = mapped_column(BigInteger, comment="签约主体ID,关联门店/律师业务主键")
  10. subject_name: Mapped[str] = mapped_column(String(120), comment="签约主体名称")
  11. business_segment: Mapped[str] = mapped_column(String(100), comment="业务板块")
  12. contact_name: Mapped[str] = mapped_column(String(100), comment="联系人姓名")
  13. contact_phone: Mapped[str] = mapped_column(String(20), comment="联系人手机号")
  14. ord_id: Mapped[str] = mapped_column(String(40), comment="组织标识(统一社会信用代码)")
  15. bundle_type: Mapped[str] = mapped_column(String(50), comment="合同包类型(STORE_STANDARD/LAWYER_STANDARD)")
  16. status: Mapped[str] = mapped_column(String(20), default="未签署", comment="整体状态: 未签署/审核中/已签署")
  17. primary_document_id: Mapped[int | None] = mapped_column(BigInteger, nullable=True, comment="主合同文档ID")