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.CourseDimensionSourceEnum;
import com.qmth.teachcloud.common.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 课程知识点表
 * </p>
 *
 * @author CaoZixuan
 * @since 2024-02-27
 */
@ApiModel(value="CourseDimension对象", description="课程知识点表")
public class CourseDimension extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

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

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

    @ApiModelProperty(value = "考试id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long examId;

    @ApiModelProperty(value = "课程编号")
    private String courseCode;

    @ApiModelProperty(value = "教师id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    @ApiModelProperty(value = "来源")
    private CourseDimensionSourceEnum source;

    @ApiModelProperty(value = "知识点编号")
    private String code;

    @ApiModelProperty(value = "知识点名称")
    private String name;

    @ApiModelProperty(value = "排序")
    private Integer number;

    @ApiModelProperty(value = "父id（顶级知识点父id为0）")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long parentId;

    public Long getTeachCourseId() {
        return teachCourseId;
    }

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

    public Long getSchoolId() {
        return schoolId;
    }

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

    public Long getSemesterId() {
        return semesterId;
    }

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

    public Long getExamId() {
        return examId;
    }

    public void setExamId(Long examId) {
        this.examId = examId;
    }

    public String getCourseCode() {
        return courseCode;
    }

    public void setCourseCode(String courseCode) {
        this.courseCode = courseCode;
    }

    public Long getUserId() {
        return userId;
    }

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

    public CourseDimensionSourceEnum getSource() {
        return source;
    }

    public void setSource(CourseDimensionSourceEnum source) {
        this.source = source;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

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

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }
}
