MemberBuilder.java
2.33 KB
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
package com.topdraw.business.module.member.domain;
import com.topdraw.util.IdWorker;
import org.apache.commons.lang3.StringUtils;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Objects;
/**
* @author XiangHan
* @date 2021-10-22
*/
public class MemberBuilder {
private static final Long DEFAULT_VALUE = 0L;
private static final Integer DEFAULT_VALUE_1 = 1;
private static final Integer DEFAULT_VALUE_ = -1;
public static Member build(Member member){
Member _member = checkMemberData(member);
return _member;
}
private static Member checkMemberData(Member member) {
String code = member.getCode();
member.setCode(StringUtils.isEmpty(code)?String.valueOf(IdWorker.generator()):code);
Integer gender = member.getGender();
member.setGender(Objects.nonNull(gender) ? gender : DEFAULT_VALUE_);
Integer type = member.getType();
member.setType(Objects.nonNull(type) ? type:DEFAULT_VALUE_);
Integer status = member.getStatus();
member.setStatus(Objects.nonNull(status) ? status:DEFAULT_VALUE_1);
Integer vip = member.getVip();
member.setVip(Objects.nonNull(vip) ? vip:0);
Integer level = member.getLevel();
member.setLevel(Objects.nonNull(level) ? level:DEFAULT_VALUE_1);
member.setExp(DEFAULT_VALUE);
member.setPoints(DEFAULT_VALUE);
member.setDuePoints(DEFAULT_VALUE);
member.setCouponAmount(DEFAULT_VALUE);
member.setDueCouponAmount(DEFAULT_VALUE);
member.setBlackStatus(DEFAULT_VALUE);
member.setBirthday(StringUtils.isBlank(member.getBirthday())?"1900-01-01":member.getBirthday());
String nickname = member.getNickname();
if (StringUtils.isNotEmpty(nickname)) {
// String base64Nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8)));
member.setNickname(nickname);
}
return member;
}
public static Member build(Integer type, String avatarUrl, String nickname, int vip){
// todo 原型模式
Member member = new Member();
member.setType(type);
member.setAvatarUrl(avatarUrl);
member.setNickname(nickname);
member.setVip(vip);
Member _member = checkMemberData(member);
return _member;
}
}