UserVO.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.zhentao.vo;
  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import lombok.Data;
  4. import java.io.Serializable;
  5. import java.time.LocalDate;
  6. import java.time.LocalDateTime;
  7. /**
  8. * 用户VO - 用于返回用户列表信息
  9. */
  10. @Data
  11. public class UserVO implements Serializable {
  12. private static final long serialVersionUID = 1L;
  13. // 用户基本信息
  14. private Integer userId;
  15. private String phone;
  16. private String email;
  17. private String nickname;
  18. private Integer gender;
  19. @JsonFormat(pattern = "yyyy-MM-dd")
  20. private LocalDate birthDate;
  21. private String avatarUrl;
  22. private Integer status;
  23. private String sourceChannel;
  24. private Integer isProfileComplete;
  25. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  26. private LocalDateTime createdAt;
  27. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  28. private LocalDateTime updatedAt;
  29. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  30. private LocalDateTime lastLoginAt;
  31. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  32. private LocalDateTime lastActiveAt;
  33. private Integer hasWechatLogin;
  34. private Integer consentToCollect;
  35. // 计算字段
  36. private Integer age;
  37. private String auditedAt; // 审核时间(updatedAt - createdAt,格式化的时间差)
  38. // VIP信息
  39. private Boolean isVip; // 是否VIP
  40. private String vipLevel; // VIP等级名称
  41. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  42. private LocalDateTime vipStartTime; // VIP开始时间
  43. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  44. private LocalDateTime vipEndTime; // VIP结束时间
  45. private Integer vipRemainingDays; // VIP剩余天数
  46. // 红娘信息
  47. private Integer matchmakerId; // 红娘ID
  48. private String matchmakerName; // 红娘姓名
  49. private String matchmakerPhone; // 红娘电话
  50. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  51. private LocalDateTime boundAt; // 绑定时间
  52. }