""" AI生图记录ORM定义 定义AI生图系统的数据库表结构,存储图片生成记录 """ from datetime import datetime from sqlalchemy import Column, Integer, String, Text, DateTime, Numeric, Index from sqlalchemy.dialects.postgresql import JSONB from sqlalchemy.sql import func from app.database import Base class AIPicture(Base): """ AI生图记录ORM类 存储用户的AI图片生成记录,包括输入数据、输出图片和费用信息 """ __tablename__ = "ai_picture" # 主键 id = Column(Integer, primary_key=True, autoincrement=True, comment="主键ID") # 模型ID model_id = Column(String(100), nullable=False, comment="模型ID") # 模型名称 model_name = Column(String(100), nullable=False, comment="模型名称") # 用户ID user_id = Column(String(50), nullable=False, comment="用户ID") # 输入类型: text/image input_type = Column(String(20), nullable=False, comment="输入类型: text/image") # 输入数据:文本或OSS地址 input_data = Column(Text, nullable=False, comment="输入数据:文本或OSS地址") # 生成图片数量 image_count = Column(Integer, nullable=False, default=1, comment="生成图片数量") # 输出图片OSS地址数组 output_images = Column(JSONB, nullable=False, comment="输出图片OSS地址数组") # 费用(元) bill = Column(Numeric(10, 4), nullable=False, default=0, comment="费用(元)") # 状态 status = Column(String(20), nullable=False, default="success", comment="状态") # 审核状态 review_status = Column(String(20), default="pending", comment="审核状态") reviewed_by = Column(Integer, comment="审核人ID") reviewed_at = Column(DateTime, comment="审核时间") reject_reason = Column(String(500), comment="拒绝原因") # 创建时间 created_at = Column( DateTime, server_default=func.now(), comment="创建时间" ) # 表级配置 __table_args__ = ( Index('idx_ai_picture_user_id', 'user_id'), Index('idx_ai_picture_created_at', 'created_at'), {'schema': 'aigcspace', 'comment': 'AI生图记录表'} ) def __repr__(self): return f""