""" 意图编制数据模型 """ from datetime import datetime from typing import Optional from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey, JSON from sqlalchemy.orm import relationship from app.database import Base class Intent(Base): """意图编制表""" __tablename__ = "intents" id = Column(Integer, primary_key=True, index=True) title = Column(String(255), nullable=False, comment="意图标题") content = Column(Text, nullable=True, comment="意图内容") status = Column(String(50), default="draft", comment="状态: draft, submitted, approved") created_at = Column(DateTime, default=datetime.utcnow, comment="创建时间") updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, comment="更新时间") # 关联 AI 检查记录 check_records = relationship("AICheckRecord", back_populates="intent", cascade="all, delete-orphan") class AICheckRecord(Base): """AI 检查记录表""" __tablename__ = "ai_check_records" id = Column(Integer, primary_key=True, index=True) intent_id = Column(Integer, ForeignKey("intents.id"), nullable=False) check_result = Column(JSON, nullable=True, comment="检查结果JSON") suggestions = Column(Text, nullable=True, comment="AI建议") checked_at = Column(DateTime, default=datetime.utcnow, comment="检查时间") # 关联意图 intent = relationship("Intent", back_populates="check_records")