Files
2026-02-05 16:25:52 +08:00

39 lines
1.4 KiB
Python

"""
意图编制数据模型
"""
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")