"""fin_risk_assessment 风险评估记录表 ORM 模型。""" from __future__ import annotations from datetime import date, datetime from typing import Any from sqlalchemy import BigInteger, Date, DateTime, Integer, JSON, String, func from sqlalchemy.orm import Mapped, mapped_column from model.base import Base class FinRiskAssessment(Base): __tablename__ = "fin_risk_assessment" __table_args__ = {"comment": "风险评估记录表(购买前问卷确认客户等级)"} id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=True) customer_id: Mapped[int] = mapped_column(BigInteger) assessment_date: Mapped[date] = mapped_column(Date) question_version: Mapped[str | None] = mapped_column(String(16)) total_score: Mapped[int] = mapped_column(Integer) risk_level: Mapped[str] = mapped_column(String(16)) answers: Mapped[list[Any] | None] = mapped_column(JSON) assessor_type: Mapped[str] = mapped_column(String(16), server_default="AI评估") valid_until: Mapped[date] = mapped_column(Date) create_time: Mapped[datetime] = mapped_column(DateTime, server_default=func.now())