package com.qmth.distributed.print.business.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.distributed.print.business.enums.ObeCourseOutlineCourseTypeEnum;
import com.qmth.distributed.print.business.enums.ObeCourseOutlineEvaluationEnum;
import com.qmth.teachcloud.common.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 课程大纲表
 * </p>
 *
 * @author CaoZixuan
 * @since 2024-06-05
 */
@ApiModel(value="ObeCourseOutline对象", description="课程大纲表")
public class ObeCourseOutline extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "培养方案id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long cultureProgramId;

    @ApiModelProperty(value = "学校id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long schoolId;

    @ApiModelProperty(value = "课程大纲名称")
    private String name;

    @ApiModelProperty(value = "修读学期id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long semesterId;

    @ApiModelProperty(value = "课程id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long courseId;

    @ApiModelProperty(value = "考核方式")
    private ObeCourseOutlineEvaluationEnum evaluationMode;

    @ApiModelProperty(value = "课程类别")
    private ObeCourseOutlineCourseTypeEnum courseType;

    @ApiModelProperty(value = "课程大纲责任人")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    @ApiModelProperty(value = "权重设置")
    private Boolean weightSetting;

    @ApiModelProperty(value = "权重设置标识")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long weightSettingSign;

    @ApiModelProperty(value = "知识点标识")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long dimensionSign;

    public Long getCultureProgramId() {
        return cultureProgramId;
    }

    public void setCultureProgramId(Long cultureProgramId) {
        this.cultureProgramId = cultureProgramId;
    }

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getSemesterId() {
        return semesterId;
    }

    public void setSemesterId(Long semesterId) {
        this.semesterId = semesterId;
    }

    public Long getCourseId() {
        return courseId;
    }

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

    public ObeCourseOutlineEvaluationEnum getEvaluationMode() {
        return evaluationMode;
    }

    public void setEvaluationMode(ObeCourseOutlineEvaluationEnum evaluationMode) {
        this.evaluationMode = evaluationMode;
    }

    public ObeCourseOutlineCourseTypeEnum getCourseType() {
        return courseType;
    }

    public void setCourseType(ObeCourseOutlineCourseTypeEnum courseType) {
        this.courseType = courseType;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Boolean getWeightSetting() {
        return weightSetting;
    }

    public void setWeightSetting(Boolean weightSetting) {
        this.weightSetting = weightSetting;
    }

    public Long getWeightSettingSign() {
        return weightSettingSign;
    }

    public void setWeightSettingSign(Long weightSettingSign) {
        this.weightSettingSign = weightSettingSign;
    }

    public Long getDimensionSign() {
        return dimensionSign;
    }

    public void setDimensionSign(Long dimensionSign) {
        this.dimensionSign = dimensionSign;
    }
}
