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.distributed.print.business.enums.CourseEvaluationTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;

/**
 * @Description: 课程评价方式参数
 * @Author: CaoZixuan
 * @Date: 2024-02-29
 */
public class CourseEvaluationParam {

    @ApiModelProperty("课程评价方式id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

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

    @ApiModelProperty("评价方式")
    @NotNull(message = "缺少评价方式")
    @Length(min = 1, message = "缺少评价方式")
    private String evaluation;

    @ApiModelProperty("评价方式描述")
    @NotNull(message = "缺少评价方式描述")
    @Length(min = 1, message = "缺少评价方式描述")
    private String evaluationDesc;

    @ApiModelProperty("评价方式类型")
    private CourseEvaluationTypeEnum type;

    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 getEvaluation() {
        return evaluation;
    }

    public void setEvaluation(String evaluation) {
        this.evaluation = evaluation;
    }

    public String getEvaluationDesc() {
        return evaluationDesc;
    }

    public void setEvaluationDesc(String evaluationDesc) {
        this.evaluationDesc = evaluationDesc;
    }

    public CourseEvaluationTypeEnum getType() {
        return type;
    }

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