package com.qmth.teachcloud.mark.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.teachcloud.mark.enums.BatchStatus;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 
 * </p>
 *
 * @author xf
 * @since 2023-09-22
 */
@TableName("scan_batch")
@ApiModel(value="ScanBatch对象", description="")
public class ScanBatch implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "考试ID")
    private Long examId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "扫描员ID")
    private Long userId;

    @ApiModelProperty(value = "扫描数量")
    private Integer scanCount;

    private Integer assignedCount;

    @ApiModelProperty(value = "状态")
    private BatchStatus status;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long creatorId;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long updaterId;

    private Long createTime;

    private Long updateTime;

    @ApiModelProperty(value = "试卷编号")
    private String coursePaperId;

    public Long getId() {
        return id;
    }

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

    public void setExamId(Long examId) {
        this.examId = examId;
    }
    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public Integer getScanCount() {
        return scanCount;
    }

    public void setScanCount(Integer scanCount) {
        this.scanCount = scanCount;
    }
    public Integer getAssignedCount() {
        return assignedCount;
    }

    public void setAssignedCount(Integer assignedCount) {
        this.assignedCount = assignedCount;
    }
    public BatchStatus getStatus() {
        return status;
    }

    public void setStatus(BatchStatus status) {
        this.status = status;
    }
    public Long getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(Long creatorId) {
        this.creatorId = creatorId;
    }
    public Long getUpdaterId() {
        return updaterId;
    }

    public void setUpdaterId(Long updaterId) {
        this.updaterId = updaterId;
    }
    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }
    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }
    public String getCoursePaperId() {
        return coursePaperId;
    }

    public void setCoursePaperId(String coursePaperId) {
        this.coursePaperId = coursePaperId;
    }

    @Override
    public String toString() {
        return "ScanBatch{" +
            "id=" + id +
            ", examId=" + examId +
            ", userId=" + userId +
            ", scanCount=" + scanCount +
            ", assignedCount=" + assignedCount +
            ", status=" + status +
            ", creatorId=" + creatorId +
            ", updaterId=" + updaterId +
            ", createTime=" + createTime +
            ", updateTime=" + updateTime +
            ", coursePaperId=" + coursePaperId +
        "}";
    }
}
