Files
ks/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/AppUserFieldCustomCopy.java
2026-02-04 10:55:14 +08:00

41 lines
1.2 KiB
Java

package com.ruoyi.cms.util;
import com.ruoyi.cms.domain.UserInfoDetail;
import com.ruoyi.common.core.domain.entity.AppUser;
import com.ruoyi.common.utils.StringUtils;
import java.lang.reflect.Field;
import java.util.Objects;
public class AppUserFieldCustomCopy {
private boolean isNull(Object o){
if(Objects.isNull(o)|| StringUtils.isEmpty(o.toString())){
return true;
}else{
return false;
}
}
public AppUser conditionalCopy(AppUser appUser, UserInfoDetail detail) throws IllegalAccessException {
Field[] fields = appUser.getClass().getDeclaredFields();
Field sourceField = null;
Object sourceFieldValue = null;
for (Field field : fields) {
field.setAccessible(true);
if (!isNull(field.get(appUser))){
continue;
}
try {
sourceField = detail.getClass().getDeclaredField(field.getName());
}catch (Exception e){
continue;
}
sourceField.setAccessible(true);
sourceFieldValue = sourceField.get(detail);
field.set(appUser, sourceFieldValue);
}
return appUser;
}
}