This commit is contained in:
moxiangrong
2024-02-20 19:33:50 +08:00
parent 9c85524e14
commit 477d29d69f
31 changed files with 246 additions and 83 deletions

View File

@ -0,0 +1,48 @@
package co.yixiang.yshop.framework.desensitize.core.util;
import cn.hutool.core.util.ReflectUtil;
import co.yixiang.yshop.framework.desensitize.core.slider.annotation.MobileDesensitize;
import co.yixiang.yshop.framework.desensitize.core.slider.handler.MobileDesensitization;
import java.lang.annotation.Annotation;
import java.util.List;
/**
* @author pepis
* @apiNote
**/
public class DesensitizeUtil {
public static <T> void mobileDesensitize(List<T> voList, String fieldName) {
MobileDesensitization mobileDesensitize = new MobileDesensitization();
MobileDesensitize desensitize = new MobileDesensitize() {
@Override
public Class<? extends Annotation> annotationType() {
return MobileDesensitize.class;
}
@Override
public int prefixKeep() {
return 3;
}
@Override
public int suffixKeep() {
return 4;
}
@Override
public String replacer() {
return "*";
}
};
voList.forEach(vo -> {
Object value = ReflectUtil.getFieldValue(vo, fieldName);
if (value != null) {
String desensitized = mobileDesensitize.desensitize((String) value, desensitize);
ReflectUtil.setFieldValue(vo, fieldName, desensitized);
}
});
}
}