diff --git a/src/main/java/com/zhgd/xmgl/util/ReflectionUtil.java b/src/main/java/com/zhgd/xmgl/util/ReflectionUtil.java index cce78eac7..34c2cc24c 100644 --- a/src/main/java/com/zhgd/xmgl/util/ReflectionUtil.java +++ b/src/main/java/com/zhgd/xmgl/util/ReflectionUtil.java @@ -1,6 +1,10 @@ package com.zhgd.xmgl.util; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.api.R; +import lombok.Data; +import org.apache.commons.collections.CollectionUtils; +import org.apache.poi.ss.formula.functions.T; import org.springframework.util.ClassUtils; import org.springframework.util.ReflectionUtils; @@ -8,6 +12,7 @@ import java.beans.Introspector; import java.lang.invoke.SerializedLambda; import java.lang.reflect.Field; import java.lang.reflect.Method; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -17,7 +22,10 @@ import java.util.stream.Collectors; /** * 方法引用获取属性名工具类 */ +@Data public class ReflectionUtil { + private String alias; + private List> functions; private static Map, Field> cache = new ConcurrentHashMap<>(); @@ -25,6 +33,20 @@ public class ReflectionUtil { return Arrays.stream(functions).map(ReflectionUtil::getFieldName).collect(Collectors.toList()); } + public static List getFieldNameListWithAlias(List list) { + if (CollectionUtils.isEmpty(list)) { + return null; + } + ArrayList l = new ArrayList<>(); + for (ReflectionUtil reflectionUtil : list) { + for (SerializableFunction function : reflectionUtil.getFunctions()) { + String fieldName = getFieldName(function); + l.add(reflectionUtil.getAlias() + "." + fieldName); + } + } + return l; + } + public static String getFieldNameToUlc(SerializableFunction function) { return StrUtil.toUnderlineCase(getFieldName(function)); }