| 1234567891011121314151617181920212223242526 |
- """
- 主动消息任务模型
- """
- from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey
- from sqlalchemy.orm import relationship
- from sqlalchemy.sql import func
- from app.core.database import Base
- class ProactiveMessageTask(Base):
- """主动消息任务表"""
- __tablename__ = "proactive_message_tasks"
- id = Column(Integer, primary_key=True, index=True)
- user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
- character_id = Column(Integer, ForeignKey("characters.id", ondelete="CASCADE"), nullable=False)
- scheduled_at = Column(DateTime(timezone=True), nullable=False, index=True)
- status = Column(String(20), default="pending", index=True) # pending | sent | failed
- trigger_reason = Column(String(100)) # high_affection | idle_detected
- message_content = Column(Text)
- sent_at = Column(DateTime(timezone=True))
- error_message = Column(Text)
- created_at = Column(DateTime(timezone=True), server_default=func.now())
|