package com.ssj.service.kmt.request;

import com.ssj.bean.common.framework.core.domain.BaseRequest;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotBlank;

import java.util.List;

public class SubmitQueryViaOssResultRequest extends BaseRequest {

    private static final long serialVersionUID = 1L;

    /**
     * 作业识别 对应scon_picture_ai_predeal的主键id
     * 推荐提对应 scon_problem_similar_predeal 的主键id
     */
    @ApiModelProperty(name = "taskId", value = "识别任务id, scon_picture_ai_predeal的主键id", required = true)
    @NotBlank
    private String taskId;

    @ApiModelProperty(name = "exerciseBookId", value = "练习册exerciseBookId", required = false)
    private String exerciseBookId;

    /**
     * 0-标示上传的为无效图片或者没有检索出对应的练习册 1-表示上传的图片为口算，返回的data中为对应图片的path 2-表示上传的图片为练习册，返回的data中为对应的练习册id、页码、单元id、课时id
     */
    @ApiModelProperty(name = "flag", value = "识别状态", required = true)
    private int flag;

    @ApiModelProperty(name = "bookId", value = "练习册book_id", required = false)
    private String bookId;

    @ApiModelProperty(name = "path", value = "口算生成路径", required = false)
    private String path;

    @ApiModelProperty(name = "pageNo", value = "flag为2时对应的练习册页码列表，例如[30]或[1,2]", required = false)
    private List<Integer> pageNo;

    @ApiModelProperty(name = "questionIds", value = "对应题目id,flag为2时对应的题目列表", required = false)
    private List<String>  questionIds;

    @ApiModelProperty(name = "moduleId", value = "flag为2时对应的练习册单元id, 大多数情况不返回, 只有当只依靠页码和练习册id无法定位时才返回", required = false)
    private String moduleId;

    @ApiModelProperty(name = "unitId", value = "flag为2时对应的练习册课时id, 大多数情况不返回, 只有当只依靠页码和练习册单元id无法定位时才返回", required = false)
    private String unitId;

    public String getTaskId() {
        return taskId;
    }

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

    public String getExerciseBookId() {
        return exerciseBookId;
    }

    public void setExerciseBookId(String exerciseBookId) {
        this.exerciseBookId = exerciseBookId;
    }

    public int getFlag() {
        return flag;
    }

    public void setFlag(int flag) {
        this.flag = flag;
    }

    public String getBookId() {
        return bookId;
    }

    public void setBookId(String bookId) {
        this.bookId = bookId;
    }

    public List<Integer> getPageNo() {
        return pageNo;
    }

    public void setPageNo(List<Integer> pageNo) {
        this.pageNo = pageNo;
    }

    public List<String> getQuestionIds() {
        return questionIds;
    }

    public void setQuestionIds(List<String> questionIds) {
        this.questionIds = questionIds;
    }

    public String getModuleId() {
        return moduleId;
    }

    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }

    public String getUnitId() {
        return unitId;
    }

    public void setUnitId(String unitId) {
        this.unitId = unitId;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }
}
