|
|
@ -13,8 +13,10 @@ import java.lang.reflect.Field; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.regex.Pattern; |
|
|
|
|
|
|
|
/** |
|
|
|
* desc:脱敏处理器 |
|
|
|
*/ |
|
|
|
@Slf4j |
|
|
|
public class MaskProcessor { |
|
|
|
|
|
|
@ -42,20 +44,15 @@ public class MaskProcessor { |
|
|
|
|
|
|
|
if (object instanceof Result) { |
|
|
|
mask(((Result<?>) object).getData()); |
|
|
|
return; |
|
|
|
} else if (object instanceof PageData) { |
|
|
|
mask(((PageData<?>) object).getList()); |
|
|
|
return; |
|
|
|
} else if (object instanceof List) { |
|
|
|
((List)object).forEach(e -> mask(e)); |
|
|
|
return; |
|
|
|
} else if (object instanceof Map) { |
|
|
|
maskMap((Map) object); |
|
|
|
return; |
|
|
|
} else if (object.getClass().getName().startsWith(EPMET_PACKAGE_PREFIX)) { |
|
|
|
// 自定义bean,走反射
|
|
|
|
maskEpmetBean(object); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -77,14 +74,12 @@ public class MaskProcessor { |
|
|
|
if (value != null && value.getClass().getName().startsWith(EPMET_PACKAGE_PREFIX)) { |
|
|
|
// 是epmet的对象
|
|
|
|
maskEpmetBean(value); |
|
|
|
continue; |
|
|
|
} else if (value instanceof String) { |
|
|
|
int index = fieldNames.indexOf(key); |
|
|
|
if (index != -1) { |
|
|
|
String maskResult = maskString((String) value, fieldsMaskType.get(index)); |
|
|
|
entry.setValue(maskResult); |
|
|
|
} |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|