package com.crunii.micro.feign.client.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * Author：dadm
 * Date：2023-09-21 15:28
 * Description：<描述>
 */
@Data
public class TestPaperVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "逻辑id")
    private Long id;

    @ApiModelProperty("试卷编码")
    private String code;

    @ApiModelProperty("试卷标题")
    private String title;

    @ApiModelProperty("考试状态：0未开始 1进行中 2已结束")
    private Integer status;

    @ApiModelProperty("封面图片")
    private String coverPic;

    @ApiModelProperty("所属业务编码")
    private String businessCode;

    @ApiModelProperty("所属业务名称")
    private String businessName;

    @ApiModelProperty("类型编码")
    private String typeCode;

    @ApiModelProperty("类型名称")
    @Column(name = "type_name")
    private String typeName;

    @ApiModelProperty("选题模式(1系统-自定义选题 2-批量导入题目) 3-随机选题")
    private Integer questionType;

    @ApiModelProperty("是否进行考试：0-否 1-是")
    private Integer isExam;

    @ApiModelProperty("答题时长(单位分钟)")
    private Integer answerDuration;

    @ApiModelProperty("有效开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date startTime;

    @ApiModelProperty("有效结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date endTime;

    @ApiModelProperty("可考次数")
    private Integer allowTimes;

    @ApiModelProperty("考试要求：1-随时提交 2-全部答题完成提交")
    private Integer examAsk;

    @ApiModelProperty("是否显示分数：0-否 1是")
    private Integer showScore;

    @ApiModelProperty("单选题分数")
    private Integer singleScore;

    @ApiModelProperty("多选题分数")
    private Integer multiScore;

    @ApiModelProperty("判断题分数")
    private Integer judgeScore;

    @ApiModelProperty("合格分数")
    private Integer passScore;

    @ApiModelProperty("总分数")
    private Integer totalScore;

    @ApiModelProperty("发布者id")
    private Long publishUserId;

    @ApiModelProperty("发布者名称")
    private String publishUserName;

    @ApiModelProperty("发布时间")
    private Date publishTime;

    @ApiModelProperty("单选题数量")
    private Integer singleCount;

    @ApiModelProperty("多选题数量")
    private Integer multiCount;

    @ApiModelProperty("判断题数量")
    private Integer judgeCount;

    @ApiModelProperty("总数量")
    private Integer totalCount;

    @ApiModelProperty("参与者数量")
    private Integer acceptCount;

    @ApiModelProperty("是否删除：0未删除 1已删除")
    private Integer delFlag;

    @ApiModelProperty("创建人id")
    private Long createId;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新人id")
    private Long updateId;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("试卷下题目")
    private List<YcqYjsTestQuestionReq> testQuestionVOS;

    @ApiModelProperty("题目数量")
    private Integer questionCount;

    @ApiModelProperty("已考次数")
    private Integer numberOfTimesTaken;

    @ApiModelProperty("已考人数")
    private Integer numberOfExaminees;
}
