yangys
2024-03-28 25475f31cd0d52ff328bbea9e80f15647dedd80b
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
130
131
132
133
134
package com.qianwen.core.tool.senstive;
 
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.BeanProperty;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import java.io.IOException;
import java.util.Objects;
import com.qianwen.core.tool.support.ImagePosition;
import com.qianwen.core.tool.utils.CharPool;
import com.qianwen.core.tool.utils.DesensitizedUtils;
 
/* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/senstive/SensitiveSerialize.class */
public class SensitiveSerialize extends JsonSerializer<String> implements ContextualSerializer {
    private SensitiveTypeEnum type;
    private Integer prefixNoMaskLen;
    private Integer suffixNoMaskLen;
    private String maskStr;
 
    public SensitiveSerialize() {
    }
 
    public SensitiveSerialize(final SensitiveTypeEnum type, final Integer prefixNoMaskLen, final Integer suffixNoMaskLen, final String maskStr) {
        this.type = type;
        this.prefixNoMaskLen = prefixNoMaskLen;
        this.suffixNoMaskLen = suffixNoMaskLen;
        this.maskStr = maskStr;
    }
 
    /* JADX INFO: Access modifiers changed from: package-private */
    /* renamed from: org.springblade.core.tool.senstive.SensitiveSerialize$1  reason: invalid class name */
    /* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/senstive/SensitiveSerialize$1.class */
    public static /* synthetic */ class AnonymousClass1 {
        static final /* synthetic */ int[] $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum = new int[SensitiveTypeEnum.values().length];
 
        static {
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.CHINESE_NAME.ordinal()] = 1;
            } catch (NoSuchFieldError e) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.ID_CARD.ordinal()] = 2;
            } catch (NoSuchFieldError e2) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.FIXED_PHONE.ordinal()] = 3;
            } catch (NoSuchFieldError e3) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.MOBILE_PHONE.ordinal()] = 4;
            } catch (NoSuchFieldError e4) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.ADDRESS.ordinal()] = 5;
            } catch (NoSuchFieldError e5) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.EMAIL.ordinal()] = 6;
            } catch (NoSuchFieldError e6) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.BANK_CARD.ordinal()] = 7;
            } catch (NoSuchFieldError e7) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.PASSWORD.ordinal()] = 8;
            } catch (NoSuchFieldError e8) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.KEY.ordinal()] = 9;
            } catch (NoSuchFieldError e9) {
            }
            try {
                $SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[SensitiveTypeEnum.CUSTOMER.ordinal()] = 10;
            } catch (NoSuchFieldError e10) {
            }
        }
    }
 
    public void serialize(final String origin, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider) throws IOException {
        switch (AnonymousClass1.$SwitchMap$org$springblade$core$tool$senstive$SensitiveTypeEnum[this.type.ordinal()]) {
            case 1:
                jsonGenerator.writeString(DesensitizedUtils.chineseName(origin));
                return;
            case ImagePosition.CENTER /* 2 */:
                jsonGenerator.writeString(DesensitizedUtils.idCardNum(origin));
                return;
            case 3:
                jsonGenerator.writeString(DesensitizedUtils.fixedPhone(origin));
                return;
            case ImagePosition.LEFT /* 4 */:
                jsonGenerator.writeString(DesensitizedUtils.mobilePhone(origin));
                return;
            case 5:
                jsonGenerator.writeString(DesensitizedUtils.address(origin));
                return;
            case 6:
                jsonGenerator.writeString(DesensitizedUtils.email(origin));
                return;
            case 7:
                jsonGenerator.writeString(DesensitizedUtils.bankCard(origin));
                return;
            case ImagePosition.BOTTOM /* 8 */:
                jsonGenerator.writeString(DesensitizedUtils.password(origin));
                return;
            case CharPool.TAB /* 9 */:
                jsonGenerator.writeString(DesensitizedUtils.key(origin));
                return;
            case CharPool.NEWLINE /* 10 */:
                jsonGenerator.writeString(DesensitizedUtils.desValue(origin, this.prefixNoMaskLen.intValue(), this.suffixNoMaskLen.intValue(), this.maskStr));
                return;
            default:
                throw new IllegalArgumentException("Unknow sensitive type enum " + this.type);
        }
    }
 
    public JsonSerializer<?> createContextual(final SerializerProvider serializerProvider, final BeanProperty beanProperty) throws JsonMappingException {
        if (beanProperty != null) {
            if (Objects.equals(beanProperty.getType().getRawClass(), String.class)) {
                Sensitive sensitive = (Sensitive) beanProperty.getAnnotation(Sensitive.class);
                if (sensitive == null) {
                    sensitive = (Sensitive) beanProperty.getContextAnnotation(Sensitive.class);
                }
                if (sensitive != null) {
                    return new SensitiveSerialize(sensitive.type(), Integer.valueOf(sensitive.prefixNoMaskLen()), Integer.valueOf(sensitive.suffixNoMaskLen()), sensitive.maskStr());
                }
            }
            return serializerProvider.findValueSerializer(beanProperty.getType(), beanProperty);
        }
        return serializerProvider.findNullValueSerializer((BeanProperty) null);
    }
}