package com.qmth.teachcloud.mark.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * <p>
 * 轨迹给分表
 * </p>
 *
 * @author xf
 * @since 2023-09-22
 */
@TableName("mark_track")
@ApiModel(value = "MarkTrack对象", description = "轨迹给分表")
public class MarkTrack implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "ID")
    @TableId(value = "id")
    private Long id;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "评卷任务ID")
    private Long taskId;

    @ApiModelProperty(value = "完整题号")
    private String questionNumber;

    @ApiModelProperty(value = "序号")
    private Integer number;

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

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

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

    @ApiModelProperty(value = "大题题号")
    private Integer groupNumber;

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

    @ApiModelProperty(value = "标记类型（SCORE：分数，REMARK：备注）")
    private String type;

    @ApiModelProperty(value = "给分")
    private Double score;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "X轴位置")
    private Double positionX;

    @ApiModelProperty(value = "Y轴位置")
    private Double positionY;

    @ApiModelProperty(value = "裁切图序号")
    private Integer offsetIndex;

    @ApiModelProperty(value = "裁切图X轴坐标")
    private Integer offsetX;

    @ApiModelProperty(value = "裁切图Y轴坐标")
    private Integer offsetY;

    public Long getId() {
        return id;
    }

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

    public Long getTaskId() {
        return taskId;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    public String getQuestionNumber() {
        return questionNumber;
    }

    public void setQuestionNumber(String questionNumber) {
        this.questionNumber = questionNumber;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Long getStudentId() {
        return studentId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }

    public Long getExamId() {
        return examId;
    }

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

    public String getPaperNumber() {
        return paperNumber;
    }

    public void setPaperNumber(String paperNumber) {
        this.paperNumber = paperNumber;
    }

    public Integer getGroupNumber() {
        return groupNumber;
    }

    public void setGroupNumber(Integer groupNumber) {
        this.groupNumber = groupNumber;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Double getPositionX() {
        return positionX;
    }

    public void setPositionX(Double positionX) {
        this.positionX = positionX;
    }

    public Double getPositionY() {
        return positionY;
    }

    public void setPositionY(Double positionY) {
        this.positionY = positionY;
    }

    public Integer getOffsetIndex() {
        return offsetIndex;
    }

    public void setOffsetIndex(Integer offsetIndex) {
        this.offsetIndex = offsetIndex;
    }

    public Integer getOffsetX() {
        return offsetX;
    }

    public void setOffsetX(Integer offsetX) {
        this.offsetX = offsetX;
    }

    public Integer getOffsetY() {
        return offsetY;
    }

    public void setOffsetY(Integer offsetY) {
        this.offsetY = offsetY;
    }

    @Override
    public String toString() {
        return "MarkTrack{" +
                "taskId=" + taskId +
                ", questionNumber=" + questionNumber +
                ", number=" + number +
                ", studentId=" + studentId +
                ", examId=" + examId +
                ", paperNumber=" + paperNumber +
                ", groupNumber=" + groupNumber +
                ", userId=" + userId +
                ", type=" + type +
                ", score=" + score +
                ", remark=" + remark +
                ", positionX=" + positionX +
                ", positionY=" + positionY +
                ", offsetIndex=" + offsetIndex +
                ", offsetX=" + offsetX +
                ", offsetY=" + offsetY +
                "}";
    }
}
