From dfab218c7744a829d2d9ca7ec6362aae1b249803 Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Wed, 7 Apr 2021 16:58:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flyfish/framework/beans/meta/BeanProperty.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanProperty.java b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanProperty.java index 7c19a9d..1880c88 100644 --- a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanProperty.java +++ b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanProperty.java @@ -6,6 +6,7 @@ import com.flyfish.framework.annotations.*; import com.flyfish.framework.domain.base.Qo; import com.flyfish.framework.domain.base.Vo; import com.flyfish.framework.utils.DataUtils; +import com.flyfish.framework.utils.ReflectionUtils; import com.flyfish.framework.utils.StringFormats; import lombok.Data; import lombok.val; @@ -121,6 +122,10 @@ public class BeanProperty { } break; case LIST: + // 是附件,展现附件列表 + ReflectionUtils.getGenericType(descriptor.getPropertyType()) + .filter(property::isAttachment) + .ifPresent(item -> property.prop("attachment", true)); if (null != field) { if (field.isAnnotationPresent(SubBean.class)) { // 尝试获取泛型参数,存在时,赋值子表单 @@ -142,7 +147,7 @@ public class BeanProperty { // 当存在db-ref时,解析为动态数据源 Optional optional = processDbRef(clazz); if (optional.isPresent()) { - if ("Attachment".equals(descriptor.getPropertyType().getSimpleName())) { + if (property.isAttachment(descriptor.getPropertyType())) { property.prop("attachment", true); } else { property.prop("uri", optional.get()); @@ -256,4 +261,8 @@ public class BeanProperty { props.put(key, value); return this; } + + private boolean isAttachment(Class clazz) { + return "Attachment".equals(clazz.getSimpleName()); + } }