from sqlalchemy import Column, Integer, String, Text, BigInteger, JSON, SmallInteger from database import Base class ExamPaper(Base): """试卷表 - 对应Go版本的exam_papers""" __tablename__ = "exam_papers" id = Column(BigInteger, primary_key=True, autoincrement=True) exam_name = Column(String(100)) exam_type = Column(String(50)) total_score = Column(Integer) total_questions = Column(Integer) generation_method = Column(String(20)) generation_time = Column(String(50)) user_id = Column(BigInteger) status = Column(SmallInteger, default=1) created_at = Column(Integer) updated_at = Column(Integer) deleted_at = Column(Integer) class ExamQuestionConfig(Base): """题型配置表 - 对应Go版本的exam_question_configs""" __tablename__ = "exam_question_configs" id = Column(BigInteger, primary_key=True, autoincrement=True) exam_papers_id = Column(BigInteger) question_type = Column(String(20)) score_per_question = Column(Integer) total_score = Column(Integer) question_count = Column(Integer) created_at = Column(Integer) updated_at = Column(Integer) deleted_at = Column(Integer) class ExamQuestion(Base): """题目表 - 对应Go版本的exam_questions""" __tablename__ = "exam_questions" id = Column(BigInteger, primary_key=True, autoincrement=True) exam_papers_id = Column(BigInteger) question_type = Column(String(20)) question_index = Column(Integer) question_text = Column(Text) options = Column(JSON) correct_answer = Column(String(50)) correct_answers = Column(JSON) answer_outline = Column(JSON) created_at = Column(Integer) updated_at = Column(Integer) deleted_at = Column(Integer) class ExamUserAnswer(Base): """用户答案表 - 对应Go版本的exam_user_answers""" __tablename__ = "exam_user_answers" id = Column(BigInteger, primary_key=True, autoincrement=True) exam_papers_id = Column(BigInteger) user_id = Column(BigInteger) exam_questions_id = Column(BigInteger) user_answer = Column(String(50)) user_answers = Column(JSON) is_correct = Column(SmallInteger) created_at = Column(Integer) updated_at = Column(Integer) deleted_at = Column(Integer)