package com.zd.exam.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zd.common.core.annotation.Excel;
import com.zd.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;

/**
 * 练习记录对象 el_practise
 *
 * @author liubo
 * @date 2021-12-14
 */
@ApiModel("练习记录")
public class ElPractise extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 试卷ID
     */
    @ApiModelProperty(value = "${comment}")
    private Long id;
    /**
     * 用户ID
     */
    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID")
    private Long joinUserId;
    /**
     * 练习标题
     */
    @Excel(name = "练习标题")
    @ApiModelProperty(value = "练习标题")
    private String title;
    /**
     * 考试时长
     */
    @Excel(name = "考试时长")
    @ApiModelProperty(value = "考试时长")
    private Long totalTime;
    /**
     * 用户时长
     */
    @Excel(name = "用户时长")
    @ApiModelProperty(value = "用户时长")
    private Long userTime;
    /**
     * 试卷总分
     */
    @Excel(name = "试卷总分")
    @ApiModelProperty(value = "试卷总分")
    private Long totalScore;
    /**
     * 用户得分
     */
    @Excel(name = "用户得分")
    @ApiModelProperty(value = "用户得分")
    private Long userScore;
    /**
     * 试卷状态
     */
    @Excel(name = "试卷状态")
    @ApiModelProperty(value = "试卷状态")
    private Long state;
    /**
     * 完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "完成时间")
    private Date limitTime;
    /**
     * 分类ID多个逗号分隔
     */
    @Excel(name = "分类ID多个逗号分隔")
    @ApiModelProperty(value = "分类ID多个逗号分隔")
    private String classifyIds;

    @ApiModelProperty(value = "单选题列表")
    private List<ElPractiseQu> radioList;

    @ApiModelProperty(value = "多选题列表")
    private List<ElPractiseQu> multiList;

    @ApiModelProperty(value = "判断题")
    private List<ElPractiseQu> judgeList;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setJoinUserId(Long joinUserId) {
        this.joinUserId = joinUserId;
    }

    public Long getJoinUserId() {
        return joinUserId;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setTotalTime(Long totalTime) {
        this.totalTime = totalTime;
    }

    public Long getTotalTime() {
        return totalTime;
    }

    public void setUserTime(Long userTime) {
        this.userTime = userTime;
    }

    public Long getUserTime() {
        return userTime;
    }

    public void setTotalScore(Long totalScore) {
        this.totalScore = totalScore;
    }

    public Long getTotalScore() {
        return totalScore;
    }

    public void setUserScore(Long userScore) {
        this.userScore = userScore;
    }

    public Long getUserScore() {
        return userScore;
    }

    public void setState(Long state) {
        this.state = state;
    }

    public Long getState() {
        return state;
    }

    public void setLimitTime(Date limitTime) {
        this.limitTime = limitTime;
    }

    public Date getLimitTime() {
        return limitTime;
    }

    public void setClassifyIds(String classifyIds) {
        this.classifyIds = classifyIds;
    }

    public String getClassifyIds() {
        return classifyIds;
    }

    public List<ElPractiseQu> getRadioList() {
        return radioList;
    }

    public void setRadioList(List<ElPractiseQu> radioList) {
        this.radioList = radioList;
    }

    public List<ElPractiseQu> getMultiList() {
        return multiList;
    }

    public void setMultiList(List<ElPractiseQu> multiList) {
        this.multiList = multiList;
    }

    public List<ElPractiseQu> getJudgeList() {
        return judgeList;
    }

    public void setJudgeList(List<ElPractiseQu> judgeList) {
        this.judgeList = judgeList;
    }
}
