package com.jty.wsxt.interfaces.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.security.core.GrantedAuthority;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;

/**
 * NrscTeacherDto
 *
 * @author Manjiajie
 * @since 2019-2-13 19:19:46
 */
@Data
public class NrscTeacherDto{

    private Integer id;

    @Pattern(regexp="^(?![0-9]+$)[a-zA-Z0-9]{4,12}$",message = "账号格式不对,是全字母或者数字和字母的组合")
    private String account;

    @Pattern(regexp="^$|^1(3|4|5|7|8)\\d{9}$",message = "电话格式不对")
    private String mobile;

    private String password;

    @Length(max = 50,message = "名字不能超过50个字符")
    private String username;

    @NotNull(message = "学段id不能为空")
    private Integer stageId;

    private String stageName;

    @NotNull(message = "学科id不能为空")
    private Integer subjectId;

    private String subjectName;

    private List<Integer> roleIds;

    private List<NrscRoleDto> roles;

    private Boolean enabled;

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastLoginTime;

    private Collection<? extends GrantedAuthority> authorities;
}