Files
AI-interview/src/main/java/com/qingqiu/interview/entity/InterviewSession.java
2025-09-21 21:19:44 +08:00

82 lines
2.0 KiB
Java
Executable File

package com.qingqiu.interview.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("interview_session")
public class InterviewSession implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@TableField("session_id")
private String sessionId;
@TableField("candidate_name")
private String candidateName;
@TableField("resume_content")
private String resumeContent;
@TableField("extracted_skills")
private String extractedSkills;
@TableField("interview_type")
private String interviewType;
@TableField("estimated_duration")
private Integer estimatedDuration;
@TableField("current_question_id")
private Long currentQuestionId;
@TableField("ai_model")
private String aiModel;
@TableField("model")
private String model;
@TableField("status")
private String status;
@TableField("total_questions")
private Integer totalQuestions;
@TableField("current_question_index")
private Integer currentQuestionIndex;
@TableField("score")
private BigDecimal score;
@TableField("selected_question_ids")
private String selectedQuestionIds;
@TableField("final_report")
private String finalReport;
@TableField(value = "created_time", fill = FieldFill.INSERT)
private LocalDateTime createdTime;
@TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updatedTime;
@TableLogic
@TableField("deleted")
private Integer deleted;
public enum Status {
ACTIVE, COMPLETED, TERMINATED
}
}