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

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.distributed.print.business.enums.CourseEvaluationTypeEnum;
import com.qmth.teachcloud.common.contant.SystemConstant;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;

/**
 * @Description: 课程评价方式权重详情
 * @Author: CaoZixuan
 * @Date: 2024-03-01
 */
public class CourseWeightDetailDto {

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

    @ApiModelProperty("评价方式名称")
    private String evaluationName;

    @ApiModelProperty("评价方式描述")
    private String evaluationDesc;

    @ApiModelProperty("是否启用")
    private Boolean enable;

    @ApiModelProperty("权重")
    private BigDecimal weight;

    @ApiModelProperty("目标分值")
    private BigDecimal targetScore;

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

    public CourseWeightDetailDto() {

    }

    public CourseWeightDetailDto(String evaluationName, BigDecimal weight, BigDecimal targetScore) {
        this.evaluationId = SystemConstant.getDbUuid();
        this.evaluationName = evaluationName;
        this.enable = true;
        this.weight = weight;
        this.targetScore = targetScore;
    }

    public Long getEvaluationId() {
        return evaluationId;
    }

    public void setEvaluationId(Long evaluationId) {
        this.evaluationId = evaluationId;
    }

    public String getEvaluationName() {
        return evaluationName;
    }

    public void setEvaluationName(String evaluationName) {
        this.evaluationName = evaluationName;
    }

    public Boolean getEnable() {
        return enable;
    }

    public void setEnable(Boolean enable) {
        this.enable = enable;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public BigDecimal getTargetScore() {
        return targetScore;
    }

    public void setTargetScore(BigDecimal targetScore) {
        this.targetScore = targetScore;
    }

    public String getEvaluationDesc() {
        return evaluationDesc;
    }

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

    public CourseEvaluationTypeEnum getEvaluationType() {
        return evaluationType;
    }

    public void setEvaluationType(CourseEvaluationTypeEnum evaluationType) {
        this.evaluationType = evaluationType;
    }
}
