From 23f189a7d6ac0f23dacae5b0cb69bcd5f5796cfc Mon Sep 17 00:00:00 2001 From: Administrator <1923636941@qq.com> Date: Mon, 24 Apr 2023 17:42:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/util/ReflectionUtil.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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)); }