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 ObeCourseTargetParam {

    @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 obeCourseOutlineId;

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

    @ApiModelProperty("目标分解详情")
    private String degreeRequirement;

    @ApiModelProperty("指标点id")
    @JsonSerialize(using = ToStringSerializer.class)
    @NotNull(message = "缺少指标点id")
    @Range(min = 1L, message = "缺少指标点id")
    private Long obeCultureProgramRequirementId;

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

    public Long getId() {
        return id;
    }

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

    public Long getObeCourseOutlineId() {
        return obeCourseOutlineId;
    }

    public void setObeCourseOutlineId(Long obeCourseOutlineId) {
        this.obeCourseOutlineId = obeCourseOutlineId;
    }

    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 Long getObeCultureProgramRequirementId() {
        return obeCultureProgramRequirementId;
    }

    public void setObeCultureProgramRequirementId(Long obeCultureProgramRequirementId) {
        this.obeCultureProgramRequirementId = obeCultureProgramRequirementId;
    }

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

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