package com.crunii.micro.feign.client.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

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

@ApiModel(value = "StudentDetailVo", description = "学生详情对象")
@ToString
@Data
public class StudentDetailVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(name = "id", notes = "学生ID")
    private BigInteger id;

    @ApiModelProperty(name = "studentNum", notes = "学生编号")
    private String studentNum;

    @ApiModelProperty(name = "studentName", notes = "学生名称")
    private String studentName;

    @ApiModelProperty(name = "sex", notes = "性别: 0-女，1-男")
    private Integer sex;

    @ApiModelProperty(name = "identityCardNo", notes = "身份证号")
    private String identityCardNo;

    @ApiModelProperty(name = "mobile", notes = "手机号")
    private String mobile;

    @ApiModelProperty(name = "politicalStatusType", notes = "政治面貌类型")
    private String politicalStatusType;

    @ApiModelProperty(name = "politicalStatus", notes = "政治面貌名称")
    private String politicalStatus;

    @ApiModelProperty(name = "semesterType", notes = "学期类型")
    private String semesterType;

    @ApiModelProperty(name = "semesterName", notes = "学期名称")
    private String semesterName;

    @ApiModelProperty(name = "youthCommitteeOrgId", notes = "团委组织ID")
    private BigInteger youthCommitteeOrgId;

    @ApiModelProperty(name = "youthCommitteeOrgName", notes = "团委组织名称")
    private String youthCommitteeOrgName;

    @ApiModelProperty(name = "currentSchoolId", notes = "当前学校ID")
    private BigInteger currentSchoolId;

    @ApiModelProperty(name = "currentSchoolName", notes = "当前学校名称")
    private String currentSchoolName;

    @ApiModelProperty(name = "currentGradeId", notes = "当前年级ID")
    private BigInteger currentGradeId;

    @ApiModelProperty(name = "currentGradeName", notes = "当前年级名称")
    private String currentGradeName;

    @ApiModelProperty(name = "currentClassId", notes = "当前班级ID")
    private BigInteger currentClassId;

    @ApiModelProperty(name = "currentClassName", notes = "当前班级名称")
    private String currentClassName;

    @ApiModelProperty(name = "currentClassDirectorId", notes = "当前班主任ID")
    private BigInteger currentClassDirectorId;

    @ApiModelProperty(name = "currentClassDirectorName", notes = "当前班主任名称")
    private String currentClassDirectorName;

    @ApiModelProperty(name = "tutorTeacherId", notes = "辅导老师ID")
    private BigInteger tutorTeacherId;

    @ApiModelProperty(name = "tutorTeacherName", notes = "辅导老师名称")
    private String tutorTeacherName;

    @ApiModelProperty(name = "joinYoungPioneersTime", notes = "入队时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date joinYoungPioneersTime;


}
