package com.yida.data.user.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.entity.EasyExcelExportBaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 迎新学生信息Excel导出类
 *
 * @author ZYJ
 * @date 2021/8/24
 */
@Getter
@Setter
@ToString(callSuper = true)
@ApiModel(value = "WelcomeStudentExportDTO", description = "迎新学生信息Excel导出类")
public class WelcomeStudentExportDTO extends EasyExcelExportBaseDTO implements Serializable {

    private static final long serialVersionUID = 5479798919988370317L;

    /**
     * 序号
     */
    @ExcelProperty(index = 0, value = "序号")
    @ApiModelProperty(value = "序号")
    private Long indexNo;

    /**
     * 学生姓名
     */
    @ExcelProperty(index = 1, value = "学生姓名")
    @ApiModelProperty(value = "学生姓名")
    private String studentName;

    /**
     * 学生学号
     */
    @ExcelProperty(index = 2, value = "学生学号")
    @ApiModelProperty(value = "学生学号")
    private String studentNumber;

    /**
     * 身份证号码
     */
    @ExcelProperty(index = 3, value = "身份证号码")
    @ApiModelProperty(value = "身份证号码")
    private String studentIdCard;

    /**
     * 校区名称
     */
    @ExcelProperty(index = 4, value = "校区名称")
    @ApiModelProperty(value = "校区名称")
    private String campusName;

    /**
     * 学段名称
     */
    @ExcelProperty(index = 5, value = "学段名称")
    @ApiModelProperty(value = "学段名称")
    private String sectionName;

    /**
     * 年级名称
     */
    @ExcelProperty(index = 6, value = "年级名称")
    @ApiModelProperty(value = "年级名称")
    private String gradeName;

    /**
     * 班级名称
     */
    @ExcelProperty(index = 7, value = "班级名称")
    @ApiModelProperty(value = "班级名称")
    private String className;

    /**
     * 家长关系
     */
    @ExcelProperty(index = 8, value = "家长关系")
    @ApiModelProperty(value = "家长关系")
    private String parentTypeName;

    /**
     * 家长电话
     */
    @ExcelProperty(index = 9, value = "家长电话")
    @ApiModelProperty(value = "家长电话")
    private String parentTelephone;

    /**
     * 报到状态
     */
    @ExcelProperty(index = 10, value = "报到状态")
    @ApiModelProperty(value = "报到状态")
    private String reportStatus;

    /**
     * 报到家长信息
     */
    @ExcelProperty(index = 11, value = "报到家长信息")
    @ApiModelProperty(value = "报到家长信息")
    private String reportParentsInfo;

    /**
     * 报到时间
     */
    @ExcelProperty(index = 12, value = "报到时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkDate;
}