package com.seer.teach.teacher.module.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.seer.teach.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author Wang
 * @since 2025-08-08 14:18:13
 */
@Getter
@Setter
@TableName("teacher_plans")
@Schema(name = "PlansEntity对象", description = "")
public class PlansEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @Schema(description = "用户ID")
    @TableField("user_id")
    private Integer userId;

    @Schema(description = "模块计划ID")
    @TableField("module_plan_id")
    private String modulePlanId;

    @Schema(description = "学科ID")
    @TableField("subject_id")
    private Integer subjectId;

    @Schema(description = "计划名称")
    @TableField("plan_name")
    private String planName;

    @Schema(description = "封面图片")
    @TableField("cover_image")
    private String coverImage;

    @Schema(description = "正确率")
    @TableField("correct_rate")
    private BigDecimal correctRate;

    @Schema(description = "题目数量")
    @TableField("question_count")
    private Integer questionCount;

    @Schema(description = "开始时间")
    @TableField("start_time")
    private LocalDateTime startTime;

    @Schema(description = "结束时间")
    @TableField("end_time")
    private LocalDateTime endTime;

    @Schema(description = "做题用时")
    @TableField("use_time")
    private Integer useTime;

    @Schema(description = "平均难度")
    @TableField("average_difficulty")
    private BigDecimal averageDifficulty;

    @Schema(description = "1学习中 2已学习")
    @TableField("`status`")
    private Integer status;

    @Schema(description = "排序")
    @TableField("sort")
    private Integer sort;

}
