From e6b0b2b2799812484aa833ffebd8102053544293 Mon Sep 17 00:00:00 2001 From: zer0Black Date: Fri, 9 Jun 2023 18:48:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=99=A8=EF=BC=8C=E7=88=B6=E7=B1=BB=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/common/system/query/QueryGenerator.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java index af51e21b..94d92fd4 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java @@ -207,7 +207,6 @@ public class QueryGenerator { if (parameterMap != null && parameterMap.containsKey(filedName + BEGIN)) { beginValue = parameterMap.get(filedName + BEGIN)[0].trim(); addQueryByRule(queryWrapper, columnName, type, beginValue, QueryRuleEnum.GE); - } if (parameterMap != null && parameterMap.containsKey(filedName + END)) { endValue = parameterMap.get(filedName + END)[0].trim(); @@ -1075,12 +1074,18 @@ public class QueryGenerator { private static String getTableFieldName(Class clazz, String name) { try { //如果字段加注解了@TableField(exist = false),不走DB查询 - Field field = clazz.getDeclaredField(name); + Field field = null; + try { + field = clazz.getDeclaredField(name); + } catch (NoSuchFieldException e) { + log.error("{}字段无法在当前类找到,将在父类寻找", name); + } + //如果为空,则去父类查找字段 if (field == null) { List allFields = getClassFields(clazz); List searchFields = allFields.stream().filter(a -> a.getName().equals(name)).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(searchFields)){ + if(searchFields!=null && searchFields.size()>0){ field = searchFields.get(0); } } @@ -1088,7 +1093,7 @@ public class QueryGenerator { if (field != null) { TableField tableField = field.getAnnotation(TableField.class); if (tableField != null){ - if(!tableField.exist()){ + if(tableField.exist() == false){ //如果设置了TableField false 这个字段不需要处理 return null; }else{