"""customer_relation 客户-投顾关系表 ORM(签约状态 unsigned/signed/closed,工作台唯一写入方)。""" from __future__ import annotations from datetime import datetime from sqlalchemy import BigInteger, DateTime, String, func from sqlalchemy.orm import Mapped, mapped_column from model.base import Base class CustomerRelation(Base): __tablename__ = "customer_relation" __table_args__ = {"comment": "客户-投顾关系表(状态驱动:签约后投顾Agent方案正式触达客户)"} id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=True) customer_id: Mapped[int] = mapped_column(BigInteger) advisor_id: Mapped[int] = mapped_column(BigInteger) assign_time: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) signed_time: Mapped[datetime | None] = mapped_column(DateTime) end_time: Mapped[datetime | None] = mapped_column(DateTime) status: Mapped[str] = mapped_column(String(16), server_default="unsigned") reason: Mapped[str | None] = mapped_column(String(128))