from sqlalchemy import BigInteger, Column, JSON, String, TIMESTAMP, Text, text from sqlalchemy.dialects.mysql import TINYINT, VARCHAR from sqlalchemy.orm import declarative_base, mapped_column Base = declarative_base() class Records(Base): __tablename__ = 'records' id = mapped_column(BigInteger, primary_key=True) created_at = mapped_column(TIMESTAMP, nullable=False, server_default=text('CURRENT_TIMESTAMP'), comment='Create Time | 创建日期') updated_at = mapped_column(TIMESTAMP, nullable=False, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), comment='Update Time | 修改日期') body = mapped_column(JSON, comment='获取原始数据') staff_no = mapped_column(String(255, 'utf8mb4_unicode_ci'), server_default=text("''"), comment='坐席工号') caller = mapped_column(VARCHAR(255), server_default=text("''"), comment='主叫号码') callee = mapped_column(VARCHAR(255), server_default=text("''"), comment='被叫号码') record_file = mapped_column(VARCHAR(255), server_default=text("''"), comment='录音文件') session = mapped_column(VARCHAR(255), server_default=text("''"), comment='通话标识') ali_trans = mapped_column(JSON, comment='阿里语音识别原始结果') ali_task_id = mapped_column(String(255, 'utf8mb4_unicode_ci'), server_default=text("''"), comment='阿里语音识别任务ID') chats = mapped_column(Text(collation='utf8mb4_unicode_ci'), comment='提取的对话记录') user_intent = mapped_column(String(255, 'utf8mb4_unicode_ci'), server_default=text("''"), comment='判断的用户意图') basis = mapped_column(String(255, 'utf8mb4_unicode_ci'), comment='用户意图命中的原始文本') accept = mapped_column(TINYINT, server_default=text("'0'"), comment='用户是否接受邀请 0 未判断 1 接受 2 不接受')