package cn.meowrain.aioj.backend.question.dao.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 题目实体类
 */
@Data
@TableName(value = "question")
@Accessors(chain = true)
public class Question implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 题目ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 题目标题
     */
    private String title;

    /**
     * 题目描述
     */
    private String content;

    /**
     * 难度等级：easy/medium/hard
     */
    private String difficulty;

    /**
     * 标签（JSON格式）
     */
    private String tags;

    /**
     * 题目答案
     */
    private String answer;

    /**
     * 通过数
     */
    private Integer acceptedCount;

    /**
     * 提交数
     */
    private Integer submitCount;




    /**
     * 判题用例
     */
    private String judgeCase;

    /**
     * 判题配置（JSON格式）
     */
    private String judgeConfig;

    /**
     * 点赞数
     */
    private Integer thumbCount;

    /**
     * 收藏数
     */
    private Integer favourCount;

    /**
     * 创建者ID
     */
    private Long userId;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 是否删除
     */
    @TableLogic
    private Integer isDelete;
}
