package com.qmth.distributed.print.business.bean.params;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.teachcloud.common.annotation.EditKey;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @Description: 课程目标参数
 * @Author: CaoZixuan
 * @Date: 2024-02-29
 */
public class CourseTargetParam {

    @ApiModelProperty("课程目标id（编辑必填）")
    @JsonSerialize(using = ToStringSerializer.class)
    @EditKey
    private Long id;

    @ApiModelProperty("教学课程id")
    @JsonSerialize(using = ToStringSerializer.class)
    @NotNull(message = "缺少教学课程id")
    @Range(min = 1L, message = "缺少教学课程id")
    private Long teachCourseId;

    @ApiModelProperty("课程目标名称")
    @NotNull(message = "请输入课程目标")
    @Length(min = 1, message = "请输入课程目标")
    private String targetName;

    @ApiModelProperty("毕业要求")
    private String degreeRequirement;

    @ApiModelProperty("知识点id集合")
    private List<Long> dimensionIdList;

    public Long getId() {
        return id;
    }

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

    public Long getTeachCourseId() {
        return teachCourseId;
    }

    public void setTeachCourseId(Long teachCourseId) {
        this.teachCourseId = teachCourseId;
    }

    public String getTargetName() {
        return targetName;
    }

    public void setTargetName(String targetName) {
        this.targetName = targetName;
    }

    public String getDegreeRequirement() {
        return degreeRequirement;
    }

    public void setDegreeRequirement(String degreeRequirement) {
        this.degreeRequirement = degreeRequirement;
    }

    public List<Long> getDimensionIdList() {
        return dimensionIdList;
    }

    public void setDimensionIdList(List<Long> dimensionIdList) {
        this.dimensionIdList = dimensionIdList;
    }
}