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);
|
}
|
}
|