package com.education.model.dto;

import com.education.model.entity.GoalInfo;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.groups.Default;
import lombok.Data;

public class GoalInfoSaveDto {

    @NotNull(groups = Update.class)
    private Integer id;

    /**
     * 学科名称
     */
    @NotNull
    private Integer subjectId;

    /**
     * 阶段id
     */
    private Integer schoolType;

    /**
     * 试题类型
     */
    private Integer courseSectionId;

    /**
     * 课程id
     */
    @NotNull
    private Integer courseId;

    //年级，可为空
    private Integer gradeId;

    /**
     * 试题内容
     */
    private String content;

    /**
     * 导向目标G
     */
    @NotEmpty
    private String gOriented;

    /**
     * P评分标准
     */
    private String pScoreStd;

    /**
     * S评分标准
     */
    private String sScoreStd;

    /**
     * R评分标准
     */
    private String rScoreStd;

    /**
     * E评分标准
     */
    private String eScoreStd;

    /**
     * N评分标准
     */
    private String nScoreStd;

    //知识点
    private String knowPoints;

    //发布标识,0-未发布，1-已发布
    private Integer publishFlag;

    public @NotNull(groups = Update.class) Integer getId() {
        return id;
    }

    public void setId(@NotNull(groups = Update.class) Integer id) {
        this.id = id;
    }

    public @NotNull(groups = Update.class) Integer getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(@NotNull(groups = Update.class) Integer subjectId) {
        this.subjectId = subjectId;
    }

    public Integer getSchoolType() {
        return schoolType;
    }

    public void setSchoolType(Integer schoolType) {
        this.schoolType = schoolType;
    }

    public Integer getCourseSectionId() {
        return courseSectionId;
    }

    public void setCourseSectionId(Integer courseSectionId) {
        this.courseSectionId = courseSectionId;
    }

    public Integer getCourseId() {
        return courseId;
    }

    public void setCourseId(Integer courseId) {
        this.courseId = courseId;
    }

    public Integer getGradeId() {
        return gradeId;
    }

    public void setGradeId(Integer gradeId) {
        this.gradeId = gradeId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public @NotEmpty String getgOriented() {
        return gOriented;
    }

    public void setgOriented(@NotEmpty String gOriented) {
        this.gOriented = gOriented;
    }

    public String getpScoreStd() {
        return pScoreStd;
    }

    public void setpScoreStd(String pScoreStd) {
        this.pScoreStd = pScoreStd;
    }

    public String getsScoreStd() {
        return sScoreStd;
    }

    public void setsScoreStd(String sScoreStd) {
        this.sScoreStd = sScoreStd;
    }

    public String getrScoreStd() {
        return rScoreStd;
    }

    public void setrScoreStd(String rScoreStd) {
        this.rScoreStd = rScoreStd;
    }

    public String geteScoreStd() {
        return eScoreStd;
    }

    public void seteScoreStd(String eScoreStd) {
        this.eScoreStd = eScoreStd;
    }

    public String getnScoreStd() {
        return nScoreStd;
    }

    public void setnScoreStd(String nScoreStd) {
        this.nScoreStd = nScoreStd;
    }

    public String getKnowPoints() {
        return knowPoints;
    }

    public void setKnowPoints(String knowPoints) {
        this.knowPoints = knowPoints;
    }

    public Integer getPublishFlag() {
        return publishFlag;
    }

    public void setPublishFlag(Integer publishFlag) {
        this.publishFlag = publishFlag;
    }

    public interface Add extends Default {}
    public interface Update extends Default{}

}
