package com.yida.data.school.vo.smart;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.enums.RegistrationStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 指南花名册返回数据
 *
 * @author ZYJ
 * @date 2021/12/30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "GuideRosterSelectPageVO", description = "指南花名册返回数据")
public class GuideRosterSelectPageVO implements Serializable {

    private static final long serialVersionUID = -2482210113912005941L;

    @ApiModelProperty("花名册id")
    private Long rosterId;

    @ApiModelProperty(value = "毕业院校")
    private String graduateSchool;

    @ApiModelProperty(value = "姓名")
    private String fullName;

    @ApiModelProperty(value = "身份证号码")
    private String idNumber;

    @ApiModelProperty(value = "录取专业")
    private String admittedMajor;

    @ApiModelProperty("报到时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime checkInTime;

    @ApiModelProperty(value = "二维码地址")
    private String qrCodeUrl;

    /**
     * {@link RegistrationStatusEnum}
     */
    @ApiModelProperty(value = "报到状态. 0-未报到,1-报到成功(全部步骤通过)")
    private Integer registrationStatus;

    @ApiModelProperty(value = "宿舍楼")
    private String dormitory;

    @ApiModelProperty(value = "宿舍号")
    private String dormitoryRoom;

    @ApiModelProperty(value = "校区")
    private String campusName;

    @ApiModelProperty(value = "系部")
    private String sectionName;
    @ApiModelProperty(value = "年级")
    private String gradeName;
    @ApiModelProperty(value = "年级")
    private String className;
}