zxl
4 天以前 2701dca44e1972afe9956ced2f949d2998c1bb4b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package cn.lili.modules.member.entity.vo;
 
import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.common.security.sensitive.Sensitive;
import cn.lili.common.security.sensitive.enums.SensitiveStrategy;
import cn.lili.common.utils.BeanUtil;
import cn.lili.modules.lmk.domain.vo.CustomerTagVO;
import cn.lili.modules.member.entity.dos.Member;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
 
import java.io.Serializable;
import java.util.Date;
import java.util.List;
 
/**
 * @author paulG
 * @since 2021/11/8
 **/
@Data
@NoArgsConstructor
public class MemberVO implements Serializable {
 
    private static final long serialVersionUID = 1810890757303309436L;
 
    @ApiModelProperty(value = "唯一标识", hidden = true)
    private String id;
 
    @ApiModelProperty(value = "会员用户名")
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String username;
 
    @ApiModelProperty(value = "昵称")
 
    private String nickName;
 
    @ApiModelProperty(value = "会员性别,1为男,0为女")
    private Integer sex;
 
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "会员生日")
    private Date birthday;
 
    @ApiModelProperty(value = "会员地址ID")
    private String regionId;
 
    @ApiModelProperty(value = "会员地址")
    private String region;
 
    @ApiModelProperty(value = "手机号码", required = true)
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String mobile;
 
    @ApiModelProperty(value = "积分数量")
    private Long point;
 
    @ApiModelProperty(value = "积分总数量")
    private Long totalPoint;
 
    @ApiModelProperty(value = "会员头像")
    private String face;
 
    @ApiModelProperty(value = "会员状态")
    private Boolean disabled;
 
    @ApiModelProperty(value = "是否开通店铺")
    private Boolean haveStore;
 
    @ApiModelProperty(value = "店铺ID")
    private String storeId;
 
    @ApiModelProperty(value = "openId")
    private String openId;
 
    /**
     * @see ClientTypeEnum
     */
    @ApiModelProperty(value = "客户端")
    private String clientEnum;
 
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最后一次登录时间")
    private Date lastLoginDate;
 
    @ApiModelProperty(value = "会员等级ID")
    private String gradeId;
 
    @ApiModelProperty(value = "经验值数量")
    private Long experience;
 
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createTime;
 
    @ApiModelProperty(value = "客户标签列表")
    private List<CustomerTagVO> customerTagList;
 
    /**
     * 为null则不在黑名单内
     */
    @ApiModelProperty(value = "黑名单id")
    private String blackId;
 
    public MemberVO(Member member) {
        BeanUtil.copyProperties(member, this);
    }
 
    public String getRegionId() {
        return getDefaultValue(regionId);
    }
 
    public String getRegion() {
        return getDefaultValue(region);
    }
 
    /**
     * JSON转换中的null 会转成 "null"
     * @param value
     * @return
     */
    private String getDefaultValue(String value){
        return (value == null || "null".equals(value)) ? "" : value;
    }
}