package com.cloudroam.dto.user; import com.fasterxml.jackson.annotation.JsonFormat; import io.github.talelin.autoconfigure.validator.EqualField; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern; import java.util.Date; import java.util.List; /** * @author * @author * 注册数据传输对象 */ @Data @NoArgsConstructor @EqualField(srcField = "password", dstField = "confirmPassword", message = "{password.equal-field}") public class RegisterDTO { @NotBlank(message = "{username.not-blank}") @Length(min = 2, max = 20, message = "{username.length}") private String username; @NotBlank(message = "{nickname.not-blank}") @Length(min = 2, max = 20, message = "{nickname.length}") private String nickname; private List groupIds; @Email(message = "{email}") private String email; @NotBlank(message = "{password.new.not-blank}") @Pattern(regexp = "^[A-Za-z0-9_*&$#@]{6,22}$", message = "{password.new.pattern}") private String password; @NotBlank(message = "{password.confirm.not-blank}") private String confirmPassword; /** * 入职日期 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date hiredate; /** * 离职日期 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date unhiredate; /** * 员工状态 0 离职 1 在职 */ private Integer staffStatus; /** * 是否展示看板 */ private Integer showBoardFlag; /** * 是否发送邮件 */ private Integer sendEmailFlag; }