添加ocr识别简历

This commit is contained in:
sh
2026-02-04 10:55:14 +08:00
parent 9d0ff4cbf7
commit f7f31ae0fa
10 changed files with 707 additions and 0 deletions

View File

@@ -1,8 +1,14 @@
package com.ruoyi.common.utils.bean;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -107,4 +113,33 @@ public class BeanUtils extends org.springframework.beans.BeanUtils
{
return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX));
}
/**
* 复制属性时忽略空值
* @param dest 目标对象
* @param src 源对象
*/
public static void copyPropertiesIgnoreNull(Object dest,Object src) {
BeanUtils.copyProperties(src, dest, getNullPropertyNames(src));
}
/**
* 获取源对象中值为null的属性名数组
*/
private static String[] getNullPropertyNames(Object source) {
final BeanWrapper src = new BeanWrapperImpl(source);
PropertyDescriptor[] pds = src.getPropertyDescriptors();
Set<String> emptyNames = new HashSet<>();
for (PropertyDescriptor pd : pds) {
// 获取属性值
Object srcValue = src.getPropertyValue(pd.getName());
if (srcValue == null) {
emptyNames.add(pd.getName());
}
}
String[] result = new String[emptyNames.size()];
return emptyNames.toArray(result);
}
}