crm_contact.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from datetime import datetime, date
  2. from typing import Optional
  3. from sqlalchemy import BigInteger, String, DateTime, Integer, Date, SmallInteger
  4. from sqlalchemy.orm import Mapped, mapped_column
  5. from app.database import Base
  6. class CrmContact(Base):
  7. __tablename__ = "crm_contact"
  8. id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=False, comment="主键ID")
  9. customer_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="客户ID")
  10. customer_name: Mapped[Optional[str]] = mapped_column(String(200), comment="客户名称")
  11. contact_name: Mapped[Optional[str]] = mapped_column(String(50), comment="联系人姓名")
  12. gender: Mapped[Optional[str]] = mapped_column(String(10), comment="性别")
  13. mobile: Mapped[Optional[str]] = mapped_column(String(20), comment="手机号")
  14. telephone: Mapped[Optional[str]] = mapped_column(String(30), comment="固定电话")
  15. email: Mapped[Optional[str]] = mapped_column(String(100), comment="邮箱")
  16. wechat: Mapped[Optional[str]] = mapped_column(String(50), comment="微信")
  17. qq: Mapped[Optional[str]] = mapped_column(String(20), comment="QQ")
  18. department: Mapped[Optional[str]] = mapped_column(String(100), comment="部门")
  19. position: Mapped[Optional[str]] = mapped_column(String(50), comment="职位")
  20. role: Mapped[Optional[str]] = mapped_column(String(20), comment="角色")
  21. birthday: Mapped[Optional[date]] = mapped_column(Date, comment="生日")
  22. address: Mapped[Optional[str]] = mapped_column(String(255), comment="地址")
  23. is_key: Mapped[Optional[int]] = mapped_column(SmallInteger, default=0, comment="是否关键人(0否 1是)")
  24. is_primary: Mapped[Optional[int]] = mapped_column(SmallInteger, default=0, comment="是否首要联系人(0否 1是)")
  25. status: Mapped[Optional[str]] = mapped_column(String(20), default="1", comment="状态(1正常 0停用)")
  26. tenant_id: Mapped[Optional[str]] = mapped_column(String(20), default="000000", comment="租户编号")
  27. create_dept: Mapped[Optional[int]] = mapped_column(BigInteger, comment="创建部门")
  28. create_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="创建者")
  29. create_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="创建时间")
  30. update_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="更新者")
  31. update_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="更新时间")
  32. del_flag: Mapped[Optional[int]] = mapped_column(SmallInteger, default=0, comment="删除标志(0存在 1删除)")
  33. version: Mapped[Optional[int]] = mapped_column(Integer, default=0, comment="版本号")
  34. remark: Mapped[Optional[str]] = mapped_column(String(500), comment="备注")