| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package seecoder.devcloud.web.vo.user;
- import com.fasterxml.jackson.annotation.JsonProperty;
- import com.fasterxml.jackson.databind.annotation.JsonSerialize;
- import lombok.Data;
- import org.springframework.beans.BeanUtils;
- import seecoder.devcloud.common.serializer.TimestampLocalDateTimeSerializer;
- import seecoder.devcloud.web.enums.UserIdentity;
- import seecoder.devcloud.web.po.user.User;
- import java.time.LocalDateTime;
- @Data
- public class UserVO {
- private Integer id;
- private String username;
- private String email;
- private UserIdentity role;
- //nickname : String - 昵称 | [a-zA-Z0-9]{4-16}
- //bio : String - 用户自我描述 | {0-100}
- private String nickname;
- private String bio;
- @JsonProperty("created_at")
- @JsonSerialize(using = TimestampLocalDateTimeSerializer.class)
- private LocalDateTime createdAt;
- private UserVO() {
- this.id = 0;
- this.username = "管理员";
- this.bio="bio : String - 用户自我描述 | {0-100}";
- }
- public UserVO(User user) {
- BeanUtils.copyProperties(user, this);
- }
- public static final UserVO ADMIN = new UserVO();
- }
|