PMFlow/backend/app/models/signal.py

21 lines
1009 B
Python

"""信号模型"""
from .base import Base
from sqlalchemy.orm import Mapped, mapped_column, relationship
from sqlalchemy import BigInteger, Integer, VARCHAR, Text, Float, Boolean
from typing import Optional
class Signal(Base):
__tablename__ = "signals"
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
source: Mapped[Optional[str]] = mapped_column(VARCHAR(50), nullable=True)
content: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
impact_score: Mapped[Optional[float]] = mapped_column(Float, nullable=True)
priority: Mapped[str] = mapped_column(VARCHAR(20), nullable=False, default="low")
processed: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False)
strategic_analysis: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
tasks_generated: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
feedbacks = relationship("SignalFeedback", back_populates="signal", cascade="all, delete-orphan")