| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package com.zhentao.vo;
- import com.fasterxml.jackson.annotation.JsonFormat;
- import lombok.Data;
- import java.io.Serializable;
- import java.time.LocalDate;
- import java.time.LocalDateTime;
- /**
- * 用户VO - 用于返回用户列表信息
- */
- @Data
- public class UserVO implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- // 用户基本信息
- private Integer userId;
- private String phone;
- private String email;
- private String nickname;
- private Integer gender;
-
- @JsonFormat(pattern = "yyyy-MM-dd")
- private LocalDate birthDate;
-
- private String avatarUrl;
- private Integer status;
- private String sourceChannel;
- private Integer isProfileComplete;
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime createdAt;
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime updatedAt;
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime lastLoginAt;
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime lastActiveAt;
-
- private Integer hasWechatLogin;
- private Integer consentToCollect;
-
- // 计算字段
- private Integer age;
- private String auditedAt; // 审核时间(updatedAt - createdAt,格式化的时间差)
-
- // VIP信息
- private Boolean isVip; // 是否VIP
- private String vipLevel; // VIP等级名称
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime vipStartTime; // VIP开始时间
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime vipEndTime; // VIP结束时间
-
- private Integer vipRemainingDays; // VIP剩余天数
-
- // 红娘信息
- private Integer matchmakerId; // 红娘ID
- private String matchmakerName; // 红娘姓名
- private String matchmakerPhone; // 红娘电话
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime boundAt; // 绑定时间
- }
|