Browse Source

map中的mobile和idcard打码

release
wangxianzhang 3 years ago
parent
commit
a372b0bd67
  1. 34
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java
  2. 1
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

34
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java

@ -7,6 +7,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import java.lang.reflect.Field;
import java.util.Arrays;
@ -49,11 +50,42 @@ public class MaskProcessor {
((List)object).forEach(e -> mask(e));
return;
} else if (object instanceof Map) {
((Map) object).values().forEach(v -> mask(v));
maskMap((Map) object);
return;
} else if (object.getClass().getName().startsWith(EPMET_PACKAGE_PREFIX)) {
// 自定义bean,走反射
maskEpmetBean(object);
return;
}
}
/**
* 为map打码只打value中的码
* - 如果value是epmet的dto那么去反射它
* - 如果value是字符串那么直接给他打码
* - 如果value是其他类型跳过
* @param map
*/
private void maskMap(Map<Object, Object> map) {
if (CollectionUtils.isEmpty(map)) {
return;
}
for (Map.Entry<Object, Object> entry : map.entrySet()) {
Object value = entry.getValue();
Object key = entry.getKey();
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;
}
}
}

1
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -268,6 +268,7 @@ public class IcResiUserController implements ResultDataResolver {
}
@PostMapping("listresi")
@MaskResponse(fieldNames = { "MOBILE", "ID_CARD" }, fieldsMaskType = { MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD })
public Result<PageData<Map<String, Object>>> queryListResi1(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO) {
//pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
pageFormDTO.setCustomerId(tokenDto.getCustomerId());

Loading…
Cancel
Save