package org.dromara.art.domain.vo;

import org.dromara.art.domain.ArtSchoolMajor;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;



/**
 * 学校专业视图对象 art_school_major
 *
 * @author ZhouWenTao
 * @date 2026-02-17
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ArtSchoolMajor.class)
public class ArtSchoolMajorVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ExcelProperty(value = "主键ID")
    private Long schoolMajorId;

    /**
     * 学校ID(冗余便于查)
     */
    @ExcelProperty(value = "学校ID(冗余便于查)")
    private Long schoolId;

//    /**
//     * 校区ID
//     */
//    @ExcelProperty(value = "校区ID")
//    private Long campusId;
//
//    /**
//     * 校区名称
//     */
//    @ExcelProperty(value = "校区名称")
//    private String campusName;

    /**
     * 学院ID
     */
    @ExcelProperty(value = "学院ID")
    private Long collegeId;

    /**
     * 学院ID
     */
    @ExcelProperty(value = "学院名称")
    private String collegeName;

    /**
     * 专业编码(可选)
     */
    @ExcelProperty(value = "专业编码(可选)")
    private String majorCode;

    /**
     * 专业名称
     */
    @ExcelProperty(value = "专业名称")
    private String majorName;

    /**
     * 学历层次：本科/专科
     */
    @ExcelProperty(value = "学历层次：本科/专科")
    private String educationLevel;

    /**
     * 学制(3/4/5)
     */
    @ExcelProperty(value = "学制(3/4/5)")
    private Long durationYears;

    /**
     * 专业类别：工学/理学/艺术学...
     */
    @ExcelProperty(value = "专业类别：工学/理学/艺术学...")
    private String majorCategory;

    /**
     * 学位类型：工学学士/理学学士/艺术学学士...
     */
    @ExcelProperty(value = "学位类型：工学学士/理学学士/艺术学学士...")
    private String degreeType;

    /**
     * 专业介绍
     */
    @ExcelProperty(value = "专业介绍")
    private String introduction;

    /**
     * 专业标签
     */
    @ExcelProperty(value = "专业标签")
    private String tags;

    /**
     * 专业标签列表
     */
    private List<String> majorTags;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
